# Data-driven audio recognition: a supervised dictionary approach

Imad Rida
Laboratoire BMBI Compiègne
Université de Technologie de Compiègne
Compiègne, France

###### Abstract

Machine hearing or listening represents an emerging area. Conventional
approaches rely on the design of handcrafted features specialized to a
specific audio task and that can hardly generalized to other audio fields.
Unfortunately, these predefined features may be of variable discrimination
power while extended to other tasks or even within the same task due to
different nature of clips. Motivated by this need of a principled framework
across domain applications for machine listening, we propose a generic and
data-driven representation learning approach. For this sake, a novel and
efficient supervised dictionary learning method is presented. Experiments are
performed on both computational auditory scene (East Anglia and Rouen) and
synthetic music chord recognition datasets. Obtained results show that our
method is capable to reach state-of-the-art hand-crafted features for both
applications

_K_ eywords Audio $\cdot$ Dictionary learning $\cdot$ Music $\cdot$ Scene

Humans have a very high perception capability through physical sensation,
which can include sensory input from the eyes, ears, nose, tongue, or skin. A
lot of efforts have been devoted to develop intelligent computer systems
capable to interpret data in a similar manner to the way humans use their
senses to relate to the world around them. While most efforts have focused on
vision perception which represents the dominant sense in humans, machine
hearing also known as machine listening or computer audition represents an
emerging area [1].

Machine hearing represents the ability of a computer or machine to process
audio data. There is a wide range variety of audio application domains
including music, speech and environmental sounds. Depending on the application
domain, several tasks can be performed such as, speech/speaker recognition,
music transcription, computational scene auditory recognition, etc (see Table
1).

Table 1: Machine hearing tasks based on different application domains

Tasks Domains |  Environnemental |  Speech |  Music
---|---|---|---
Description |  Environment |  Emotion |  Music Recommendation
Classification |  Computational Auditory Scene Recognition |  Speech or Speaker Recognition |  Music Transcription
Detection |  Event Detection |  Voice Activity Detection |  Music Detection

In this chapter, we are interested in the classification of audio signals in
both environmental and music domains and more particularly, Computational
Auditory Scene Recognition (CASR) and music chord recognition. The former
refers to the task of associating a semantic label to an audio stream that
identifies the environment in which it has been produced while the second task
aims to recognize music chords that represent the most fundamental structure
and the back-bone of occidental music.

In the following we briefly review different approaches for audio signal
classification. A novel method able to learn the discriminative feature
representations will be introduced. Extensive experiments will be performed on
CASR and music chord benchmark databases and results will be compared to
conventional state-of-the-art hand-crafted features.

##  1 Problem statement

The problem of audio signal classification is now becoming more and more
frequent, ranging from speech to non-speech signal classification. The usual
trend to classify signals is first to extract discriminative feature
representations from the signals, and then feed a classifier with them.
Features are chosen so as to enforce similarities within a class and
disparities between classes. The more discriminative the features are, the
better the classifier performs.

For each audio signal classification problem, specific hand-crafted features
have been proposed. For instance, chroma vectors represent the dominant
representation which has been developed in order to extract the harmonic
content from music signals for different applications [2, 3, 4, 5, 6, 7, 8,
9].

In audio scene recognition, recorded signals can be potentially composed of a
very large amount of sound events while only few of these events are
informative. Furthermore, the sound events can be from different nature
depending on the location (street, office, restaurant, train station, etc). To
tackle this problem, features such as Mel-Frequency Cepstral Coefficients
(MFCCs) [10, 11, 12, 13, 14, 15] have been successfully applied and combined
with different classification techniques [16, 17].

These predefined features may be of variable discrimination power according to
the signal nature and learning task if they are extended to other application
domains. For this reason machine hearing systems should be able to learn
automatically the suited feature representations. Time-frequency features have
shown good ability to represent real-world signals [18] and methods have been
designed to learn them. They can be broadly divided into four main approaches
[19]: wavelets, Cohen distribution design, dictionary and filter banks
learning summarized in Table 2.

Table 2: Non exhaustive time-frequency representation learning for classification [19]. Approach | Methods
---|---
|  • [20]
• Wavelets |  • [21]
|  • [22]
• Cohen Distribution |  • [18]
|  • [23]
• Dictionary |  • [24]
|  • [25]
• Filter Bank |  • [26]
|  • [19]

Wavelets showed very good performance in the context of compression [27, 28]
where one minimizes the error between the original and approximate signal
representation. While the latter may be a salutary goal, it does not well
address the classification problems. [20] suggested a classification-based
cost function maximizing the minimum probability of correct classification
along the confusion-matrix diagonal. This cost function is optimized using a
genetic algorithm (GA) [29]. [21] tried to tune their introduced wavelet by
maximizing the distance in the wavelet feature space of the means of the
classes to be classified. This is done by constructing a shape-adapted Local
Discriminant Bases (LDBs) called also morphological LDBs (MLDBs) as an
extension of LDBs [30]. In other words they aim to select bases from a
dictionary that maximize the dissimilarities among classes. [22] tried to
learn the shape of the mother wavelet, since classical wavelet such as Haar,
or Daubechies ones may not be optimal for a given discrimination problem.
Then, the best wavelet coefficients that are useful for the discrimination
problem are selected. Features obtained from different wavelet shapes and
coefficient selections were combined to learn a large-margin classifier.

In the Cohen distribution design, [18] proposed to use a Support Vector
Machine (SVM) of the Cohen’s group Time-Frequency Representations (TFRs). The
main problem is that the classification performance is depending on the choice
of TFR and SVM kernel respectively. To tackle this problem, they presented a
simple optimization procedure to determine the optimal SVM and TFR kernel
parameters. [23] proposed a method for selecting Cohen class time-frequency
distribution appropriate for classification tasks based on the kernel-target
alignment [31].

Motivated by their success in image denoising [32, 33] and inpainting [34],
dictionary learning was further extended to classification tasks. It consists
in finding a linear decomposition of a raw signal or potentially its time-
frequency representation using a few atoms of a learned dictionary. While
conventional dictionary learning techniques tried to minimize the signal
reconstruction error, [24, 35] introduced supervised dictionary by embedding a
logistic loss function to simultaneously learn a classifier, the dictionary
$\mathbf{D}$ and the decomposition coefficients of the signals over
$\mathbf{D}$. [25] introduced a dictionary learning method by adding a
structured incoherence penalty term to learn $C$ dictionaries for $C$ classes
while enforcing incoherence in order to make these dictionaries as different
as possible.

In the filter bank approach, [26] designed a method named Discriminative
Feature Extraction (DFE) where both the feature extractor and classifier are
learned with the objective to minimize the recognition error. The designed
feature extractor is a filter bank where each filter’s frequency response has
a Gaussian form determined by three kinds of parameters (center frequency,
bandwidth, and gain factor). The classifier was defined as a prototype-based
distance [36]. [19] proposed to build features by designing a data-driven
filter bank and by pooling the time-frequency representations to provide time-
invariant features. For this purpose, they tackled the problem by jointly
learning the filters of the filter bank with a support vector machine. The
resulting optimization problem boils down to a generalized version of a
Multiple Kernel Learning (MKL) problem [37].

It can be seen that methods among, wavelets, Cohen distribution and filter
bank approaches, solely seek to find a suitable time-frequency feature
representation for signal classification. Although time-frequency
representations showed efficiency to classify temporal signal (audio,
electroencephalography, etc), there is no effectiveness guarantee for all type
of signals. On the other side, dictionary learning can be combined with any
initial feature representation and hence may have the ability and flexibility
to deal with signals from different nature. Indeed, supervised dictionary
learning can be seen as task-driven approach for learning discriminative
representations.

In this chapter, based on an initial time-frequency representation, the
problem of signal audio recognition is formulated as a supervised dictionary
learning problem. The resulting optimization problem is non-convex and solved
using a proximal gradient descent method. In the following we introduce our
representation learning method based on dictionary learning as well as the
performed experiments on both music chord recognition and computation auditory
scene recognition databases.

##  2 Dictionary learning for audio signal classification

Sparse representation of signals and images has known a big interest from
researchers in order to analyze, extract or select features. A "sparse
representation" means that a signal or image can be represented as a linear
combination of few representative elements, called dictionary atoms. The main
challenge of the sparse representation is the choice of the dictionary on
which the signal will be represented and the sparsity type. The simplest
approach to tackle this problem is to take predefined dictionary such as
wavelet analysis, Gabor atoms or Discrete Cosine Basis, but this will give us
no guarantee that these predefined dictionaries will be able to represent and
extract useful information for the problem in question.

Alternative approach is to learn the suited set of atoms from the data. From
the view of compression sensing, dictionary learning is originally designed to
learn an adaptive codebook to faithfully represent the signals with sparsity
constraint. Dictionary learning has been applied for different applications
such as image denoising [32, 38], inpainting [34, 38], clustering [39, 40] and
classification [41, 24, 35, 42, 43, 44, 45, 46, 47, 48].

In the following we review the conventional dictionary learning based on a
single dictionary and the different approaches to build supervised dictionary
for classification. We also introduce our class based dictionary learning
method.

###  2.1 Conventional dictionary learning

Let suppose a dictionary $\mathbf{D}\in\mathbb{R}^{M\times K}$ composed of $K$
atoms $\\{\mathbf{d}_{k}\in\mathbb{R}^{M}\\}_{k=1}^{K}$. We seek a sparse
representation $\mathbf{a}_{n}\in\mathbb{R}^{K}$ of a signal
$\mathbf{x}_{n}\in\mathbb{R}^{M}$ over $\mathbf{D}$ such as:

$\mathbf{x}_{n}\approx\sum_{k=1}^{K}a_{nk}\mathbf{d}_{k}=\mathbf{D}\mathbf{a}_{n}$
(1)

Given a set of $N$ signals $\\{\mathbf{x}_{n}\\}_{n=1}^{N}$, the coefficients
of $\mathbf{a}_{n}$ as well as the dictionary $\mathbf{D}$ are obtained by
solving the following optimization problem:

$\left\\{\begin{array}[]{ll}\displaystyle\min_{\mathbf{D},\\{\mathbf{a}_{n}\\}_{n=1}^{N}}\sum_{n=1}^{N}\left\|\mathbf{x}_{n}-\mathbf{D}\mathbf{a}_{n}\right\|_{2}^{2}+\lambda\left\|\mathbf{a}_{n}\right\|_{1}\\\
&\\\ \displaystyle\hskip 11.38092pt\mbox{s.t}\hskip
14.22636pt\left\|\mathbf{d}_{k}\right\|_{2}^{2}\leq 1\hskip 14.22636pt\forall
k=1,\cdots,K\end{array}\right.$ (2)

It can be seen that the original formulation for dictionary learning is based
on the minimization of the reconstruction error between a signal and its
sparse representation over the learned dictionary. Although this formulation
is optimal for solving problems such as denoising and inpainting, it may not
lead to optimal solution in classification tasks, where the ultimate goal is
to make the learned dictionary and corresponding sparse representation as
discriminative as possible since it does not take the label information in
consideration. This motivated the emergence of supervised dictionary learning
techniques [49, 50, 51].

###  2.2 Supervised dictionary learning

Supervised dictionary learning can be organized in six main groups [52]:
learning one dictionary per class, unsupervised dictionary learning followed
by supervised pruning, joint dictionary and classifier learning, embedding
class labels into the learning of dictionary, embedding class labels into the
learning of sparse coefficients and learning a histogram of dictionary
elements over signal constituents. In the following we briefly introduce these
approaches as well the main works belonging to them. Note that the advantages
and drawbacks of each approach are summarized in Table 3.

####  2.2.1 Learning one dictionary per class

The first and simplest approach is to compute one dictionary per class, i.e.,
using the training samples of each class, a dictionary is constructed. The
overall dictionary is obtained by the concatenation of individual class
dictionaries. In this framework, [53] proposed the so-called Sparse
Representation-based Classification (SRC), where training samples of each
class serve as dictionary. The sparse representation of a testing sample over
each dictionary is calculated based on Lasso. The test sample is then assigned
to class label which dictionary provides the minimal residual reconstruction
error. [54], instead to use dictionaries based on training samples proposed to
learn a dictionary per class based on the conventional approach (2). Although
this approach can be potentially performing, learned dictionaries can capture
similar properties for different classes leading to poor classification
performance. To tackle this problem, [25] suggested to make the learned
dictionaries as different as possible to capture distinct information by
minimizing the pairwise similarity between dictionaries. [55] proposed to
learn a dictionary per class to capture the particularity information and a
shared dictionary to capture the commonality. After finding the overall
dictionary, the classification of test samples is performed the same way as
with the SRC.

####  2.2.2 Prune large dictionaries

In this approach, a very large dictionary in learned following the
conventional approach (2), then the dictionary atoms are merged based on a
predefined criterion so as to obtain a reduced discriminative dictionary. For
instance, [56] used Agglomerative Information Bottleneck (AIB) which
iteratively merges two atoms that cause the smallest decrease in the mutual
information between the dictionary atoms and the class labels. In the same
context, [57] proposed another method based on merging two dictionary atoms so
as to minimize the loss of mutual information between the histogram of
dictionary atoms and class labels.

####  2.2.3 Joint dictionary and classifier learning

This approach showed very good performances and represented a big advance in
the field. It seeks to jointly learn dictionary and classifier. In [24] a
linear classifier and logistic loss function was applied. [58] suggested a
technique called discriminative K-SVD (DK-SVD) which also jointly learns the
classifier parameters and dictionary. However, instead to solve the
optimization problem iteratively and alternately between classifier parameters
and dictionary, a sub-optimal learning process is built upon two main steps.
The first one aims to learn a conventional dictionary and sparse
representation coefficients of the signals over it. The second step uses the
resulting sparse coefficients to learn a linear classifier.

####  2.2.4 Embedding class labels into the learning of dictionary

In this framework we can cite the approach of [59]. They propose to first
project the data into an orthogonal space where the intra and inter-class
reconstruction errors are minimized and maximized respectively, and
subsequently learn the dictionary and the sparse representation of the data in
this new space. [60] seek to minimize the information loss due to class labels
prediction from a supervised learned dictionary instead of the original
training data samples.

####  2.2.5 Embedding class labels into the learning of sparse coefficients

This approach seeks to include class labels in the learning of coefficients.
Supervised coefficient is based on minimizing the within-class covariance of
coefficients and at the same time maximizing their between-class covariance.
[61] tried to learn simultaneously a dictionary per class by decomposing every
signal $\mathbf{x}_{n}$ with label $y_{n}$ over the $C$ dictionaries and
enforcing the sparsity of the coefficients related to the dictionaries
$\mathbf{D}_{j}$ such that $y_{n}\neq j$. Classification of a new sample is
done in the same way as SRC [53].

####  2.2.6 Learning a histogram of dictionary elements over signal
constituents

There are situations where a signal is made of some local constituents, e.g.,
an image is made up of patches or a speech made of phonemes. In this case
histogram of dictionary atoms learned on local constituents is computed. The
resulting histograms are used to train a classifier and predict the class
label of unknown

Table 3: Summary of supervised dictionary learning techniques for data classification [52]. Methods | Approach | Advantages & Drawbacks
---|---|---
[53] |  |
[54] |  A. Dictionary per class |  $(+)$ ease dictionary computation
[25] |  |  $(-)$ very large dictionary
[55] |  |
[56] |  B. Prune large dictionaries |  $(+)$ ease dictionary computation
[57] |  |  $(-)$ low performances
[24] |  C. Joint dictionary & classifier learning |  $(+)$ good performances
[58] |  |  $(-)$ too many parameters
[59] |  D. Labels in dictionary |  $(+)$ good performances
[60] |  |  $(-)$ complex optimization
[61] |  E. Labels in coefficients |  $(+)$ good performances
|  |  $(-)$ complex
[62] |  F. Histograms of dictionary elements |  $(+)$ good performances
[63] |  |  $(-)$ only based local constituents

signals. [62] aggregated small patches over all images in a class, and
clustered them using k-means algorithm. Obtained cluster centers form a
dictionary. Although the latter method gives good results, it does not really
include the label information in the learning process. This motivated to
exploit the class information to learn dictionaries in supervised way [63].

Based on the brief study of supervised dictionary approaches, we introduce in
the following a novel supervised dictionary method. Our proposed method tries
to exploit the strong points of the previous methods that is: i) learning one
dictionary per class, and ii) embedding class labels to force sparse
coefficients. To this end, we encourage the dissimilarity between the
dictionaries by penalizing the pairwise similarity between them. To reach
superior discrimination power, we push towards zero the coefficients of a
signal representation over other dictionaries than the one corresponding to
its class label.

###  2.3 Class based dictionary learning

Let consider $\\{(\mathbf{x}_{n},y_{n})\\}_{n=1}^{N}$ where
$\mathbf{x}_{n}\in\mathbb{R}^{M}$ is a signal and $y_{n}\in\\{1,\cdots,C\\}$
its label. We consider a dictionary $\mathbf{D}_{c}\in\mathbb{R}^{M\times
K^{\prime}}$ associated to each class $c$. The global dictionary
$\mathbf{D}=[\mathbf{D}_{1}\cdots\mathbf{D}_{C}]\in\mathbb{R}^{M\times K}$
represents the concatenation of the class based dictionaries
$\\{\mathbf{D}_{c}\\}_{c=1}^{C}$. Each dictionary $\mathbf{D}_{c}$ is composed
of $K^{\prime}$ atoms
$\\{\mathbf{d}_{k}\in\mathbb{R}^{M}\\}_{k=1}^{K^{\prime}}$. For simplicity
sake we consider $K^{\prime}$ is the same for all
$\\{\mathbf{D}_{c}\\}_{c=1}^{C}$. The sparse representation of
$\mathbf{x}_{n}$ over the global dictionary $\mathbf{D}$ is
$\mathbf{a}_{n}^{T}=[\mathbf{a}_{n1}^{T}\cdots\mathbf{a}_{nc}^{T}\cdots\mathbf{a}_{nC}^{T}]$
where $\mathbf{a}_{nc}$ represents the sparse representation over the class
specific dictionary $\mathbf{D}_{c}$. Hence the sparse representation of the
overall training data$\\{\mathbf{x}_{n}\\}_{n=1}^{N}$ is gathered in
$\mathbf{A}=[\mathbf{a}_{1}\cdots\mathbf{a}_{n}]$. The dictionary learning
problem we intend to address is formulated as follows:

$\left\\{\begin{array}[]{ll}\displaystyle\min_{\\{\mathbf{D}_{c}\\}_{c=1}^{C},\\{\mathbf{a}_{n}\\}_{n=1}^{N}}J=J_{1}+J_{2}+\lambda
J_{3}+\gamma_{1}J_{4}+\gamma_{2}J_{5}\\\ &\\\ \displaystyle s.t\hskip
14.22636pt\left\|\mathbf{d}_{ck}\right\|_{2}^{2}\leq 1\hskip 14.22636pt\forall
c=1,\cdots,C\hskip 14.22636pt\mbox{and}\hskip 14.22636pt\forall
k=1,\cdots,K\\\ \\\ \end{array}\right.$ (3)

where in the problem (3)

$J_{1}=\displaystyle\sum_{n=1}^{N}\left\|\mathbf{x}_{n}-\mathbf{D}\mathbf{a}_{n}\right\|_{2}^{2}$

represents the global reconstruction error over the global dictionary
$\mathbf{D}$.

$J_{2}=\displaystyle\sum_{c=1}^{C}\sum_{n=1}^{N}\mathbbm{1}_{y_{n}=c}\left\|\mathbf{x}_{n}-\mathbf{D}_{c}\mathbf{a}_{nc}\right\|_{2}^{2}$

stands for the class specific reconstruction error over the dictionary
$\mathbf{D}_{c}$. In other words $J_{2}$ measures the quality of
reconstructing a sample $(\mathbf{x}_{n},\mathbf{y}_{n}=c)$ over the sole
dictionary $\mathbf{D}_{c}$.

$J_{3}=\displaystyle\sum_{n=1}^{N}\left\|\mathbf{a}_{n}\right\|_{1}$

is the classical sparsity penalization.

$J_{4}=\displaystyle\sum_{n=1}^{N}\sum_{c=1}^{C}\mathbbm{1}_{y_{n}\neq
c}\left\|\mathbf{a}_{nc}\right\|_{2}^{2}$

aims to push toward zero the coefficients $\mathbf{a}_{nc}$ of the signal
$\mathbf{x}_{n}$ representation over non-class specific dictionary
$\mathbf{D}_{j}$, $j\neq y_{n}$.

$J_{5}=\displaystyle\sum_{c=1}^{C}\sum_{\begin{subarray}{c}c^{\prime}=1\\\
c^{\prime}\neq
c\end{subarray}}^{C}\left\|\mathbf{D}_{c}^{T}\mathbf{D}_{c^{\prime}}\right\|_{F}^{2}$

with $\left\|.\right\|_{F}$ is the Frobenius norm, encourages the pairwise
orthogonality between different dictionaries.

To sum up, our dictionary learning problem (3) seek to:

  * •

Capture as much as possible information in the signal by minimizing the global
reconstruction error.

  * •

Specialize the extracted information per class by minimizing the class
specific reconstruction error similar to intra-class variations minimization.

  * •

Render dissimilar the extracted class specific information by promoting
orthogonality of dictionaries and "zeroing" coefficients not specific to the
sample label. In other words, we attempt to maximize inter-class variations.

  * •

Promote coefficients sparsity to maintain generalization ability.

$\lambda$, $\gamma_{1}$ and $\gamma_{2}$ are regularization parameters
controlling the sparsity, the structure of sparse coefficients and pairwise
orthogonality of learned dictionaries respectively. We could have associated a
regularization parameter to the term $J_{2}$, however to avoid multiplying the
number of hyper-parameters we choose to fix it to $1$. Furthermore, conducted
experiments show that it does not have significant impact on the performances.

Compared to [55] where they propose to learn a shared dictionary combined with
class specific, we only rely on the latter one. Furthermore their optimization
scheme is based on a simplifying assumption that $\mathbbm{1}_{y_{n}\neq
c}\left\|\mathbf{a}_{nc}\right\|_{2}^{2}=0$ which eases the optimization but
harms the convergence. In our formulation we do not rely on those assumptions
and we provide a more general optimization algorithm described in the next
section.

###  2.4 Optimization scheme

At the first sight, the objective function in (3) seems to be complex but it
can be solved based on an alternating optimization scheme which involves a
sparse coding step and dictionary optimization step. Indeed, problem (3) is
convex in $\mathbf{D}_{c}$ for the coefficients $\mathbf{a}_{nc}$ fixed and is
so the inverse way when the $\mathbf{D}_{c}$ are fixed.

####  2.4.1 Sparse coding step

In this step, we fix $\\{\mathbf{D}_{c}\\}_{c=1}^{C}$ and we estimate the
coefficients $\\{\mathbf{a}_{n}\\}_{n=1}^{N}$. For each signal
$\mathbf{x}_{n}$ of class $y_{n}$, the related vector $\mathbf{a}_{n}$ is
decoupled in the optimization problem. Let $y_{n}=c^{\prime}$, this conducts
us to solve the following problem:

$\displaystyle\min_{\mathbf{a}_{n}}\left\|\mathbf{x}_{n}-\mathbf{D}\mathbf{a}_{n}\right\|_{2}^{2}+\left\|\mathbf{x}_{n}-\mathbf{D}_{c^{\prime}}\mathbf{a}_{nc^{\prime}}\right\|_{2}^{2}+\gamma_{1}(\left\|\mathbf{a}_{n}\right\|^{2}_{2}-\left\|\mathbf{a}_{nc^{\prime}}\right\|^{2}_{2})+\lambda\left\|\mathbf{a}_{n}\right\|_{1}$
(4)

where
$\displaystyle\left\|\mathbf{a}_{n}\right\|_{2}^{2}=\sum_{c=1}^{C}\left\|\mathbf{a}_{nc}\right\|_{2}^{2}$
and $\displaystyle\sum_{c=1}^{C}\mathbbm{1}_{c\neq
c^{\prime}}\left\|\mathbf{a}_{nc}\right\|_{2}^{2}=\left\|\mathbf{a}_{n}\right\|_{2}^{2}-\left\|\mathbf{a}_{nc^{\prime}}\right\|_{2}^{2}$

It can be seen that (4) consists of quadratic error terms and elastic-net type
penalization. Thus this problem is amenable to a Lasso problem which can be
solved by a classical Lasso solver [64].

####  2.4.2 Dictionary optimization step

Here we illustrate the estimation of $\\{\mathbf{D}_{p}\\}_{p=1}^{C}$ while
fixing $\\{\mathbf{a}_{n}\\}_{n=1}^{N}$. It can be seen that (3) involves
quadratic terms with respect to the dictionaries. The derivative of the
objective function with respect to $\mathbf{D}_{p}$ is:

$\nabla_{\mathbf{D}_{p}}J=\nabla_{\mathbf{D}_{p}}J_{1}+\nabla_{\mathbf{D}_{p}}J_{2}+\gamma_{2}\nabla_{\mathbf{D}_{p}}J_{5}$
(5)

with the involved terms defined below using the matrix derivation formula
[65].

$\left\\{\begin{array}[]{ll}J_{1}=\displaystyle\sum_{n=1}^{N}\left\|\mathbf{x}_{n}-\mathbf{D}\mathbf{a}_{n}\right\|_{2}^{2}=\sum_{n=1}^{N}\left\|\tilde{\mathbf{x}}_{n}-\mathbf{D}_{p}\mathbf{a}_{np}\right\|_{2}^{2}\\\
&\\\
\nabla_{\mathbf{D}_{p}}J_{1}=\displaystyle\sum_{n=1}^{N}-2\mathbf{\tilde{x}}_{n}\mathbf{a}_{np}^{T}+2\mathbf{D}_{p}\mathbf{a}_{np}\mathbf{a}_{np}^{T}\end{array}\right.$
(6)

where
$\displaystyle\tilde{\mathbf{x}}_{n}=\mathbf{x}_{n}-\sum_{\begin{subarray}{c}c=1\\\
c\neq p\end{subarray}}^{C}\mathbf{D}_{c}\mathbf{a}_{nc}$

For the second term of the derivative $\nabla_{\mathbf{D}_{p}}J$ we can write

$\left\\{\begin{array}[]{ll}J_{2}=\displaystyle\sum_{n=1}^{N}\mathbbm{1}_{y_{n}=p}\left\|\mathbf{x}_{n}-\mathbf{D}_{p}\mathbf{a}_{np}\right\|_{2}^{2}+\sum_{n=1}^{N}\sum_{c\neq
p}\mathbbm{1}_{y_{n}=c}\left\|\mathbf{x}_{n}-\mathbf{D}_{c}\mathbf{a}_{nc}\right\|_{2}^{2}\\\
&\\\
\nabla_{\mathbf{D}_{p}}J_{2}=\displaystyle\sum_{n=1}^{N}\mathbbm{1}_{y_{n}=p}-2\mathbf{x}_{n}\mathbf{a}_{np}^{T}+2\mathbf{D}_{p}\mathbf{a}_{np}\mathbf{a}_{np}^{T}\end{array}\right.$
(7)

Finally the expression of the last term is given by

$\left\\{\begin{array}[]{ll}J_{5}=\displaystyle\sum_{c\neq
p}2\left\|\mathbf{D}_{p}^{T}\mathbf{D}_{c}\right\|_{F}^{2}+\sum_{c\neq
p}\sum_{\begin{subarray}{c}c^{\prime}\neq c\\\ c^{\prime}\neq
p\end{subarray}}\left\|\mathbf{D}_{c}^{T}\mathbf{D}_{c^{\prime}}\right\|_{F}^{2}\\\
&\\\ \nabla_{\mathbf{D}_{p}}J_{5}=\displaystyle\sum_{c\neq
p}4(\mathbf{D}_{c}\mathbf{D}_{c}^{T})\mathbf{D}_{p}\end{array}\right.$ (8)

Algorithm 1 summarizes the different steps of our optimization approach which
is based on an alternating scheme: the first step consists of a signal sparse
coding based on the Lasso algorithm. The second step is dictionary
optimization based on proximal gradient descent approach. The proximal
procedure is useful in order to handle the atom normalization constraint
$\left\|\mathbf{d}_{ck}\right\|\leq 1$ in the problem (3).

1: Initialization: $\mathbf{D}_{0}$, $t\leftarrow 1$, initialize $\eta_{0}$
and $\alpha$

2: while $t\leq T$ do

3: Solve for
$\mathbf{A}_{t}\leftarrow\displaystyle\operatornamewithlimits{argmin}_{\mathbf{A}}J(\mathbf{D}_{t-1},\mathbf{A})$
using Lasso algorithm

4: Compute the gradient
$\mathbf{G}_{\mathbf{D}_{t-1}}\leftarrow\nabla_{\mathbf{D}}J(\mathbf{D}_{t-1},\mathbf{A}_{t})$
based on equations (5) to (8)

5: $\eta\leftarrow\eta_{0}$

6: repeat

7:
$\mathbf{D}_{\frac{t}{2}}\leftarrow\mathbf{D}_{t-1}-\eta\mathbf{G}_{\mathbf{D}_{t-1}}$

8: $\mathbf{D}_{t}\leftarrow\mbox{Prox}\big{(}\mathbf{D}_{\frac{t}{2}}\big{)}$
$\mbox{with}\hskip
22.76228pt\mbox{Prox}\big{(}\mathbf{D}_{\frac{t}{2}}\big{)}:\\{\mathbf{d}_{k}\\}_{k=1}^{K}=\left\\{\begin{array}[]{l}\mathbf{d}_{k}\hskip
22.76219pt\mbox{if}\hskip 11.38109pt\left\|\mathbf{d}_{k}\right\|_{2}\leq 1\\\
\\\ \frac{\mathbf{d}_{k}}{\left\|\mathbf{d}_{k}\right\|_{2}}\hskip
11.38109pt\mbox{otherwise}\end{array}\right.$

9: $\eta\leftarrow\eta\times\alpha$

10: until
$J(\mathbf{D}_{t},\mathbf{A}_{t})<J(\mathbf{D}_{t-1},\mathbf{A}_{t-1})$

11: $t\leftarrow t+1$

12: end while

Algorithm 1 The optimization algorithm

###  2.5 Classification

Once the dictionaries are learned, they are used to encode both training and
testing samples based on Lasso. The resulting coefficients are used to feed an
SVM classifier. Figures 1 to 3 show the processing flow of dictionary learning
based on the training data, coding both training and testing data over the
learned dictionary respectively.

$\\{\mathbf{x}_{n}\in\mathbb{R}^{M}\\}_{n=1}^{N}$DictionaryLearning$\\{\mathbf{D}_{c}\in\mathbb{R}^{M\times
K^{\prime}}\\}_{c=1}^{C}$$\\{y_{n}\\}_{n=1}^{N}$ Figure 1: Processing flow of
dictionary learning on the training set.
$\\{\mathbf{x}_{n}\in\mathbb{R}^{M}\\}_{n=1}^{N}$Sparse
Representation$\\{\mathbf{D}_{c}\in\mathbb{R}^{M\times
K^{\prime}}\\}_{c=1}^{C}$SVMLearning$\\{y_{n}\\}_{n=1}^{N}$$h$$\\{\mathbf{a}_{n}\\}_{n=1}^{N}$
Figure 2: Processing flow of SVM training over the learned dictionary and
training set.
$\\{\mathbf{x}_{n^{\prime}}\in\mathbb{R}^{M}\\}_{n^{\prime}=1}^{N_{test}}$Sparse
Representation$\\{\mathbf{D}_{c}\in\mathbb{R}^{M\times
K^{\prime}}\\}_{c=1}^{C}$SVMClassification$h$$\\{\tilde{y}_{n^{\prime}}\\}_{n^{\prime}=1}^{N_{test}}$$\\{\mathbf{a}_{n^{\prime}}\\}_{n^{\prime}=1}^{N_{test}}$
Figure 3: Processing flow of classification over testing set.

Let define $\mathcal{H}$ a Hilbert space induced by kernel $k(.,.)$. The
decision function of a binary classification problem is given by
$h(\mathbf{a})=h_{0}(\mathbf{a})+b$ with $h_{0}\in\mathcal{H}$,
$b\in\mathbb{R}$ and
$\left\|h\right\|_{\mathcal{H}}^{2}=\left\|h_{0}\right\|_{\mathcal{H}}^{2}$
and is obtained as the solution of [66]:

$\left\\{\begin{array}[]{ll}\displaystyle\min_{h_{0},b}\frac{1}{2}\left\|h\right\|^{2}_{\mathcal{H}}+C_{svm}\sum_{n=1}^{N}\xi_{n}\\\
&\\\ \mbox{s.t}\hskip 14.22636pt{y}_{n}h(\mathbf{a}_{n})\geq 1-\xi_{n},\hskip
8.5359pt\xi_{n}\geq 0\hskip 5.69046pt\forall n=1,\cdots,N\\\
\end{array}\right.$ (9)

where
$\Big{\\{}(\mathbf{a}_{n},y_{n})\in\mathcal{A}\times\\{-1,+1\\}\Big{\\}}_{n=1}^{N}$
are the labelled training samples. $\xi_{n}$ and $C_{svm}$ represent slack
variables and tuning parameter used to balance margin and training error. The
solution is given by $\displaystyle
h_{0}(\mathbf{a})=\sum_{n=1}^{N}\alpha_{n}y_{n}k(\mathbf{a}_{n},\mathbf{a})$
where parameters $\alpha_{n}$ are solution of the dual quadratic problem:

$\left\\{\begin{array}[]{ll}\displaystyle\max_{\boldsymbol{\alpha}}\sum_{n=1}^{N}\alpha_{n}-\frac{1}{2}\sum_{n=1}^{N}\sum_{n^{\prime}=1}^{N}\alpha_{n}\alpha_{n^{\prime}}y_{n}y_{n^{\prime}}k(\mathbf{a}_{n},\mathbf{a}_{n^{\prime}})\\\
&\\\ \mbox{s.t}\hskip 14.22636pt\forall n\hskip 5.69046pt0\leq\alpha_{n}\leq
C_{svm},\hskip 5.69046pt\displaystyle\sum_{n=1}^{N}\alpha_{n}y_{n}=0\\\
\end{array}\right.$ (10)

To solve our $C$-class audio classification problem we employ one-against-all
strategy. It consists in constructing $C$ binary SVM, each one separates a
class from all the rest. The $c^{th}$ SVM solves the decision problem
$h^{(c)}(\mathbf{a})=h_{0}^{(c)}(\mathbf{a})+b^{(c)}$ with data from class $c$
taken as positive samples and the remaining training samples as negatives.
Note that in our case we have used a simple linear kernel as the non-linear
aspect of the classification problem is taken into account in the dictionary
learning. This is customary in supervised dictionary classification [24, 35].

##  3 Experiments

We conduct our experiments on two different audio signal classification
problems, Computational Auditory Scene Recognition (CASR) and music chord
recognition. For each problem, dictionary learning based on a initial time-
frequency representation is compared to conventional hand-crafted features.

###  3.1 Computational auditory scene recognition

In this section we briefly review different approaches to tackle CASR problem
as well as the evaluation of our proposed dictionary learning technique
compared with conventional hand-crafted features on East Anglia (EA) and LITIS
Rouen datasets.

Several categories of audio features have been employed in CASR systems. [67]
divided the features into 12 categories summarized in Table 4. From the
features organization in Table 4, we can distinguish four main categories:
low-level time/frequency, frequency band energy, learned features based on an
time-frequency representation and speech-based. Among low-level features, we
find easy and simple features to compute such as zero crossing [68]. Frequency
band energy feature are based on the computation of the energy at different
frequency bands using Fourier transform [68] or filter banks such as Gammatone
[69] and Mel-scale filter banks [70] which seek to mimic the response of the
human auditory system. The goal of learning methods is to describe an acoustic
signal as a linear combination of elementary functions that capture salient
spectral components [71]. Beside the first three introduced feature
categories, speech-based features and more particularly Mel-Frequency Cepstral
Coefficients (MFCCs) represent the most prominent features that have been
considered in the problem of audio scene recognition.

A considerable amount of works have applied MFCCs for CASR, [72] used Gaussian
Mixture Model (GMM) to estimate the distribution of MFCC coefficients. [73]
combined MFCCs with Hidden Markov

Table 4: Main audio feature categories for audio scene recognition [67]. Methods | Approach | Features
---|---|---
[68] | Low-level time-based & frequency-based | Zero crossing rate
[74] |  | Spectral centroid
[68] | Frequency-band energy | Magnitude or power spectrum
[69] | Auditory filter banks | Gammatone filters
[70] |  | Mel-scale filter bank
[17] | Cepstral | Mel-frequency cepstral coefficients
[75] | Spatial | Interaural time/level difference
[76] | Voicing | Tone-fit features
[68] | Linear predictive model | Linear predictive coefficients
[77] | Parametric approximation | Convolution spectrogram and
[78] |  | Gabor filters
[71] | Feature learning | Learned features from MFCCs
[79] | Matrix factorization | Non-negative matrix factorization
[80] |  | Probabilistic latent component
[81] | Image processing | HOG time-frequence representation
[82] | Event detection | Analysis of events occurrence

Models (HMM). [79] used Non-Negative Matrix Factorization (NMF) with MFCC
features. [83] employed MFCC features in a two-stage framework based on GMM
and SVM. [71] used sparse restricted Boltzmann machine to capture relevant
MFCC coefficients. [84] extracted a large set of features including MFCCs
using a short sliding window approach. SVM is used to classify these short
segments, and a majority voting scheme is employed for the whole sequence
decision. [85] applied Recurrence Quantification Analysis (RQA) on the MFCCs
for supplying some additional information on temporal dynamics of the signal.

Another trend is to extract discriminative features from time-frequency
representations. [86] applied NMF to extract time-frequency patches. [80]
instead of the NMF used temporally-constrained Shift-Invariant Probabilistic
Latent Component Analysis (SIPLCA) to extract time-frequency patches from
spectrogram. [87] proposed a method based on treating time-frequency
representations of audio signals as image texture. In the same context, [88]
introduced novel sound event image representation called Subband Power
Distribution (SPD). The SPD captures the distribution of the sound’s log-
spectral power over time in each subband, such that it can be visualized as a
two-dimensional image representation. Recently [81] proposed to use Histogram
of Oriented Gradient to extract information from time-frequency
representations.

####  3.1.1 Datasets

We rely our experiments on two representative datasets which are described
below.

  * •

East Anglia (EA): this dataset
111http://lemur.cmp.uea.ac.uk/Research/noise_db/ provides environmental sounds
[89] coming from 10 different locations: bar, beach, bus, car, football match,
launderette, lecture, office, rail station, street. In each location a
recording of 4-minutes at a frequency of 22.1 kHz has been collected. The
4-minutes recordings are splitted into 8 recordings of 30-seconds so that in
total we have 10 locations (classes) and each class has 8 examples of
30-seconds.

  * •

Litis Rouen: this dataset
222https://sites.google.com/site/alainrakotomamonjy/home/audio-scene provides
environmental sounds [81] recorded in 19 locations. Each location has
different number of 30-seconds examples downsampled at 22.5 kHz. Table 5
summarizes the content of the dataset.

Table 5: Summary of Litis Rouen audio scene dataset.

Classes |  # examples
---|---
plane | 23
busy street | 143
bus | 192
cafe | 120
car | 243
train station hall | 269
kid game hall | 145
market | 276
metro-paris | 139
metro-rouen | 249
billiard pool hall | 155
quite-street | 90
student hall | 88
restaurant | 133
pedestrian street | 122
shop | 203
train | 164
high-speed train | 147
tube station | 125

####  3.1.2 Competing features and protocols

In the following we introduce the different features used in our experiments
as well as the data partition and protocols.

#### Features

Based on an initial time-frequency representation (spectrogram) computed on
sliding windows of size $4096$ samples and hops of $32$ samples, we apply our
class based dictionary learning method introduced in 2.3. In order to evaluate
the efficiency of our proposed method, we compare its performance to the
following conventional features:

  * •

Spectrogram pooling: represents the temporal pooling of the spectrogram
computed on sliding windows of size $4096$ samples and hops of $32$ samples.

  * •

Bag of MFCC: consists in calculating the MFCC features on windows of size $25$
ms with hops of $10$ ms. For each window, $13$ cepstra over $40$ bands are
computed (lower and upper band are set to $1$ and $10$ kHz). The final feature
vector is obtained by concatenating the average and standard deviation of the
batch of $40$ windows with overlap of $20$ windows.

  * •

Bag of MFCC-D-DD: in addition of the average and standard deviation, the
first-order and second-order differences of the MFCC over the windows are
concatenated to the feature vector.

  * •

Texture-based time-frequency representation: it consists on extracting
features from time-frequency texture [87].

  * •

Recurrent Quantification Analysis (RQA): aims to extract from MFCCs some
additional information on temporal dynamics. For all MFCCs obtained over $40$
windows with overlap of $20$, $11$ RQA features have been computed [85].
Afterwards, MFCC features and RQA features are all averaged over time and MFCC
averages, standard deviations as well as the RQA averages are concatenated to
form the final feature vector.

  * •

HOG of time-frequency representation: applies HOG to time-frequency
representations transformed to images. The time-frequency representations are
calculated based on Constant-Q Transform (CQT). HOG is able to provide
information about the occurrence of gradient orientations in the resulting
images [81].

More details to extract these features can be found in [81]. Note that for
classification, Support Vector Machine (SVM) with linear kernel is applied.

#### Protocols and parameters tuning

For sake of comparison we have performed the same experiments using the same
repartitions and protocols in [81]. We have averaged the performances from
$20$ different splits of the initial data into training and test. The training
set represents $80$ % of data while the rest represents the test set. Our
proposed dictionary learning technique requires the following parameters:

  * •

$\lambda$, $\gamma_{1}$, $\gamma_{2}$ controlling respectively, the sparsity,
the structure of sparse coefficients and pairwise orthogonality of learned
dictionaries. The parameters are selected among $\\{0.1,0.2,0.3\\}$.

  * •

$K^{{}^{\prime}}$ the size of each dictionary $\mathbf{D}_{c}$. Its value is
explored among $\\{10,20,30\\}$.

Beyond that we use a linear SVM classifier which its regularization parameter
$C_{svm}$ is selected among $10$ values logarithmically scaled between $0.001$
and $100$. All these parameters are tuned according to a validation scheme.
Model selection is performed by resampling $5$ times the training set into
learning and validation sets of equal size. The best parameters are considered
as those maximizing the averaged performances on the validation sets. Note
that K-SVD [90] has been used to initialize the class based dictionaries and
the parameters $T=200$, $\alpha_{0}=0.5$ and $\eta=10^{-3}$ was applied for
the optimization scheme (see Section 2.4).

####  3.1.3 Results and analysis

Table 6 represents the performance (classification accuracy) comparison
between different conventional features as reported in [81] and our class
based dictionary method on Rouen and EA datasets. Texture denotes the work of
[87] while MFCC-D-DD denotes the MFCC with derivatives features. MFCC, MFCC-
RQA, MFCC-900 and MFCC-RQA-900 denote, MFCC features, the MFCC with RQA with
cut-off frequency of 10 kHz, the MFCC and the MFCC combined RQA with upper
frequency set at 900 Hz respectively. Spectrogram pooling stands for the
temporal pooling of the time-frequency spectrogram. HOG-full and HOG-
marginalized represent the concatenation of histogram obtained from different
cells resulting to very-high dimensionality feature vector and the
concatenation of the averaged histograms over time and frequency respectively.

Table 6: Comparison of performances related to different feature
representations on Rouen, EA audio scene classification datasets. Bold values
stand for best values on each dataset.

Features |  Rouen |  EA
---|---|---
Texture |  - | 0.57 $\pm$ 0.13
MFCC-D-DD |  $0.66$ $\pm$ $0.02$ | 0.98 $\pm$ 0.04
MFCC |  0.67 $\pm$ 0.01 |  1.00 $\pm$ 0.01
MFCC-900 |  0.60 $\pm$ 0.02 | 0.91 $\pm$ 0.07
MFCC+RQA |  0.78 $\pm$ 0.01 | 0.95 $\pm$ 0.08
MFCC+RQA-900 |  0.72 $\pm$ 0.02 | 0.93 $\pm$ 0.06
HOG-full |  0.84 $\pm$ 0.01 | 0.99 $\pm$ 0.02
HOG-marginalized |  0.86 $\pm$ 0.01 | 0.97 $\pm$ 0.06
Spectrogram pooling |  0.85 $\pm$ 0.01 | 0.97 $\pm$ 0.04
Dictionary learning |  0.71 $\pm$ 0.01 | 0.97 $\pm$ 0.04

Figure 4: Example of learned dictionaries per class on Rouen dataset. Rows
correspond to learned dictionary atoms. Figure 5: Similarity between different
learned dictionaries on Rouen dataset. X-axis and Y-axis stand for the class
numbers organized in the same order in Table 5.

It can be seen in Table 6 that HOG-marginalized outperforms all competing
features in Rouen dataset, it can be also seen that the temporal pooling of
spectrogram is also giving good results and almost reach the ones obtained by
HOG-marginalized. Surprisingly the temporal pooling of the spectrogram on all
analysis windows helps to estimate the energy variation over time for a raw
signal assumed to represent a single scene. Indeed it has been found that the
use of the analysis windows improves the recognition performance. Moreover the
small size of the windows helps to capture the stable characteristics of the
signal [91]. Note also that MFCC+RQA features are performing better than other
MFCC based features, however the cut-off-frequency of $900$ Hz leads to a
large loss in performance.

We can also notice that our proposed dictionary learning is giving very
promising results and is outperforming texture and conventional speech
recognition feature, MFCC and MFCC-D-DD features which have been widely used
in the literature and have showed their ability to tackle the problems of
audio scene recognition.

Figure 4 and Figure 5 show the learned dictionaries per class on Rouen dataset
and the pairwise similarity between them. The idea behind estimating the
similarity between different learned dictionaries is to verify the initial
goal to learn dissimilar dictionaries able to extract diverse information from
classes for discrimination purpose. It can be seen that there is some
similarity between some learned dictionaries which could influence the
classification accuracy since these dictionaries tend to provide similar
information for different classes. This may be related to the increasing
number of classes that makes enforcing the pairwise dictionaries dissimilarity
hardly feasible.

In the East Anglia dataset, all features including our proposed dictionary
learning perform well except texture, however we should note a slight
advantage of MFCC.

###  3.2 Music chord recognition

The simplest definition of a chord is few musical notes played at the same
time. In western music, each chord can be characterized by the:

  * •

root or fundamental: the fundamental note on which the chord is built,

  * •

number of notes

  * •

type: gives the interval scheme between notes.

A music signal can be deemed composed of sequences of these different chords.
Commonly, the duration of the chords in the sequence varies over time
rendering their recognition difficult. Given a raw audio signal, chord
recognition system attempts to automatically determine the sequence of chords
describing the harmonic information.

To recognize chords most approaches rely on features crafted based on time-
frequency representation of the raw signals, the most common and dominant
features being chroma [2]. Pitch Class Profiles (PCP) or chroma vectors was
introduced by [4]. It is a 12-dimensional vectors representing the energy
within an equal-tempered chromatic scale $\\{C,C^{\\#},D,\cdots,B\\}$. The
chroma has several variations, among them we can cite Harmonic Pitch Class
Profiles (HPCPs) which is an extension of the Pitch Class Profiles (PCPs) by
estimating the harmonics [92, 93] and Enhanced Pitch Class Profile (EPCP)
which is calculated using the harmonic product spectrum [94]. Chroma vectors
were combined with different machine learning such as Hidden Markov and
Support Vector Machine [5, 95].

####  3.2.1 Dataset

We will focus on third, triad and seventh chords which are respectively
composed of 2, 3 and 4 notes. When a note B has twice the frequency of a note
A, the interval $[A\;B]$ forms an octave. In tempered occidental music, the
smallest subdivision of an octave is a semitone which corresponds to one
twelfth of an octave, that is a multiplication by $\sqrt[12]{2}$ in term of
frequency. To be tertian, i.e a standard harmony, each interval between notes
in a chord must be composed of 3 or 4 semitones. These intervals are
respectively called minor and Major. Thus, for a given root, there is 2
possible thirds, 4 possible triads, and 8 possible sevenths. Table 7 sum-up
all the possible tertian third, triad and seventh chords.

Table 7: Different kind of tertian chords, intervals are in semitones # of notes | Common name or type | 1st interval | 2nd int. | 3rd int.
---|---|---|---|---
2 | Minor third | 3 | - | -
2 | Major third | 4 | - | -
3 | Diminished triad | 3 | 3 | -
3 | Minor triad | 3 | 4 | -
3 | Major triad | 4 | 3 | -
3 | Augmented triad | 4 | 4 | -
4 | Diminished seventh | 3 | 3 | 3
4 | Half-diminished seventh | 3 | 3 | 4
4 | Minor seventh | 3 | 4 | 3
4 | Minor major seventh | 3 | 4 | 4
4 | Dominant seventh | 4 | 3 | 3
4 | Major seventh | 4 | 3 | 4
4 | Augmented major seventh | 4 | 4 | 3
4 | Augmented augmented seventh | 4 | 4 | 4

The pursued goal in this work is to guess the type and not the fundamental of
a chord leading to 14 possible labels ($=2+4+8$). For this purpose, we have
created a dataset which contains 2156 music chord samples of duration
$2$-seconds at frequency $44100$ Hz with the 14 different classes. Each class
contains 154 samples from different instruments at different fundamentals.

####  3.2.2 Competing features and protocols

In the following we introduce the different features used in our experiments
as well as the data partition and protocols.

#### Features

Similar to the previous application we compute an initial time-frequency
representation (spectrogram) on sliding windows of size 4096 samples and hops
of 32 samples. Then we apply our dictionary learning method. The resulting
sparse representations are used as inputs of an SVM. The following
conventional features serve as competitors to our approach.

  * •

Spectrogram pooling: represents the temporal pooling of the spectrogram as
previously.

  * •

Interpolated power spectral density: music notes follow an exponential scale,
however Power Spectral Density (PSD) is based on Fourier transform which
follows a linear scale. To address this problem PSD (which lies on a linear
scale) is sampled at specific frequencies corresponding to 96 notes leading to
an exponential representation more suitable for chord recognition [96].

  * •

Chroma: it represents a $12$-dimensional vector, every component represents
the spectral energy of a semi-tone within the chromatic scale. Chroma vector
entries are calculated by summing the spectral density corresponding to
frequencies belonging to the same chroma [2].

#### Protocols and parameters tuning

We have averaged the performances from different 10 splits of the initial data
into training and test. The training set represents 2/3 of data. Model
selection is performed by resampling $2$ times the training set into learning
and validation set of equal size. The best parameters are considered as those
maximizing the averaged performances on the validation sets. Note that the
parameters are chosen from the same intervals used above in the computational
auditory scene recognition problem.

####  3.2.3 Results and analysis

Table 8 represents the performance (classification accuracy) comparison of
evaluated features on music chord dataset. It can be seen that our dictionary
learning method outperforms all other features.

Table 8: Comparison of performances related to different feature
representations on music chord dataset based on linear SVM. Bold value stands
for best performance.

Features |  Music chord
---|---
Chroma | 0.19 $\pm$ 0.01
Interpolated PSD | 0.15 $\pm$ 0.02
Spectrogram pooling | 0.14 $\pm$ 0.01
Dictionary learning | 0.66 $\pm$ 0.01

Table 9 represents the performance (classification accuracy) comparison of
evaluated features on music chord dataset based on the polynomial kernel. It
can be seen the interpolated PSD outperforms chroma and spectrogram. It can be
also noticed that the polynomial kernel overcome the linear one in this
particular task of chord recognition based on the conventional hand-crafted
features.

Table 9: Comparison of performances related to different feature
representations on music chord dataset based on polynomial kernel. Bold value
stands for best performance.

Features |  Music chord
---|---
Chroma | 0.70 $\pm$ 0.01
Interpolated PSD | 0.74 $\pm$ 0.01
Spectrogram pooling | 0.72 $\pm$ 0.01

Figure 6: Example of learned dictionaries per each class on music chord
dataset. Figure 7: Similarity between different learned dictionaries on music
chord dataset. X-axis and Y-axis stand for the class numbers.

Figure 6 and Figure 7 show the learned dictionaries and the pairwise
similarity between them. Contrary to CASR Rouen dataset, it can be seen that
the highest similarity between learned dictionaries is on the diagonal. This
means that the resulting dictionaries are different between them leading to
extract diverse information per class. While chroma, interpolated PSD and
spectrogram failed totally to reach good performances based on a linear SVM,
our dictionary learning method could achieve very promising results.

Linear classification is a computationally efficient way to categorize test
samples. It consists in finding a linear separator between two classes. Linear
classification has been the focus of much research in machine learning for
decades and the resulting algorithms are well understood. However, many
datasets cannot be separated linearly and require complex nonlinear
classifiers which is the case of our music chord dataset.

A popular solution to enjoy the benefits of linear classifiers is to embed the
data into a high dimensional feature space, where a linear classifier
eventually exists. The feature space mapping is chosen to be nonlinear in
order to convert nonlinear relations to linear relations. This nonlinear
classification framework is at the heart of the popular kernel-based methods
[97]. Despite the popularity of kernel-based classification, its computational
complexity at test time strongly depends on the number of training samples
[98], which limits its applicability in large scale datasets.

An eventual alternative to kernel methods, is sparse coding which consists in
finding a compact representation of the data in an overcomplete learned
dictionary which can be seen as a nonlinear feature representation mapping.
This is confirmed by our experiments which clearly shows that our proposed
dictionary learning method outperforms the other hand-crafted features. A
success story of automatically learning useful features is represented by deep
learning techniques [99, 100] which aim to learn several hierarchical layers,
each layer can be seen as a kind of mapping operation to the one from
dictionary learning.

##  4 Conclusion

We have proposed a novel supervised dictionary learning method for audio
signal recognition. The proposed method seek to minimize the intra-class
variations, maximize the inter-class variations and promote the sparsity to
control the complexity of the signal decomposition over the dictionary. This
is done by learning a dictionary per class, minimizing the class based
reconstruction error and promoting the pairwise orthogonality of the
dictionaries. The learned dictionaries are supposed to provide diverse
information per class. The resulting problem is non-convex and solved using a
proximal gradient descent method.

Our proposed method was extensively tested on two different audio recognition
applications: computational auditory scene recognition and music chord
recognition. The obtained results were compared to different conventional
hand-crafted features. While there is no universal hand-crafted feature
representation able to successfully tackle different audio recognition
problems, our proposed dictionary learning method combined with a simple
linear classifier showed very promising results while dealing with the two
diverse recognition problems.

Despite the simplicity and good performances of our approach, we could notice
that the task to make the learned dictionaries as different as possible is
hardly feasible when dealing with large number of classes. An example is human
identity recognition based on gait where each individual is seen as a class.

A possible alternative is to jointly learn the dictionary and classifier by
incorporating a classification cost term. However, this will be leading to
many parameters to tune, which makes the approach computationally expensive.

## References

  * [1] Richard F Lyon.  Machine hearing: An emerging field [exploratory dsp].  Ieee signal processing magazine, 27(5):131–139, 2010.
  * [2] Laurent Oudre, Yves Grenier, and Cédric Févotte.  Template-based chord recognition: Influence of the chord types.  In ISMIR, pages 153–158, 2009.
  * [3] Laurent Oudre, Yves Grenier, and Cédric Févotte.  Chord recognition by fitting rescaled chroma vectors to chord templates.  IEEE Transactions on Audio, Speech, and Language Processing, 19(7):2222–2233, 2011.
  * [4] Takuya Fujishima.  Realtime chord recognition of musical sound: A system using common lisp music.  In Proc. ICMC, volume 1999, pages 464–467, 1999.
  * [5] Alexander Sheh and Daniel PW Ellis.  Chord segmentation and recognition using em-trained hidden markov models.  In ISMIR, volume 3, pages 183–189, 2003.
  * [6] Matthias Mauch and Simon Dixon.  Simultaneous estimation of chords and musical context from audio.  IEEE Transactions on Audio, Speech, and Language Processing, 18(6):1280–1289, 2010.
  * [7] Daniel PW Ellis.  Classifying music audio with timbral and chroma features.  In ISMIR, volume 7, pages 339–340, 2007.
  * [8] Riccardo Miotto and Nicola Orio.  A music identification system based on chroma indexing and statistical modeling.  In ISMIR, pages 301–306, 2008.
  * [9] Mark A Bartsch and Gregory H Wakefield.  Audio thumbnailing of popular music using chroma-based representations.  IEEE Transactions on multimedia, 7(1):96–104, 2005.
  * [10] Steven Davis and Paul Mermelstein.  Comparison of parametric representations for monosyllabic word recognition in continuously spoken sentences.  IEEE transactions on acoustics, speech, and signal processing, 28(4):357–366, 1980.
  * [11] Tomi Kinnunen, Rahim Saeidi, Filip Sedlák, Kong Aik Lee, Johan Sandberg, Maria Hansson-Sandsten, and Haizhou Li.  Low-variance multitaper mfcc features: a case study in robust speaker verification.  IEEE Transactions on Audio, Speech, and Language Processing, 20(7):1990–2001, 2012.
  * [12] Fang Zheng, Guoliang Zhang, and Zhanjiang Song.  Comparison of different implementations of mfcc.  Journal of Computer Science and Technology, 16(6):582–589, 2001\.
  * [13] Mohamed Benzeghiba, Renato De Mori, Olivier Deroo, Stephane Dupont, Teodora Erbes, Denis Jouvet, Luciano Fissore, Pietro Laface, Alfred Mertins, Christophe Ris, et al.  Automatic speech recognition and speech variability: A review.  Speech Communication, 49(10):763–786, 2007.
  * [14] Jinyu Li, Li Deng, Yifan Gong, and Reinhold Haeb-Umbach.  An overview of noise-robust automatic speech recognition.  IEEE/ACM Transactions on Audio, Speech, and Language Processing, 22(4):745–777, 2014.
  * [15] Imad Rida.  Feature extraction for temporal signal recognition: An overview.  arXiv preprint arXiv:1812.01780, 2018.
  * [16] Dan Ellis.  Computational auditory scene analysis exploiting speech-recognition knowledge.  In Applications of Signal Processing to Audio and Acoustics, 1997\. 1997 IEEE ASSP Workshop on, pages 4–pp. IEEE, 2004.
  * [17] Vesa Peltonen, Juha Tuomi, Anssi Klapuri, Jyri Huopaniemi, and Timo Sorsa.  Computational auditory scene recognition.  In Acoustics, Speech, and Signal Processing (ICASSP), 2002 IEEE International Conference on, volume 2, pages II–1941. IEEE, 2002.
  * [18] Manuel Davy, Arthur Gretton, Arnaud Doucet, Peter JW Rayner, et al.  Optimized support vector machines for nonstationary signal classification.  IEEE Signal Processing Letters, 9(12):442–445, 2002.
  * [19] Maxime Sangnier, Jérôme Gauthier, and Alain Rakotomamonjy.  Filter bank learning for signal classification.  Signal Processing, 113:124–137, 2015.
  * [20] Eric Jones, Paul Runkle, Nilanjan Dasgupta, Luise Couchman, and Lawrence Carin.  Genetic algorithm wavelet design for signal classification.  IEEE Transactions on Pattern Analysis and Machine Intelligence, 23(8):890–895, 2001.
  * [21] Daniel J Strauss, Gabriele Steidl, and Wolfgang Delb.  Feature extraction by shape-adapted local discriminant bases.  Signal Processing, 83(2):359–376, 2003.
  * [22] Florian Yger and Alain Rakotomamonjy.  Wavelet kernel learning.  Pattern Recognition, 44(10):2614–2629, 2011.
  * [23] Paul Honeiné, Cédric Richard, Patrick Flandrin, and J-B Pothin.  Optimal selection of time-frequency representations for signal classification: A kernel-target alignment approach.  In 2006 IEEE International Conference on Acoustics Speech and Signal Processing Proceedings, volume 3, pages III–III. IEEE, 2006.
  * [24] Julien Mairal, Jean Ponce, Guillermo Sapiro, Andrew Zisserman, and Francis R Bach.  Supervised dictionary learning.  In Advances in neural information processing systems, pages 1033–1040, 2009.
  * [25] Ignacio Ramirez, Pablo Sprechmann, and Guillermo Sapiro.  Classification and clustering via dictionary learning with structured incoherence and shared features.  In Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on, pages 3501–3508. IEEE, 2010.
  * [26] Alain Biem, Shigeru Katagiri, Erik McDermott, and Biing-Hwang Juang.  An application of discriminative feature extraction to filter-bank-based speech recognition.  IEEE Transactions on Speech and Audio Processing, 9(2):96–110, 2001\.
  * [27] Ahmed H Tewfik, Deepen Sinha, and Paul Jorgensen.  On the optimal choice of a wavelet for signal representation.  IEEE Transactions on information theory, 38(2):747–765, 1992.
  * [28] Roger L Claypoole, Richard G Baraniuk, and Robert D Nowak.  Adaptive wavelet transforms via lifting.  In Acoustics, Speech and Signal Processing, 1998. Proceedings of the 1998 IEEE International Conference on, volume 3, pages 1513–1516. IEEE, 1998\.
  * [29] David E Goldberg and John H Holland.  Genetic algorithms and machine learning.  Machine learning, 3(2):95–99, 1988.
  * [30] Naoki Saito, Ronald R Coifman, Frank B Geshwind, and Fred Warner.  Discriminant feature extraction using empirical probability density estimation and a local basis library.  Pattern Recognition, 35(12):2841–2852, 2002.
  * [31] N Cristitiaini, A Elissee, J Shawe-Taylor, and J Kandola.  On kernel-target alignment.  NIPS, 2002.
  * [32] Michael Elad and Michal Aharon.  Image denoising via sparse and redundant representations over learned dictionaries.  Image Processing, IEEE Transactions on, 15(12):3736–3745, 2006\.
  * [33] Imad Rida, Somaya Almaadeed, and Ahmed Bouridane.  Gait recognition based on modified phase-only correlation.  Signal, Image and Video Processing, 10(3):463–470, 2016.
  * [34] Michael Elad, Mario AT Figueiredo, and Yi Ma.  On the role of sparse and redundant representations in image processing.  Proceedings of the IEEE, 98(6):972–982, 2010.
  * [35] Julien Mairal, Francis Bach, and Jean Ponce.  Task-driven dictionary learning.  IEEE Transactions on Pattern Analysis and Machine Intelligence, 34(4):791–804, 2012.
  * [36] Erik McDermott and Shigeru Katagiri.  Prototype-based minimum classification error/generalized probabilistic descent training for various speech units.  Computer Speech & Language, 8(4):351–368, 1994.
  * [37] Alain Rakotomamonjy, Francis R Bach, Stéphane Canu, and Yves Grandvalet.  Simplemkl.  Journal of Machine Learning Research, 9(Nov):2491–2521, 2008.
  * [38] Julien Mairal, Michael Elad, and Guillermo Sapiro.  Sparse representation for color image restoration.  Image Processing, IEEE Transactions on, 17(1):53–69, 2008.
  * [39] Bin Cheng, Jianchao Yang, Shuicheng Yan, Yun Fu, and Thomas S Huang.  Learning with-graph for image analysis.  Image Processing, IEEE Transactions on, 19(4):858–866, 2010.
  * [40] John Wright, Yi Ma, Julien Mairal, Guillermo Sapiro, Thomas S Huang, and Shuicheng Yan.  Sparse representation for computer vision and pattern recognition.  Proceedings of the IEEE, 98(6):1031–1044, 2010.
  * [41] David M Bradley and J Andrew Bagnell.  Differential sparse coding.  2008\.
  * [42] Imad Rida, Somaya Al-Maadeed, Arif Mahmood, Ahmed Bouridane, and Sambit Bakshi.  Palmprint identification using an ensemble of sparse representations.  IEEE Access, 6:3241–3248, 2018.
  * [43] Imad Rida, Xudong Jiang, and Gian Luca Marcialis.  Human body part selection by group lasso of motion for model-free gait recognition.  IEEE Signal Processing Letters, 23(1):154–158, 2015.
  * [44] Somaya Al Maadeed, Xudong Jiang, Imad Rida, and Ahmed Bouridane.  Palmprint identification using sparse and dense hybrid representation.  Multimedia Tools and Applications, 78(5):5665–5679, 2019.
  * [45] Imad Rida, Somaya Al Maadeed, Xudong Jiang, Fei Lunke, and Abdelaziz Bensrhair.  An ensemble learning method based on random subspace sampling for palmprint identification.  In 2018 IEEE International conference on acoustics, speech and signal processing (ICASSP), pages 2047–2051. IEEE, 2018.
  * [46] Imad Rida, Romain Herault, Gian Luca Marcialis, and Gilles Gasso.  Palmprint recognition with an efficient data driven ensemble classifier.  Pattern Recognition Letters, 126:21–30, 2019.
  * [47] Imad Rida, Larbi Boubchir, Noor Al-Maadeed, Somaya Al-Maadeed, and Ahmed Bouridane.  Robust model-free gait recognition by statistical dependency feature selection and globality-locality preserving projections.  In 2016 39th International Conference on Telecommunications and Signal Processing (TSP), pages 652–655. IEEE, 2016.
  * [48] Imad Rida, Somaya Al Maadeed, and Ahmed Bouridane.  Unsupervised feature selection method for improved human gait recognition.  In 2015 23rd European Signal Processing Conference (EUSIPCO), pages 1128–1132. IEEE, 2015.
  * [49] Imad Rida, Noor Al-Maadeed, Somaya Al-Maadeed, and Sambit Bakshi.  A comprehensive overview of feature representation for biometric recognition.  Multimedia Tools and Applications, pages 1–24, 2018.
  * [50] Imad Rida, Noor Al Maadeed, and Somaya Al Maadeed.  A novel efficient classwise sparse and collaborative representation for holistic palmprint recognition.  In 2018 NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pages 156–161. IEEE, 2018.
  * [51] Frédéric Dehais, Imad Rida, Raphaëlle N Roy, John Iversen, Tim Mullen, and Daniel Callan.  A pbci to predict attentional error before it happens in real flight conditions.  In 2019 IEEE International Conference on Systems, Man and Cybernetics (SMC), pages 4155–4160. IEEE, 2019.
  * [52] Mehrdad J Gangeh, Ahmed K Farahat, Ali Ghodsi, and Mohamed S Kamel.  Supervised dictionary learning and sparse representation-a review.  arXiv preprint arXiv:1502.05928, 2015.
  * [53] John Wright, Allen Y Yang, Arvind Ganesh, S Shankar Sastry, and Yi Ma.  Robust face recognition via sparse representation.  IEEE transactions on pattern analysis and machine intelligence, 31(2):210–227, 2009.
  * [54] Meng Yang, Lei Zhang, Jian Yang, and Dejing Zhang.  Metaface learning for sparse representation based face recognition.  In Image Processing (ICIP), 2010 17th IEEE International Conference on, pages 1601–1604. IEEE, 2010.
  * [55] Shu Kong and Donghui Wang.  A dictionary learning approach for classification: separating the particularity and the commonality.  In European Conference on Computer Vision, pages 186–199. Springer, 2012.
  * [56] Brian Fulkerson, Andrea Vedaldi, and Stefano Soatto.  Localizing objects with smart dictionaries.  In European Conference on Computer Vision, pages 179–192. Springer, 2008.
  * [57] John Winn, Antonio Criminisi, and Thomas Minka.  Object categorization by learned universal visual dictionary.  In Tenth IEEE International Conference on Computer Vision (ICCV’05) Volume 1, volume 2, pages 1800–1807. IEEE, 2005.
  * [58] Qiang Zhang and Baoxin Li.  Discriminative k-svd for dictionary learning in face recognition.  In Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on, pages 2691–2698. IEEE, 2010.
  * [59] Haichao Zhang, Yanning Zhang, and Thomas S Huang.  Simultaneous discriminative projection and dictionary learning for sparse representation based classification.  Pattern Recognition, 46(1):346–354, 2013.
  * [60] Svetlana Lazebnik and Maxim Raginsky.  Supervised learning of quantizer codebooks by information loss minimization.  IEEE transactions on pattern analysis and machine intelligence, 31(7):1294–1309, 2009.
  * [61] Meng Yang, Lei Zhang, Xiangchu Feng, and David Zhang.  Fisher discrimination dictionary learning for sparse representation.  In Computer Vision (ICCV), 2011 IEEE International Conference on, pages 543–550. IEEE, 2011.
  * [62] Manik Varma and Andrew Zisserman.  A statistical approach to material classification using image patch exemplars.  IEEE transactions on pattern analysis and machine intelligence, 31(11):2032–2047, 2009.
  * [63] Xiao-Chen Lian, Zhiwei Li, Changhu Wang, Bao-Liang Lu, and Lei Zhang.  Probabilistic models for supervised dictionary learning.  In CVPR, pages 2305–2312, 2010.
  * [64] Honglak Lee, Alexis Battle, Rajat Raina, and Andrew Y Ng.  Efficient sparse coding algorithms.  In Advances in neural information processing systems, pages 801–808, 2006.
  * [65] Kaare Brandt Petersen, Michael Syskind Pedersen, et al.  The matrix cookbook.  Technical University of Denmark, 7:15, 2008.
  * [66] Bernhard Schölkopf and Alexander J Smola.  Learning with kernels: support vector machines, regularization, optimization, and beyond.  MIT press, 2002.
  * [67] Daniele Barchiesi, Dimitrios Giannoulis, Dan Stowell, and Mark D Plumbley.  Acoustic scene classification: Classifying environments from the sounds they produce.  IEEE Signal Processing Magazine, 32(3):16–34, 2015.
  * [68] Antti J Eronen, Vesa T Peltonen, Juha T Tuomi, Anssi P Klapuri, Seppo Fagerlund, Timo Sorsa, Gaëtan Lorho, and Jyri Huopaniemi.  Audio-based context recognition.  IEEE Transactions on Audio, Speech, and Language Processing, 14(1):321–329, 2006.
  * [69] Nitin Sawhney and Pattie Maes.  Situational awareness from environmental sounds.  Project Rep. for Pattie Maes, 1997.
  * [70] Brian Clarkson, Nitin Sawhney, and Alex Pentland.  Auditory context awareness via wearable computing.  Energy, 400(600):20, 1998.
  * [71] Kyogu Lee, Ziwon Hyung, and Juhan Nam.  Acoustic scene classification using sparse feature learning and event-based pooling.  In 2013 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, pages 1–4. IEEE, 2013.
  * [72] Jean-Julien Aucouturier, Boris Defreville, and François Pachet.  The bag-of-frames approach to audio pattern recognition: A sufficient model for urban soundscapes but not for polyphonic music.  The Journal of the Acoustical Society of America, 122(2):881–891, 2007.
  * [73] Ling Ma, Ben Milner, and Dan Smith.  Acoustic environment classification.  ACM Transactions on Speech and Language Processing (TSLP), 3(2):1–22, 2006.
  * [74] Robert G Malkin and Alex Waibel.  Classifying user environment for mobile applications using linear autoencoding of ambient audio.  In Proceedings.(ICASSP’05). IEEE International Conference on Acoustics, Speech, and Signal Processing, 2005., volume 5, pages v–509. IEEE, 2005.
  * [75] Waldo Nogueira, Gerard Roma, and Perfecto Herrera.  Sound scene identification based on mfcc, binaural features and a support vector machine classifier.  IEEE AASP Challenge on Detection and Classification of Acoustic Scenes and Events, 2013.
  * [76] Johannes D Krijnders and GA ten Holt.  A tone-fit feature representation for scene classification.  Energy [dB], 400(450):500, 2013.
  * [77] Selina Chu, Shrikanth Narayanan, and C-C Jay Kuo.  Environmental sound recognition with time–frequency audio features.  IEEE Transactions on Audio, Speech, and Language Processing, 17(6):1142–1158, 2009.
  * [78] Kailash Patil and Mounya Elhilali.  Multiresolution auditory representations for scene classification.  cortex, 87(1):516–527, 2002.
  * [79] Benjamin Cauchi.  Non-negative matrix factorisation applied to auditory scenes classification.  Master’s thesis, Master ATIAM, Université Pierre et Marie Curie, 2011.
  * [80] Emmanouil Benetos, Mathieu Lagrange, and Simon Dixon.  Characterisation of acoustic scenes using a temporally constrained shit-invariant model.  In DAFx, 2012.
  * [81] Alain Rakotomamonjy and Gilles Gasso.  Histogram of gradients of time-frequency representations for audio scene classification.  IEEE/ACM Transactions on Audio, Speech and Language Processing (TASLP), 23(1):142–153, 2015.
  * [82] Toni Heittola, Annamaria Mesaros, Antti Eronen, and Tuomas Virtanen.  Audio context recognition using audio event histograms.  In Signal Processing Conference, 2010 18th European, pages 1272–1276. IEEE, 2010.
  * [83] Pengfei Hu, Wenju Liu, Wei Jiang, et al.  Combining frame and segment based models for environmental sound classification.  In INTERSPEECH, pages 2502–2505, 2012.
  * [84] Jürgen T Geiger, Björn Schuller, and Gerhard Rigoll.  Large-scale audio feature extraction and svm for acoustic scene classification.  In 2013 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, pages 1–4. IEEE, 2013.
  * [85] Gerard Roma, Waldo Nogueira, and Perfecto Herrera.  Recurrence quantification analysis features for environmental sound recognition.  In 2013 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics, pages 1–4. IEEE, 2013.
  * [86] Courtenay V Cotton and Daniel PW Ellis.  Spectral vs. spectro-temporal features for acoustic event detection.  In 2011 IEEE Workshop on Applications of Signal Processing to Audio and Acoustics (WASPAA), pages 69–72. IEEE, 2011.
  * [87] Guoshen Yu and Jean-Jacques Slotine.  Audio classification from time-frequency texture.  arXiv preprint arXiv:0809.4501, 2008.
  * [88] Jonathan Dennis, Huy Dat Tran, and Eng Siong Chng.  Image feature representation of the subband power distribution for robust sound event classification.  IEEE Transactions on Audio, Speech, and Language Processing, 21(2):367–377, 2013.
  * [89] Ling Ma, DJ Smith, and Ben P Milner.  Context awareness using environmental noise classification.  In INTERSPEECH, 2003.
  * [90] Michal Aharon, Michael Elad, and Alfred Bruckstein.  K-svd: An algorithm for designing overcomplete dictionaries for sparse representation.  IEEE Transactions on signal processing, 54(11):4311–4322, 2006\.
  * [91] George Tzanetakis and Perry Cook.  Musical genre classification of audio signals.  Speech and Audio Processing, IEEE transactions on, 10(5):293–302, 2002.
  * [92] Hélene Papadopoulos and Geoffroy Peeters.  Simultaneous estimation of chord progression and downbeats from an audio file.  In 2008 IEEE International Conference on Acoustics, Speech and Signal Processing, pages 121–124. IEEE, 2008.
  * [93] Hélene Papadopoulos and Geoffroy Peeters.  Large-scale study of chord estimation algorithms based on chroma representation and hmm.  In 2007 International Workshop on Content-Based Multimedia Indexing, pages 53–60. IEEE, 2007.
  * [94] Kyogu Lee.  Automatic chord recognition from audio using enhanced pitch class profile.  In Proc. of the International Computer Music Conference, page 26, 2006.
  * [95] Adrian Weller, Daniel Ellis, and Tony Jebara.  Structured prediction models for chord transcription of music audio.  In Machine Learning and Applications, 2009. ICMLA’09. International Conference on, pages 590–595. IEEE, 2009.
  * [96] Imad Rida, Romain Herault, and Gilles Gasso.  Supervised music chord recognition.  In Machine Learning and Applications (ICMLA), 2014 13th International Conference on, pages 336–341. IEEE, 2014.
  * [97] John Shawe-Taylor and Nello Cristianini.  Kernel methods for pattern analysis.  Cambridge university press, 2004.
  * [98] Christopher JC Burges.  A tutorial on support vector machines for pattern recognition.  Data mining and knowledge discovery, 2(2):121–167, 1998.
  * [99] Yoshua Bengio, Aaron Courville, and Pierre Vincent.  Representation learning: A review and new perspectives.  Pattern Analysis and Machine Intelligence, IEEE Transactions on, 35(8):1798–1828, 2013.
  * [100] Yann LeCun, Yoshua Bengio, and Geoffrey Hinton.  Deep learning.  Nature, 521(7553):436–444, 2015.