src/gstaubiopitch.{c,h}: update to latest aubio branch
authorPaul Brossier <piem@piem.org>
Fri, 11 Dec 2009 18:16:07 +0000 (19:16 +0100)
committerPaul Brossier <piem@piem.org>
Fri, 11 Dec 2009 18:16:07 +0000 (19:16 +0100)
src/gstaubiopitch.c
src/gstaubiopitch.h

index 7cf9bd6..3ae30cc 100644 (file)
@@ -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);
index 40a076f..53d6493 100644 (file)
@@ -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