#include "utils.h"
#define PROG_HAS_PITCH 1
#define PROG_HAS_OUTPUT 1
+#define PROG_HAS_SILENCE 1
#define PROG_HAS_JACK 1
#include "parse_args.h"
aubio_wavetable_t *wavetable;
fvec_t *pitch;
-void
-process_block(fvec_t * ibuf, fvec_t * obuf) {
- fvec_zeros(obuf);
+void process_block(fvec_t * ibuf, fvec_t * obuf)
+{
+ smpl_t freq;
aubio_pitch_do (o, ibuf, pitch);
- smpl_t freq = fvec_get_sample(pitch, 0);
+ if ( !usejack && ! sink_uri ) return;
+ fvec_zeros(obuf);
+ freq = fvec_get_sample(pitch, 0);
aubio_wavetable_set_amp ( wavetable, aubio_level_lin (ibuf) );
aubio_wavetable_set_freq ( wavetable, freq );
-
if (mix_input)
aubio_wavetable_do (wavetable, ibuf, obuf);
else
aubio_wavetable_do (wavetable, obuf, obuf);
}
-void
-process_print (void) {
+void process_print (void)
+{
smpl_t pitch_found = fvec_get_sample(pitch, 0);
- outmsg("%f %f\n",(blocks)
- *hop_size/(float)samplerate, pitch_found);
+ print_time(blocks * hop_size);
+ outmsg(" %f\n", pitch_found);
}
int main(int argc, char **argv) {
+ int ret = 0;
buffer_size = 2048;
verbmsg ("tolerance: %f\n", pitch_tolerance);
o = new_aubio_pitch (pitch_method, buffer_size, hop_size, samplerate);
+ if (o == NULL) { ret = 1; goto beach; }
if (pitch_tolerance != 0.)
aubio_pitch_set_tolerance (o, pitch_tolerance);
if (silence_threshold != -90.)
del_aubio_wavetable (wavetable);
del_fvec (pitch);
+beach:
examples_common_del();
- return 0;
+ return ret;
}
-