source: examples/utils.h @ e8ae95ac

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

src/pitch: use a string to set pitch method, add a new function to set pitch unit, keep pitch enums private, update pitch methods where they are used

  • Property mode set to 100644
File size: 3.5 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 char_t * onset_mode;
82extern smpl_t threshold;
83extern smpl_t silence;
84extern uint_t buffer_size;
85extern uint_t overlap_size;
86extern uint_t channels;
87extern uint_t samplerate;
88
89
90extern aubio_sndfile_t *file;
91extern aubio_sndfile_t *fileout;
92
93extern aubio_pvoc_t *pv;
94extern fvec_t *ibuf;
95extern fvec_t *obuf;
96extern fvec_t *pitch_obuf;
97extern cvec_t *fftgrain;
98extern fvec_t *woodblock;
99extern aubio_onsetdetection_t *o;
100extern aubio_onsetdetection_t *o2;
101extern fvec_t *onset;
102extern fvec_t *onset2;
103extern smpl_t isonset;
104extern aubio_peakpicker_t *parms;
105
106
107/* pitch objects */
108extern smpl_t pitch;
109extern aubio_pitchdetection_t *pitchdet;
110extern uint_t median;
111
112extern fvec_t *note_buffer;
113extern fvec_t *note_buffer2;
114extern smpl_t curlevel;
115extern smpl_t maxonset;
116
117extern smpl_t curnote;
118extern smpl_t newnote;
119extern uint_t isready;
120
121/* per example param */
122extern uint_t usepitch;
Note: See TracBrowser for help on using the repository browser.