source: src/filterbank.h @ 53a7576

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since 53a7576 was 73eaa2e, checked in by Paul Brossier <piem@piem.org>, 17 years ago

update copyrights, remove old libxtract code, cosmetic header changes

  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2   Copyright (C) 2007 Amaury Hazan <ahazan@iua.upf.edu>
3                  and Paul Brossier <piem@piem.org>
4
5   This program is free software; you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation; either version 2 of the License, or
8   (at your option) any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14
15   You should have received a copy of the GNU General Public License
16   along with this program; if not, write to the Free Software
17   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18*/
19
20/** \file
21
22  Filterbank object
23
24  General-purpose spectral filterbank object. Comes with mel-filter initialization function.
25
26*/
27
28#ifndef FILTERBANK_H
29#define FILTERBANK_H
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35typedef struct aubio_filterbank_t_ aubio_filterbank_t;
36
37/** create filterbank object
38
39  \param win_s size of analysis buffer (and length the FFT transform)
40  \param n_filters number of filters to create
41
42*/
43
44aubio_filterbank_t * new_aubio_filterbank(uint_t n_filters, uint_t win_s);
45
46/** destroy filterbank object
47
48  \param fb filterbank, as returned by new_aubio_filterbank method
49
50*/
51void del_aubio_filterbank(aubio_filterbank_t * fb);
52
53/** filterbank initialization for mel filters
54
55  \param fb filterbank, as returned by new_aubio_filterbank method
56  \param nyquist nyquist frequency, i.e. half of the sampling rate
57  \param style libxtract style
58  \param freqmin lowest filter frequency
59  \param freqmax highest filter frequency
60
61*/
62void aubio_filterbank_mfcc_init(aubio_filterbank_t * fb, smpl_t nyquist, int style, smpl_t freq_min, smpl_t freq_max);
63
64// Initialization
65
66/** \brief A function to initialise a mel filter bank
67 *
68 * It is up to the caller to pass in a pointer to memory allocated for freq_bands arrays of length N. This function populates these arrays with magnitude coefficients representing the mel filterbank on a linear scale
69 */
70int aubio_mfcc_init(int N, smpl_t nyquist, int style, smpl_t freq_min, smpl_t freq_max, int freq_bands, smpl_t ** fft_tables);
71
72#ifdef __cplusplus
73}
74#endif
75
76#endif // FILTERBANK_H
Note: See TracBrowser for help on using the repository browser.