source: examples/utils.h @ 7280e67

feature/autosinkfeature/cnnfeature/cnn_orgfeature/constantqfeature/crepefeature/crepe_orgfeature/pitchshiftfeature/pydocstringsfeature/timestretchfix/ffmpeg5pitchshiftsamplertimestretchyinfft+
Last change on this file since 7280e67 was 61316a6, checked in by Paul Brossier <piem@piem.org>, 15 years ago

examples plugins: update to latest pitch prototypes

  • Property mode set to 100644
File size: 3.6 KB
Line 
1/*
2  Copyright (C) 2003-2009 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#include <stdio.h>
22#include <stdlib.h>
23#include <stdarg.h>
24#include <getopt.h>
25#include <unistd.h>
26#include <math.h>               /* for isfinite */
27#include <string.h>             /* for strcmp */
28#include <aubio.h>
29#include <aubioext.h>
30
31#ifdef HAVE_C99_VARARGS_MACROS
32#define debug(...)              if (verbose) fprintf (stderr, __VA_ARGS__)
33#define errmsg(...)             fprintf (stderr, __VA_ARGS__)
34#define outmsg(...)             fprintf (stdout, __VA_ARGS__)
35#else
36#define debug(format, args...)  if (verbose) fprintf(stderr, format , ##args)
37#define errmsg(format, args...) fprintf(stderr, format , ##args)
38#define outmsg(format, args...) fprintf(stdout, format , ##args)
39#endif
40
41
42extern int frames;
43extern int verbose;
44extern int usejack;
45extern int usedoubled;
46extern int frames_delay;
47extern unsigned int median;
48extern const char *output_filename;
49extern const char *input_filename;
50/* defined in utils.c */
51void usage (FILE * stream, int exit_code);
52int parse_args (int argc, char **argv);
53void examples_common_init (int argc, char **argv);
54void examples_common_del (void);
55typedef void (aubio_print_func_t) (void);
56#ifndef HAVE_JACK
57typedef int (*aubio_process_func_t)
58  (smpl_t ** input, smpl_t ** output, int nframes);
59#endif
60void examples_common_process (aubio_process_func_t process_func,
61    aubio_print_func_t print);
62void flush_process (aubio_process_func_t process_func,
63    aubio_print_func_t print);
64
65
66void send_noteon (int pitch, int velo);
67/** append new note candidate to the note_buffer and return filtered value. we
68 * need to copy the input array as fvec_median destroy its input data.*/
69void note_append (fvec_t * note_buffer, smpl_t curnote);
70uint_t get_note (fvec_t * note_buffer, fvec_t * note_buffer2);
71
72extern const char *output_filename;
73extern const char *input_filename;
74extern const char *onset_filename;
75extern int verbose;
76extern int usejack;
77extern int usedoubled;
78
79
80/* energy,specdiff,hfc,complexdomain,phase */
81extern aubio_onsetdetection_type type_onset;
82extern aubio_onsetdetection_type type_onset2;
83extern smpl_t threshold;
84extern smpl_t silence;
85extern uint_t buffer_size;
86extern uint_t overlap_size;
87extern uint_t channels;
88extern uint_t samplerate;
89
90
91extern aubio_sndfile_t *file;
92extern aubio_sndfile_t *fileout;
93
94extern aubio_pvoc_t *pv;
95extern fvec_t *ibuf;
96extern fvec_t *obuf;
97extern fvec_t *pitch_obuf;
98extern cvec_t *fftgrain;
99extern fvec_t *woodblock;
100extern aubio_onsetdetection_t *o;
101extern aubio_onsetdetection_t *o2;
102extern fvec_t *onset;
103extern fvec_t *onset2;
104extern smpl_t isonset;
105extern aubio_peakpicker_t *parms;
106
107
108/* pitch objects */
109extern smpl_t pitch;
110extern aubio_pitchdetection_t *pitchdet;
111extern aubio_pitchdetection_type mode;
112extern uint_t median;
113
114extern fvec_t *note_buffer;
115extern fvec_t *note_buffer2;
116extern smpl_t curlevel;
117extern smpl_t maxonset;
118
119extern smpl_t curnote;
120extern smpl_t newnote;
121extern uint_t isready;
122
123/* per example param */
124extern uint_t usepitch;
Note: See TracBrowser for help on using the repository browser.