From 057454e49fb818b5f49720d87e65c9db82eb2b66 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Fri, 11 Dec 2009 19:16:07 +0100 Subject: [PATCH] src/gstaubiopitch.{c,h}: update to latest aubio branch --- src/gstaubiopitch.c | 18 ++++++++++-------- src/gstaubiopitch.h | 6 ++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/gstaubiopitch.c b/src/gstaubiopitch.c index 7cf9bd6..3ae30cc 100644 --- a/src/gstaubiopitch.c +++ b/src/gstaubiopitch.c @@ -136,18 +136,16 @@ gst_aubio_pitch_init (GstAubioPitch * filter, filter->silent = TRUE; - filter->type_pitch = aubio_pitch_yinfft; - filter->mode_pitch = aubio_pitchm_freq; - filter->buf_size = 2048; filter->hop_size = 256; filter->samplerate = 44100; filter->channels = 1; filter->ibuf = new_fvec(filter->hop_size, filter->channels); - filter->t = new_aubio_pitchdetection(filter->buf_size, filter->hop_size, - filter->channels, filter->samplerate, filter->type_pitch, filter->mode_pitch); - aubio_pitchdetection_set_yinthresh(filter->t, 0.7); + filter->obuf = new_fvec(1, filter->channels); + filter->t = new_aubio_pitch("yinfft", filter->buf_size, filter->hop_size, + filter->channels, filter->samplerate); + aubio_pitch_set_tolerance(filter->t, 0.7); } static void @@ -156,11 +154,14 @@ gst_aubio_pitch_finalize (GObject * obj) GstAubioPitch * aubio_pitch = GST_AUBIO_PITCH (obj); if (aubio_pitch->t) { - del_aubio_pitchdetection(aubio_pitch->t); + del_aubio_pitch(aubio_pitch->t); } if (aubio_pitch->ibuf) { del_fvec(aubio_pitch->ibuf); } + if (aubio_pitch->obuf) { + del_fvec(aubio_pitch->obuf); + } G_OBJECT_CLASS (parent_class)->finalize (obj); } @@ -213,7 +214,8 @@ gst_aubio_pitch_transform_ip (GstBaseTransform * trans, GstBuffer * buf) filter->pos); if (filter->pos == filter->hop_size - 1) { - smpl_t pitch = aubio_pitchdetection(filter->t, filter->ibuf); + aubio_pitch_do(filter->t, filter->ibuf, filter->obuf); + smpl_t pitch = filter->obuf->data[0][0]; GstClockTime now = GST_BUFFER_TIMESTAMP (buf); // correction of inside buffer time now += GST_FRAMES_TO_CLOCK_TIME(j, audiofilter->format.rate); diff --git a/src/gstaubiopitch.h b/src/gstaubiopitch.h index 40a076f..53d6493 100644 --- a/src/gstaubiopitch.h +++ b/src/gstaubiopitch.h @@ -55,8 +55,9 @@ struct _GstAubioPitch gboolean silent; - aubio_pitchdetection_t * t; + aubio_pitch_t * t; fvec_t * ibuf; + fvec_t * obuf; uint buf_size; uint hop_size; @@ -64,9 +65,6 @@ struct _GstAubioPitch uint samplerate; signed int pos; - aubio_pitchdetection_type type_pitch; - aubio_pitchdetection_mode mode_pitch; - }; struct _GstAubioPitchClass -- 2.11.0