[06cae6c] | 1 | /* |
---|
[b235c0e] | 2 | Copyright (C) 2007-2013 Paul Brossier <piem@aubio.org> |
---|
[06cae6c] | 3 | and Amaury Hazan <ahazan@iua.upf.edu> |
---|
| 4 | |
---|
[1c2e186] | 5 | This file is part of aubio. |
---|
[06cae6c] | 6 | |
---|
[1c2e186] | 7 | aubio is free software: you can redistribute it and/or modify |
---|
[06cae6c] | 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 | |
---|
[1c2e186] | 12 | aubio is distributed in the hope that it will be useful, |
---|
[06cae6c] | 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 |
---|
[1c2e186] | 18 | along with aubio. If not, see <http://www.gnu.org/licenses/>. |
---|
[06cae6c] | 19 | |
---|
| 20 | */ |
---|
| 21 | |
---|
| 22 | /** \file |
---|
| 23 | |
---|
[c0608bd] | 24 | Filterbank object coefficients initialization |
---|
[06cae6c] | 25 | |
---|
[c0608bd] | 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. |
---|
[06cae6c] | 29 | |
---|
[b8c0685] | 30 | \example spectral/test-filterbank_mel.c |
---|
| 31 | |
---|
[06cae6c] | 32 | */ |
---|
| 33 | |
---|
[6f42c16] | 34 | #ifndef AUBIO_FILTERBANK_MEL_H |
---|
| 35 | #define AUBIO_FILTERBANK_MEL_H |
---|
[06cae6c] | 36 | |
---|
| 37 | #ifdef __cplusplus |
---|
[cfd35db] | 38 | extern "C" |
---|
| 39 | { |
---|
[06cae6c] | 40 | #endif |
---|
| 41 | |
---|
[3c18f9e] | 42 | /** filterbank initialization with triangular and overlapping bands |
---|
[06cae6c] | 43 | |
---|
[1e37ade] | 44 | \param fb filterbank object |
---|
| 45 | \param freqs arbitrary array of boundary frequencies |
---|
[b507607] | 46 | \param samplerate audio sampling rate |
---|
[1e37ade] | 47 | |
---|
| 48 | This function computes the coefficients of the filterbank based on the |
---|
[3c18f9e] | 49 | boundaries found in freqs, in Hz, and using triangular overlapping bands. |
---|
[06cae6c] | 50 | |
---|
| 51 | */ |
---|
[3c18f9e] | 52 | uint_t aubio_filterbank_set_triangle_bands (aubio_filterbank_t * fb, |
---|
[feb694b] | 53 | const fvec_t * freqs, smpl_t samplerate); |
---|
[1e37ade] | 54 | |
---|
| 55 | /** filterbank initialization for Mel filters using Slaney's coefficients |
---|
| 56 | |
---|
| 57 | \param fb filterbank object |
---|
| 58 | \param samplerate audio sampling rate |
---|
| 59 | |
---|
[c0608bd] | 60 | The filter coefficients are built according to Malcolm Slaney's Auditory |
---|
[e4f8e57] | 61 | Toolbox, available at http://engineering.purdue.edu/~malcolm/interval/1998-010/ |
---|
[c0608bd] | 62 | (see file mfcc.m). |
---|
[1e37ade] | 63 | |
---|
| 64 | */ |
---|
[3c18f9e] | 65 | uint_t aubio_filterbank_set_mel_coeffs_slaney (aubio_filterbank_t * fb, |
---|
[1e37ade] | 66 | smpl_t samplerate); |
---|
[06cae6c] | 67 | |
---|
| 68 | #ifdef __cplusplus |
---|
| 69 | } |
---|
| 70 | #endif |
---|
| 71 | |
---|
[6f42c16] | 72 | #endif /* AUBIO_FILTERBANK_MEL_H */ |
---|