Pitch estimation in polyphonic music signals
Lim, Dannel Khye Hsen
Date of Issue2017-05-16
School of Electrical and Electronic Engineering
Pitch estimation of polyphonic music signals is the ability to identify the fundamental frequencies of the musical notes that exist in the signal. For this study, Matlab will be used to formulate a simple algorithm for the purpose of identifying chord tones that are played on the electric guitar. Chord tones are polyphonic music signals that contain three or more notes played simultaneously. Past studies done on pitch estimation have used pitch detectors such as: Energy based, Cepstral based, zero crossing, pitch in the difference function and autocorrelation based. However, many were limited when it came to noisy signals. This was more evident when it came to music signals as each music signal not only contained the note’s fundamental frequencies, but also their harmonic frequencies, or overtones, the timbre that gives each instrument their characteristic sound. At times, these harmonic frequencies will overlap with the fundamental frequencies and that causes confusion as to whether the detected frequency is the harmonic frequency or the fundamental frequency. Pitch detectors also do not work very well when it comes to polyphonic signals due to the presence of multiple fundamental frequencies. Moreover, there has not been a specific study done on Matlab for music chord identification using polyphonic music signals. There has, however, been research on the extraction of the frequency features of signals via various methods such as Pitch Class Profiles and chord identification via Chord Type Templates. For this algorithm, a variation of techniques inspired by the above methods, is used to achieve the desired results. In this study, the frequencies of each music signal is analyzed via a power spectral density estimate using fast Fourier transform. Extracted frequencies are then compared with an existing database to determine the identity of the notes. With these identified notes, one can then find the chord of the music signal played. The algorithm will be tested against real world guitar samples of various music chords to determine its effectiveness. Real world results returned a hundred percent success for Major and Minor Chords as well as only failing in the detection of three chords in the Augmented Chords section. However, the algorithm was not successful in identifying more than fifty percent of Dominant 7th chords. For future studies, the database of guitar chords can be expanded so as to further test the algorithm with more diverse chord types. The algorithm can also be customized to facilitate it’s use against a more diverse range of instruments. All that is needed is for the database of notes and chords to be upgraded to include the frequencies of the playable range of the selected instruments.
Final Year Project (FYP)
Nanyang Technological University