Macroscopic View
General-View Block Diagram |
---|
This project attempts (and, for the most part, succeeds) to identify a single instrument lost among a barrage of other instruments. More than that, it attempts to identify which sequence of notes the instrument is playing, the volume at which it plays them and the duration of time for which the instrument plays.
The theory is relatively simple (indeed, we learned it in an introductory course). For the instrument recognition to work, we must first have a sample of that instrument playing. Ideally, we would need only one sample from which we could derive all the others using the one-dimensional application of a Mellin-Fourier transform. Considerations of time, however, caused us to forgo this option. We instead approached the collection of samples as a good communist would; with great emphasis on labor. For the purposes of this project, 33 samples (i.e. notes) of a clarinet playing were recorded.
Each of these samples was then matched against the inputted waveform to measure correlation. The algorithm for accomplishing this task is as follows:
Correlation Algorithm
- If it is too large, "chop" the inputted waveform (henceforth referred to as "signal," an all-encompassing term) into smaller, easier-to-handle chunks.
- Input each of those chunks into a program which takes the Fourier transform of both the signal and the samples, multiplies them, and then inverts them back into the time-domain (i.e. convolves the two signals).
- Based on various thresholds and numerous considerations, choose the sample which most closely matches the signal (i.e. read off the highest peak and assign it a value; if that value is high enough, select it as the representative sample).
- Output the data in a user-friendly fashion.
1 comments:
Can anyone help me? i need program code for music note recognition or music note tuner ... really need help on this where the matlab programme code is able to read the note that i play on for example guitar or piano or violin?
this is very important for me .. i hope you will reply soon
Post a Comment