shithub: aubio

Download patch

ref: 01f75985bafd2b9366e897b356abb9ab11656e51
parent: 73d38d520ac24c87bc31b4f2f526bacd6328a0b0
author: Paul Brossier <piem@piem.org>
date: Tue May 10 14:50:36 EDT 2016

python/demos/demo_filter.py: clean-up

--- a/python/demos/demo_filter.py
+++ b/python/demos/demo_filter.py
@@ -1,25 +1,34 @@
 #! /usr/bin/env python
 
 
-def apply_filter(path, params = {}):
+def apply_filter(path):
     from aubio import source, sink, digital_filter
-    from os.path import basename, splitex, splitextt
+    from os.path import basename, splitext
+
+    # open input file, get its samplerate
     s = source(path)
+    samplerate = s.samplerate
+
+    # create an A-weighting filter
     f = digital_filter(7)
-    f.set_a_weighting(s.samplerate)
-    #f = digital_filter(3)
-    #f.set_biquad(...)
-    o = sink("filtered_" + splitext(basename(path))[0] + ".wav")
-    # Total number of frames read
-    total_frames = 0
+    f.set_a_weighting(samplerate)
+    # alternatively, apply another filter
 
+    # create output file
+    o = sink("filtered_" + splitext(basename(path))[0] + ".wav", samplerate)
+
+    total_frames = 0
     while True:
         samples, read = s()
         filtered_samples = f(samples)
-        o(samples, read)
+        o(filtered_samples, read)
         total_frames += read
         if read < s.hop_size: break
-    print "filtered", s.uri, "to", o.uri, "using an A-weighting filter"
+
+    duration = total_frames / float(samplerate)
+    print ("read {:s}".format(s.uri))
+    print ("applied A-weighting filtered ({:d} Hz)".format(samplerate))
+    print ("wrote {:s} ({:.2f} s)".format(o.uri, duration))
 
 if __name__ == '__main__':
     import sys