shithub: aubio

Download patch

ref: e76eaf171d6d3e9245a6a2ccd8c5a62c38ba9729
parent: 223e2fe30f639cd6bc536e1b3a1a7993ae43f978
author: Paul Brossier <piem@piem.org>
date: Tue Mar 5 12:11:46 EST 2013

demos/demo_sink.py: add samplerate and hop_size options

--- a/python/demos/demo_sink.py
+++ b/python/demos/demo_sink.py
@@ -5,13 +5,24 @@
 
 if __name__ == '__main__':
   if len(sys.argv) < 3:
-    print 'usage: %s <inputfile> <outputfile>' % sys.argv[0]
+    print 'usage: %s <inputfile> <outputfile> [samplerate] [hop_size]' % sys.argv[0]
     sys.exit(1)
-  f = source(sys.argv[1], 8000, 256)
-  g = sink(sys.argv[2], 8000)
-  total_frames, read = 0, 256
+
+  if len(sys.argv) > 3: samplerate = int(sys.argv[3])
+  else: samplerate = 0
+  if len(sys.argv) > 4: hop_size = int(sys.argv[4])
+  else: hop_size = 256
+
+  f = source(sys.argv[1], samplerate, hop_size)
+  if samplerate == 0: samplerate = f.samplerate
+  g = sink(sys.argv[2], samplerate)
+
+  total_frames, read = 0, hop_size
   while read:
     vec, read = f()
     g(vec, read)
     total_frames += read
-  print "read", total_frames / float(f.samplerate), "seconds from", f.uri
+  print "wrote", "%.2fs" % (total_frames / float(samplerate) ),
+  print "(", total_frames, "frames", "in", total_frames % hop_size, "blocks", "at", "%dHz" % samplerate, ")",
+  print "from", f.uri,
+  print "to", g.uri