DOC PREVIEW
MIT 6 111 - Voice Harmonizer

This preview shows page 1-2-3-26-27-28 out of 28 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 28 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

6.111 Final Project ReportiSing Voice HarmonizerCyril Lan, Jessie Li, Darren YinDecember 10, 2009AbstractOur project is a voice harmonizer which detects the frequency of a sung note and pitch shifts the noteto match the keys played on a keyboard. A 2048 point FFT was implemented for pitch detection, apitchshifter module was written for pitch shifting, and a central CPU was written to control the flow ofdata between modules. Due to hardware constraints and lack of time, the system was not functional as awhole. However, the FFT module was able to correctly detect pitch, the keyboard inputs were properlyconverted to midi frequencies, and the pitchshifter was able to shift a 750 Hz tone up an octave withsome added noise.1Contents1 Overview 32 Description of Each Module 32.1 Fast Fourier Transform (Cyril) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.1 Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.2 Data Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.3 The Cooley-Tukey Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.4 FFT BRAM memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.5 FFT Addresser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.6 Sine/Cosine Lookup Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.7 Butterfly Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.8 FFT Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Pitch Detector (Cyril) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Keyboard Controller (Darren) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Pitch Shifter (Jessie) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 CPU (Darren) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Testing and Debugging 93.1 FFT Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Pitchshifting Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.3 CPU and Keyboard Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Conclusion 115 Appendices 115.1 FFT Main Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115.2 FFT Controller Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.3 FFT Addresser Module with bit operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.4 FFT Butterfly Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.5 Pitchshifter Software Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.6 Pitchshifter Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.7 Main FSM Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24List of Figures1 Block diagram of entire system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Diagram of butterfly calculations for a 16-pt FFT . . . . . . . . . . . . . . . . . . . . . . . . . 53 Block diagram of Pitchshifter Module . . . . . . . …


View Full Document

MIT 6 111 - Voice Harmonizer

Documents in this Course
Verilog

Verilog

21 pages

Video

Video

28 pages

Bass Hero

Bass Hero

17 pages

Deep 3D

Deep 3D

12 pages

SERPENT

SERPENT

8 pages

Vertex

Vertex

92 pages

Vertex

Vertex

4 pages

Snapshot

Snapshot

15 pages

Memories

Memories

42 pages

Deep3D

Deep3D

60 pages

Design

Design

2 pages

Frogger

Frogger

11 pages

SkiFree

SkiFree

81 pages

Vertex

Vertex

10 pages

EXPRESS

EXPRESS

2 pages

Labyrinth

Labyrinth

81 pages

Load more
Download Voice Harmonizer
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Voice Harmonizer and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Voice Harmonizer 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?