Presentation is loading. Please wait.

Presentation is loading. Please wait.

Pitch Recognition with Wavelets 1.130 Final Presentation by Stephen Geiger.

Similar presentations


Presentation on theme: "Pitch Recognition with Wavelets 1.130 Final Presentation by Stephen Geiger."— Presentation transcript:

1

2 Pitch Recognition with Wavelets 1.130 Final Presentation by Stephen Geiger

3 What is pitch recognition? Well, what is pitch?... How HIGH or LOW a sound is Which note? Perceived Frequency

4 Relationship Between Pitch and Frequency Pitch Fundamental Frequency

5 For Example: For Middle C: Frequency = 262 Hz MATLAB CODE: fs = 22050; % Sampling Frequency. f = 262; % Fundamental Freq of Middle C. t=0:1/(fs):1; % Time range of 0 to 1 seconds. sound(cos(2*pi*f*t)/2,fs); % Make some noise!

6 For an A Scale: E = 220*2^(7/12) = 330 Hz F = 220*2^(8/12) = 349 Hz F#= 220*2^(9/12) = 370 Hz G = 220*2^(10/12)= 392 Hz G = 220*2^(11/12)= 415 Hz A = 220*2^(12/12)= 440 Hz A = 220*2^(0/12)= 220 Hz A#= 220*2^(1/12)= 233 Hz B = 220*2^(2/12)= 247 Hz C = 220*2^(3/12)= 262 Hz C#= 220*2^(4/12)= 277 Hz D = 220*2^(5/12)= 294 Hz D#= 220*2^(6/12)= 311 Hz

7 An Octave Up: For C5: Frequency = 524 Hz MATLAB CODE: fs = 22050; % Sampling Frequency. f = 524; % Fundamental Freq of C5. t=0:1/(fs):1; % Time range of 0 to 1 seconds. sound(cos(2*pi*f*t)/2,fs); % Make some noise!

8 A Sum with 2 Frequencies: MATLAB CODE: fs = 22050; % Sampling Frequency. f1 = 262; % Fundamental Freq of Middle C. f2 = 524; % Fundamental Freq of C5. t=0:1/(fs):1; % Time range of 0 to 1 seconds. sound((cos(2*pi*f1*t)+... 0.25*cos(2*pi*f2*t))/2,fs); Frequency = 262 Hz and Frequency = 524 Hz

9 Freq in a Piano - Middle C Frequency, Hz

10 FFT of a Oboe Middle C Frequency, Hz

11 Mono vs. Poly Monophonic one note at a time (e.g. trumpet) Polyphonic multiple notes at a time (e.g. piano, orchestra) Creates a problem for pitch recognition. (especially octaves!)

12 Some Existing Methods Time Domain – Pitch Period estimation With wavelets. With auto-correlation function. Freq. Domain – Find Fundamental Auditory Scene Analysis Blackboard Systems Neural Networks Perceptual Models

13 What applications are there? Transcription of Music Modeling of Musical Instruments Speech Analysis Besides its an Interesting Problem

14 My Work...

15 A Novel Wavelet Approach For a piano playing these notes, a CWT could be used to identify a ‘G’ with certain scale/wavelet combinations. Even with some polyphony ! Based on an observation made by Jeremy Todd, that:

16 Finding a G in a C Scale Original Signal CWT @ Specific “Scale”

17 The Continuous Wavelet Transform Definition of a CWT: Where: a = scaling factor b = shift factor f(t) = function we start with  (t) = Mother wavelet

18 What is Scale? LOW SCALE Compressed Wavelet Lots of Detail High Frequency (You are here)(And here) HIGH SCALE Stretched Wavelet Coarse Features Low Frequency

19 Gaussian 2 nd Order Wavelet

20 Initial Work Took an empirical approach. Ran a number of CWT’s at varying scale, and looked at the results. Picked out a CWT scale for each note in the C scale.

21 Finding Notes in a C Scale Scale: 594 530 472 446 394 722 642 606 Original

22 Finding Notes w/ Polyphony Scale: 594 530 472 446 394 722 642 606 Original

23 More Complex Polyphony Original Scale: 594 530 472 446 394 722 642 606

24 Testing with different timbre Scale: 594 530 472 446 394 722 642 606 Original

25 Why does this work? The scale parameter in the CWT affects frequency response. However, our “scales” that work don’t seem to follow a clear pattern.

26 Training Algorithm Again, took an empirical approach. Ran CWT’s at varying scales, on sample files containing one note. Picked out scales, where: maximum of the CWT for one note >> other notes (and collected results).

27 Results of Training Algorithm...

28 Longer C Scale – Trained on 3 Octaves of Notes

29 A Fragment by Chopin* *From Right Hand of Prelude in C, Op. 28 No. 1

30 Training on a ‘Real’ Guitar Only able to find 5 of 8 pitches for C Scale training case. (With limited attempt). Results on a test file were not completely accurate. Expected to be a more difficult case than a piano. Could merit a more thorough try.

31 Entire 88 K on a P Work in progress. It takes a long time to run many CWT’s on 88 different sound files. Initial results able to identify notes 70-88.

32 Frequency Response Revisited Frequency Response of a 2 nd Order Gaussian Wavelet

33 Resulting Scales for 22 Piano Notes SCALE NOTE NUMBER

34 Resulting Scales for 8 Sinusoidal Notes SCALE NOTE NUMBER

35 Conclusions The novel wavelet approach isn’t perfect. Requiring “training” is a handicap. Most likely not suited to sources with varying timbre. (e.g. guitar, voice) Some interesting results. The mechanism of detection could be further investigated and better understood.


Download ppt "Pitch Recognition with Wavelets 1.130 Final Presentation by Stephen Geiger."

Similar presentations


Ads by Google