Index: tests/src/io/test-sink.c
===================================================================
--- tests/src/io/test-sink.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
+++ tests/src/io/test-sink.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
@@ -0,0 +1,30 @@
+#include <stdio.h>
+#include <aubio.h>
+#include "config.h"
+
+char_t *path = "/home/piem/archives/drum_Chocolate_Milk_-_Ation_Speaks_Louder_Than_Words.wav";
+char_t *outpath = "/var/tmp/test.wav";
+
+int main(){
+  int err = 0;
+  uint_t samplerate = 44100;
+  uint_t hop_size = 512;
+  uint_t read = hop_size;
+  fvec_t *vec = new_fvec(hop_size);
+  aubio_source_t * i = new_aubio_source(path, samplerate, hop_size);
+  aubio_sink_t *   o = new_aubio_sink(outpath, samplerate);
+
+  if (!i || !o) { err = -1; goto beach; }
+
+  while ( read == hop_size ) {
+    aubio_source_do(i, vec, &read);
+    aubio_sink_do(o, vec, read);
+  }
+
+beach:
+  del_aubio_source(i);
+  del_aubio_sink(o);
+  del_fvec(vec);
+  return err;
+}
+
Index: tests/src/io/test-sink_apple_audio_file.c
===================================================================
--- tests/src/io/test-sink_apple_audio_file.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
+++ tests/src/io/test-sink_apple_audio_file.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <aubio.h>
+#include "config.h"
+
+char_t *path = "/Users/piem/archives/sounds/loops/drum_Chocolate_Milk_-_Ation_Speaks_Louder_Than_Words.wav";
+char_t *outpath = "/var/tmp/test.wav";
+
+int main(){
+  int err = 0;
+#ifdef __APPLE__
+  uint_t samplerate = 44100;
+  uint_t hop_size = 512;
+  uint_t read = hop_size;
+  fvec_t *vec = new_fvec(hop_size);
+  aubio_source_apple_audio_t * i = new_aubio_source_apple_audio(path, samplerate, hop_size);
+  aubio_sink_apple_audio_t *   o = new_aubio_sink_apple_audio(outpath, samplerate);
+
+  if (!i || !o) { err = -1; goto beach; }
+
+  while ( read == hop_size ) {
+    aubio_source_apple_audio_do(i, vec, &read);
+    aubio_sink_apple_audio_do(o, vec, read);
+  }
+
+beach:
+  del_aubio_source_apple_audio(i);
+  del_aubio_sink_apple_audio(o);
+  del_fvec(vec);
+#else
+  fprintf(stderr, "ERR: aubio was not compiled with aubio_source_apple_audio\n");
+#endif /* __APPLE__ */
+  return err;
+}
+
Index: tests/src/io/test-sink_sndfile.c
===================================================================
--- tests/src/io/test-sink_sndfile.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
+++ tests/src/io/test-sink_sndfile.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
@@ -0,0 +1,34 @@
+#include <stdio.h>
+#include <aubio.h>
+#include "config.h"
+
+char_t *path = "/home/piem/archives/drum_Chocolate_Milk_-_Ation_Speaks_Louder_Than_Words.wav";
+char_t *outpath = "/var/tmp/test.wav";
+
+int main(){
+  int err = 0;
+#ifdef HAVE_SNDFILE
+  uint_t samplerate = 44100;
+  uint_t hop_size = 512;
+  uint_t read = hop_size;
+  fvec_t *vec = new_fvec(hop_size);
+  aubio_source_sndfile_t * i = new_aubio_source_sndfile(path, samplerate, hop_size);
+  aubio_sink_sndfile_t *   o = new_aubio_sink_sndfile(outpath, samplerate);
+
+  if (!i || !o) { err = -1; goto beach; }
+
+  while ( read == hop_size ) {
+    aubio_source_sndfile_do(i, vec, &read);
+    aubio_sink_sndfile_do(o, vec, read);
+  }
+
+beach:
+  del_aubio_source_sndfile(i);
+  del_aubio_sink_sndfile(o);
+  del_fvec(vec);
+#else
+  fprintf(stderr, "ERR: aubio was not compiled with aubio_source_sndfile\n");
+#endif /* HAVE_SNDFILE */
+  return err;
+}
+
Index: tests/src/io/test-source.c
===================================================================
--- tests/src/io/test-source.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
+++ tests/src/io/test-source.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
@@ -0,0 +1,25 @@
+#include <stdio.h>
+#include <aubio.h>
+
+char_t *path = "/Users/piem/archives/sounds/loops/drum_Chocolate_Milk_-_Ation_Speaks_Louder_Than_Words.wav";
+//char_t *path = "/Users/piem/Downloads/Keziah Jones - Where's Life.mp3";
+
+int main(){
+  uint_t samplerate = 32000;
+  uint_t hop_size = 1024;
+  uint_t read = hop_size;
+  fvec_t *vec = new_fvec(hop_size);
+  aubio_source_t* s = new_aubio_source(path, samplerate, hop_size);
+
+  if (!s) return -1;
+
+  while ( read == hop_size ) {
+    aubio_source_do(s, vec, &read);
+    fprintf(stdout, "%d [%f, %f, ..., %f]\n", read, vec->data[0], vec->data[1], vec->data[read - 1]);
+  }
+
+  del_aubio_source(s);
+
+  return 0;
+}
+
Index: tests/src/io/test-source_apple_audio_file.c
===================================================================
--- tests/src/io/test-source_apple_audio_file.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
+++ tests/src/io/test-source_apple_audio_file.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <aubio.h>
+
+char_t *path = "/Users/piem/archives/sounds/loops/drum_Chocolate_Milk_-_Ation_Speaks_Louder_Than_Words.wav";
+//char_t *path = "/Volumes/moving/moving/photos/gopro2/100GOPRO/GOPR4515.MP4";
+
+int main(){
+#ifdef __APPLE__
+  uint_t samplerate = 32000;
+  uint_t hop_size = 1024;
+  uint_t read = hop_size;
+  fvec_t *vec = new_fvec(hop_size);
+  aubio_source_apple_audio_t * s = new_aubio_source_apple_audio(path, samplerate, hop_size);
+
+  if (!s) return -1;
+
+  while ( read == hop_size ) {
+    aubio_source_apple_audio_do(s, vec, &read);
+    fprintf(stdout, "%d [%f, %f, ..., %f]\n", read, vec->data[0], vec->data[1], vec->data[read - 1]);
+  }
+
+  del_aubio_source_apple_audio(s);
+#else
+  fprintf(stderr, "ERR: aubio was not compiled with aubio_source_apple_audio\n");
+#endif /* __APPLE__ */
+  return 0;
+}
+
Index: tests/src/io/test-source_sndfile.c
===================================================================
--- tests/src/io/test-source_sndfile.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
+++ tests/src/io/test-source_sndfile.c	(revision 6bfbcdcd0289f064ba80830025f384a214e246cb)
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <aubio.h>
+#include "config.h"
+
+char_t *path = "/home/piem/archives/drum_Chocolate_Milk_-_Ation_Speaks_Louder_Than_Words.wav";
+
+int main(){
+#ifdef HAVE_SNDFILE
+  uint_t samplerate = 44100;
+  uint_t hop_size = 512;
+  uint_t read = hop_size;
+  fvec_t *vec = new_fvec(hop_size);
+  aubio_source_sndfile_t * s = new_aubio_source_sndfile(path, samplerate, hop_size);
+
+  if (!s) return -1;
+
+  while ( read == hop_size ) {
+    aubio_source_sndfile_do(s, vec, &read);
+    if (read == 0) break;
+    fprintf(stdout, "%d [%f, %f, ..., %f]\n", read, vec->data[0], vec->data[1], vec->data[read - 1]);
+  }
+
+  del_aubio_source_sndfile(s);
+#else
+  fprintf(stderr, "ERR: aubio was not compiled with aubio_source_sndfile\n");
+#endif /* HAVE_SNDFILE */
+  return 0;
+}
+
