aubio  0.4.9
resampler.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2003-2015 Paul Brossier <piem@aubio.org>
3 
4  This file is part of aubio.
5 
6  aubio is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  aubio is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with aubio. If not, see <http://www.gnu.org/licenses/>.
18 
19 */
20 
21 #ifndef AUBIO_RESAMPLER_H
22 #define AUBIO_RESAMPLER_H
23 
24 /** \file
25 
26  Resampling object
27 
28  This object resamples an input vector into an output vector using
29  libsamplerate. See http://www.mega-nerd.com/SRC/
30 
31 */
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /** resampler object */
38 typedef struct _aubio_resampler_t aubio_resampler_t;
39 
40 /** create resampler object
41 
42  \param ratio output_sample_rate / input_sample_rate
43  \param type libsamplerate resampling type, see http://www.mega-nerd.com/SRC/api_misc.html#Converters
44 
45 */
47 
48 /** delete resampler object */
50 
51 /** resample input in output
52 
53  \param s resampler object
54  \param input input buffer of size N
55  \param output output buffer of size N*ratio
56 
57 */
58 void aubio_resampler_do (aubio_resampler_t * s, const fvec_t * input,
59  fvec_t * output);
60 
61 #ifdef __cplusplus
62 }
63 #endif
64 
65 #endif /* AUBIO_RESAMPLER_H */
float smpl_t
short sample format (32 or 64 bits)
Definition: types.h:41
void aubio_resampler_do(aubio_resampler_t *s, const fvec_t *input, fvec_t *output)
resample input in output
Buffer for real data.
Definition: fvec.h:67
unsigned int uint_t
unsigned integer
Definition: types.h:60
aubio_resampler_t * new_aubio_resampler(smpl_t ratio, uint_t type)
create resampler object
struct _aubio_resampler_t aubio_resampler_t
resampler object
Definition: resampler.h:38
void del_aubio_resampler(aubio_resampler_t *s)
delete resampler object