loop

1
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 Play ByeongChan 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 w ave data into numerical value. ▪ Left image is a w ave played be Vilon cello. ▪ It consists of 1 s t , 2 nd , 3 rd .. wave f orm. ▪ 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 1 st , 2 nd , 3 rd … 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/s ound.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 waveI nOpen 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.

Upload: linnea

Post on 09-Jan-2016

36 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Loop

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.