loop
DESCRIPTION
Introduction. Fourier Transformation. Finding Right Peak Algorithm. Wave Handling in Windows. Result. Start. Prepare Structure. WAVEFORMATEX. Function call. waveInOpen(). Prepare Structure. WAVEHDR structure. Loop. CALLBACKFUCTION. Function call. waveInPrepareHeader() - PowerPoint PPT PresentationTRANSCRIPT
Loop
Function call
Window Calls CALLBACK
Function call
Prepare Structure
Prepare Structure
Function call
waveInOpen()
waveInPrepareHeader()waveInAddBuffer()
WAVEFORMATEX
WAVEHDR structure
CALLBACKFUCTION
waveInReset()waveInClose()
End
Start
Catching Note in Guitar Solo PlayByeongChan Gwak(Assistant : Jiho Yoo)
Advised by Prof. Seungjin Choi
Finding Right Peak Algorithm
Result
Introduction
Wave Handling in Windows
Fourier Transformation
▪ TAB is a music score for guitar.
▪ Drawing TAB is too troublesome work.
▪ Is there any way to draw TAB automatically?
-> Yes, there will be a better solution!
▪ We need a tool which can convert wave data into numerical value.
▪ Left image is a wave played be Viloncello.
▪ It consists of 1st, 2nd, 3r
d .. wave form.
▪ Right image shows each wave form which can be drawn by original wave data.
▪ Left image shows the amplitudes corresponding wave form
▪ Left image is the FFT result of ‘Guitar A note’.
▪ We can find the first frequency from it!!
▪ If we add the 1st, 2nd, 3rd … wave data, we can rebuild the original wave.▪ Therefore, If we can find out the first frequency, we can find the right note!
▪ Fourier Transformation convert the wave data’s time domain into frequency domain.
▪ Playing the guitar and the program will find the right note!
References ▪ http://www.basso-continuo.com/Musik/Dok024-k.htm
▪ http://www.borg.com/~jglatt/tutr/notefreq.htm
▪ http://www.relisoft.com/Science/Physics/sound.html
▪ Wave Recording and Wave Playing is almost the same, therefore Wave Recording will be handled here.
▪ The most important thing in wave handling is the CALLBACK Function.
▪ Windows automatically call the CALLBACK function when it fill the wave bucket.
▪ The CALLBACK function cab be specified by calling waveInOpen function.
▪ Part 2 - Remove Noise #1
▪ Part 3 – Remove Noise #2
▪ Part 1 - Finding Peak
Using skew, find the high peaks in the FFT result.
There would be noise peaks after Part 1, try to remove them if a peak do not has a skew as high as the fifth peak’s skew.
There would be noise peaks after Part 2, try to remove them whose amplitudes are lower than the neighbor peak.