# Chord Recognition Based on Temporal Correlation Support Vector Machine
## 2 Related Work  
PCP is also called the chroma vector, which is often a 12-dimensional vector whereby each component represents the spectral energy or salience of a semi-tone on the chromatic scale regardless of the octave. The computation of the chroma representation of an audio recording is typically based either on the short-time Fourier transform (STFT) in combination with binning strategies [18; 25; 26; 27] or on the constant Q transform [3; 6; 15; 28; 29]. The succession of these chroma vectors over time is often called the chromagram and this forms a suitable representation of the musical content of a piece. Many features have been used for chord recognition including non-negative least squares [30], chroma DCT (Discrete Cosine Transform)-reduced log pitch (CRP) [31], loudness-based chromagram (LBC) [22], and Mel PCP (MPCP) [32]. In [1], [PERSON] developed a real-time chord recognition system using a 12-dimensional pitch class profile derived from the discrete Fourier transform (DFT) of the audio signal, and performed pattern matching using binary chord-type templates. [PERSON] [6] introduced a new input feature called the enhanced pitch class profile (EPCP) using the harmonic product spectrum. [PERSON] and [PERSON] [33] used harmonic pitch class profile (HPCP) as the feature vector, which is based on [PERSON]'s PCP, and correlated it with a chord or key model adapted from [PERSON]'s cognitive study. Variants of the pitch class profile (PCP) first introduced by [PERSON] (1999) [1] address the potentially negative influences of percussion [2], mistuning [3; 4], harmonics [5; 6; 7] or timbre dependency [5; 8]. In addition to these factors, we explore ways to attenuate the influence of the singing voice. [PERSON] introduced an additional pre-processing step for main melody attenuation [34]. To attenuate the negative influence of singing voices, we consider the amplitude similarity of neighborhood musical frames belonging to the same chord and obtain the enhanced PCP. Adding a pre-processing step consisting of robust principal component analysis (RPCA), we expect the low-rank matrix to contain the musical accompaniment and the sparse matrix to contain the vocal signals. Then, the low-rank matrix can be used to calculate the features. The pre-processing considers the temporal correlations of music. The two most popular chord estimation methods are the template-based model and the hidden Markov model. For the audio chord estimation task of MIREX 2013 and 2014, one of the most popular methods is HMM [35; 36; 37; 38; 39; 40; 41]. A binary chord template with three harmonics was also presented [42]. Template-based chord recognition methods use the chord definition to extract chord labels from a musical piece. Neither training data nor extensive music theory knowledge is used for this purpose [43]. To smooth the resulting representation and exploit the temporal correlation, low-pass and median filters are used to filter the chromagram in the time domain [10]. The template-based method only outputs fragmented transcriptions without considering the temporal correlations of music. The HMM can model sequences of events in a temporal grid considering hidden and visible variables. In the case of chord recognition, the hidden states correspond to the real chords that are being played, while the observations are the chroma vectors. In [35], [PERSON] and [PERSON] use a K-stream HMM which is then decoded using the standard Viterbi algorithm. [PERSON] and [PERSON] also use a multi-stream HMM, but the feature is a time-frequency reassignment spectrogram [36], [PERSON] and [PERSON] present a chord estimation method based on the combination of a neural network and an HMM [40]. In [39], the probabilities of the HMM are not trained through expectation-maximization (EM) or any other machine learning technique, but are instead derived from a number of knowledge-based sub-models. [PERSON] and [PERSON] proposed a harmony progression HMM topology that consists of three hidden and two observed variables [37].