<< Chapter < Page | Chapter >> Page > |
Each “module” discussed on this page and the next is a different function in MATLAB.
The method of music transcription is divided into different modules, called by a top module when necessary. First of all, we will need to calculate the reassigned spectrogram using a separate module. The output of the frequency reassignment module is a matrix with n columns and m rows. The columns represent the different time instants and the rows represent the different frequencies, both positive and negative. Each element in the matrix corresponds to the magnitude at that specific frequency at that specific time instant. The code for calculating reassigned spectrograms comes from the Time-Frequency Toolbox for MATLAB created by Patrick Flandrin and Francois Auger.
On the top module, all other modules are called and several other functions are made. First we will call the frequency reassignment function to calculate the reassigned matrix of our input signal (the song). Once we have obtained the matrix, we need to get rid of all negative frequencies (since we only need to analyze the positive ones to determine the note). We do this by using a Hilbert transform, which is basically a filter that only passes positive frequencies. The matrix is now ready to be analyzed.
Fig. 1 A Hilbert Transform eliminates the negative frequency component
Notification Switch
Would you like to follow the 'Music transcription through frequency reassignment' conversation and receive update notifications?