DOC PREVIEW
MIT 6 111 - iSing Voice Harmonizer

This preview shows page 1 out of 4 pages.

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

Unformatted text preview:

6.111 Final Project ProposaliSing Voice HarmonizerCyril Lan, Jessie Li, Darren YinNovember 9, 20091 Overall System DescriptionOur basic system consists of three main components: pitch detection of the sung note using a FFT, pitchshifting the note several times to match each of the keyboard inputs, and adding the pitch shifted signalsinto one signal that is sent to the speakers. A block diagram of our system is in Figure 1.When the user presses x keys simultaneously on the keyboard, the channel controller updates a memory thatstores all possible midi frequencies. The CPU reads from the memory and sends the pressed midi frequenciesto the pitch shifter module one at a time. The pitch shifter module uses this midi frequency as the targetfrequency to shift to and uses the data from the forward FFT to pitch shift the true frequencies of the sungnote. The pitch shifter module then sends the pitch shifted frequencies to the FFT module which performsan inverse FFT to create the time domain signal. The CPU controls when the Adder should add up all thetime domain signals.2 Description of Each Module2.1 FFT (Cyril)The FFT module uses a butterfly circuit to implement the Discrete FFT. We plan to reuse the FFT moduleto perform both the forward and inverse FFT. To accomplish that, we will have the FFT module take aselector bit for whether to perform a forward or reverse transform. When the FFT is processing inputfrom the microphone, the selector bit will be low, and the FFT will transform from the time domain to thefrequency domain. When the FFT is processing input from the pitch shifter, the selector bit will be high,and the FFT will transform from the frequency domain to the time domain.The frame size and frame offset of the FFT will be determined based on how much frequency domainresolution we require and how quickly the FFT can be performed.A memory module will be used to store output from the FFT module. The memory module will also serve asthe input from the FFT to the pitch shifter module. The FFT will serially write data to the memory module,and the pitch shifter will serially read data from the module. Read and write phases will be controlled bythe CPU.The module will be tested first on signals with known frequency such as a simple sine wave and then will betested on more complex signals with variable frequencies.1Figure 1: Block diagram of entire system2.2 Channel Controller (Darren)The Channel Controller Module takes as input the keyboard midi inputs and writes to a memory with thenumber of locations equal to the number of keys on the keyboard. If the key corresponding to a particularmidi frequency is pressed, there is a 1 in the memory slot. Otherwise, there is a 0.We plan to test the channel controller by playing a series of keys on the keyboard and viewing the contentsof the memory using a logic analyzer.22.3 Pitch Shifter (Jessie)The pitch shifter module takes as inputs the target pitch from the channel module, the microphone signal,the frequency, magnitude, and phase outputs from the FFT, and returns as output a shifted signal.The pitch shifter uses the short time fourier transform which breaks up the time domain signal into differentframes and applies the DFT to each frame. From the DFT, we obtain a series of discrete frequencies knownas bin frequencies, and each frequency has a corresponding magnitude and phase.If we think of our time domain signal as a sum of partial sinusoids of different frequencies, we need to findsome way of obtaining the frequencies of these sinusoids using the bin frequencies, magnitudes, and phases.If a partial sinuosoid has a frequency that is different from a bin frequency, a phase offset may result fromone frame to the next. This phase offset information allows us to compute the true frequency of the partialsinusoid using the following formulaFi=RN(i + PiS2π) (1)R is the sampling rate of the signal; N is the DFT frame size in number of samples, S is the overlap factorwhich tells to what extent two successive frames overlap, Piis the phase of bin i and Fiis the true frequencyfor the ith partial sinusoid. Overlapping frames is necessary because we want to have a wide range overwhich the true frequency of each partial sinusoid can vary. A typical overlap factor is at least 4, which meansthat two frames overlap by at least 75%.Once we obtain the true frequencies of each of the partial sinusoids, we simply multiply each true frequencyby a pitch-shift factor to obtain the pitch-shifted frequencies. We then synhesize the real and imaginaryparts of the fourier coefficients. Finally, we apply the inverse DFT to construct the partial sinusoids, andwe add them together to obtain our pitch shifted time domain signal. A diagram of the main logic pieces ofour module is in Figure 2.The pitch shifter will primarily be tested in Modelsim on mock inputs and later tested on real inputs duringintegration testing.2.4 CPU (All of us)The CPU is the main FSM that controls all of the slave modules such as the fft and the pitch shifter. TheCPU reads from the midi frequency memory and sends the midi frequency to the pitch shifter. The CPUalso controls when the adder should add up all of the time domain signals from the FFT.2.5 Adder (Darren)The Adder module takes as input the time domain signals from the FFT module when it’s in inverse modeand combines them into one signal when the CPU sends the Adder an enable signal.The Adder module will be tested in Modelsim and later integrated into the system.3 List of Parts• Microphone3Figure 2: Block Diagram of Pitch Shifter• Microphone stand• Speakers•


View Full Document

MIT 6 111 - iSing 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 iSing 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 iSing 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 iSing 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?