src/spectral/mfcc.c: clean-up trailing ;
[aubio.git] / src / spectral / filterbank_mel.h
1 /*
2   Copyright (C) 2007-2013 Paul Brossier <piem@aubio.org>
3                       and Amaury Hazan <ahazan@iua.upf.edu>
4
5   This file is part of aubio.
6
7   aubio is free software: you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation, either version 3 of the License, or
10   (at your option) any later version.
11
12   aubio is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with aubio.  If not, see <http://www.gnu.org/licenses/>.
19
20 */
21
22 /** \file
23
24   Filterbank object coefficients initialization
25
26   Functions to create set the ::aubio_filterbank_t coefficients to
27     - ::aubio_filterbank_set_triangle_bands: overlapping triangular bands,
28     - ::aubio_filterbank_set_mel_coeffs_slaney: Mel frequency bands.
29
30   \example spectral/test-filterbank_mel.c
31
32 */
33
34 #ifndef AUBIO_FILTERBANK_MEL_H
35 #define AUBIO_FILTERBANK_MEL_H
36
37 #ifdef __cplusplus
38 extern "C"
39 {
40 #endif
41
42 /** filterbank initialization with triangular and overlapping bands
43
44   \param fb filterbank object
45   \param freqs arbitrary array of boundary frequencies
46   \param samplerate audio sampling rate
47
48   This function computes the coefficients of the filterbank based on the
49   boundaries found in freqs, in Hz, and using triangular overlapping bands.
50
51 */
52 uint_t aubio_filterbank_set_triangle_bands (aubio_filterbank_t * fb,
53     const fvec_t * freqs, smpl_t samplerate);
54
55 /** filterbank initialization for Mel filters using Slaney's coefficients
56
57   \param fb filterbank object
58   \param samplerate audio sampling rate
59
60   The filter coefficients are built according to Malcolm Slaney's Auditory
61   Toolbox, available at http://engineering.purdue.edu/~malcolm/interval/1998-010/
62   (see file mfcc.m).
63
64 */
65 uint_t aubio_filterbank_set_mel_coeffs_slaney (aubio_filterbank_t * fb,
66     smpl_t samplerate);
67
68 #ifdef __cplusplus
69 }
70 #endif
71
72 #endif /* AUBIO_FILTERBANK_MEL_H */