tests/src/tempo/: improve examples
authorPaul Brossier <piem@piem.org>
Sun, 3 Mar 2013 18:38:32 +0000 (13:38 -0500)
committerPaul Brossier <piem@piem.org>
Sun, 3 Mar 2013 18:38:32 +0000 (13:38 -0500)
tests/src/tempo/test-beattracking.c
tests/src/tempo/test-tempo.c

index e4ac6dc7d15dd6b25c00b86cbc2debc05f4647a7..60288bcba0ffc88a5095c0ac84ca9be09e06d5e7 100644 (file)
@@ -1,41 +1,38 @@
 #define AUBIO_UNSTABLE 1
 
-#include <stdio.h>
 #include <aubio.h>
 
-int main(){
-        /* allocate some memory */
-        uint_t win_s      = 1024;                       /* window size */
-        fvec_t * in       = new_fvec (win_s); /* input buffer */
-        fvec_t * out      = new_fvec (win_s/4);     /* input buffer */
-  
-        /* allocate fft and other memory space */
-        aubio_beattracking_t * tempo  = new_aubio_beattracking(win_s);
-
-        uint_t i = 0;
-
-        smpl_t curtempo, curtempoconf;
-
-        while (i < 10) {
-          aubio_beattracking_do(tempo,in,out);
-          curtempo = aubio_beattracking_get_bpm(tempo);
-          if (curtempo != 0.) {
-            fprintf(stdout,"%f\n",curtempo);
-            return 1;
-          }
-          curtempoconf = aubio_beattracking_get_confidence(tempo);
-          if (curtempoconf != 0.) {
-            fprintf(stdout,"%f\n",curtempo);
-            return 1;
-          }
-          i++;
-        };
-
-        del_aubio_beattracking(tempo);
-        del_fvec(in);
-        del_fvec(out);
-        aubio_cleanup();
-
-        return 0;
+int main ()
+{
+  uint_t i = 0;
+  uint_t win_s = 1024; // window size
+  fvec_t * in = new_fvec (win_s); // input buffer
+  fvec_t * out = new_fvec (2); // output beat position
+
+  // create beattracking object
+  aubio_beattracking_t * tempo  = new_aubio_beattracking(win_s);
+
+  smpl_t bpm, confidence;
+
+  while (i < 10) {
+    // put some fresh data in feature vector
+    // ...
+
+    aubio_beattracking_do(tempo,in,out);
+    // do something  with the beats
+    // ...
+
+    // get bpm and confidence
+    bpm = aubio_beattracking_get_bpm(tempo);
+    confidence = aubio_beattracking_get_confidence(tempo);
+    i++;
+  };
+
+  del_aubio_beattracking(tempo);
+  del_fvec(in);
+  del_fvec(out);
+  aubio_cleanup();
+
+  return 0;
 }
 
index 3a6c28312d8f1d579e9bfcf07401ae027bbaf3bd..73d4342614d28673295be599f7b81f79f2073cea 100644 (file)
@@ -1,35 +1,37 @@
-#include <stdio.h>
 #include <aubio.h>
 
-int main(){
-        /* allocate some memory */
-        uint_t win_s      = 1024;                       /* window size */
-        fvec_t * in       = new_fvec (win_s); /* input buffer */
-        fvec_t * out      = new_fvec (2);     /* input buffer */
-        aubio_tempo_t * o  = new_aubio_tempo("complex", win_s, win_s/4, 44100.);
-        uint_t i = 0;
-
-        smpl_t curtempo, curtempoconf;
-
-        while (i < 1000) {
-          aubio_tempo_do(o,in,out);
-          curtempo = aubio_tempo_get_bpm(o);
-          if (curtempo != 0.) {
-            fprintf(stdout,"%f\n",curtempo);
-            return 1;
-          }
-          curtempoconf = aubio_tempo_get_confidence(o);
-          if (curtempoconf != 0.) {
-            fprintf(stdout,"%f\n",curtempo);
-            return 1;
-          }
-          i++;
-        };
-
-        del_aubio_tempo(o);
-        del_fvec(in);
-        del_fvec(out);
-        aubio_cleanup();
-
-        return 0;
+int main ()
+{
+  uint_t i = 0;
+  uint_t win_s = 1024; // window size
+  fvec_t * in = new_fvec (win_s); // input vector
+  fvec_t * out = new_fvec (2); // output beat position
+
+  // create tempo object
+  aubio_tempo_t * o = new_aubio_tempo("complex", win_s, win_s/4, 44100.);
+
+  smpl_t bpm, confidence;
+
+  while (i < 1000) {
+    // put some fresh data in input vector
+    // ...
+
+    // execute tempo
+    aubio_tempo_do(o,in,out);
+    // do something with the beats
+    // ...
+
+    // get bpm and confidence
+    bpm = aubio_tempo_get_bpm(o);
+    confidence = aubio_tempo_get_confidence(o);
+
+    i++;
+  };
+
+  del_aubio_tempo(o);
+  del_fvec(in);
+  del_fvec(out);
+  aubio_cleanup();
+
+  return 0;
 }