Download presentation

Presentation is loading. Please wait.

Published byMadison Philippa Waters Modified over 4 years ago

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.

Similar presentations

© 2020 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google