shithub: aubio

Download patch

ref: 0b3c17bae345459e41aaf1ad5125047e732551d5
parent: cd4c9978a4b169517b48d0c6d012b13544b04503
author: Paul Brossier <piem@piem.org>
date: Tue Mar 18 21:37:21 EDT 2014

python/demos/demo_a_weighting.py: add simple demo for a_weighting

--- /dev/null
+++ b/python/demos/demo_a_weighting.py
@@ -1,0 +1,27 @@
+#! /usr/bin/env python
+
+
+def apply_filter(path, params = {}):
+    from aubio import source, sink, digital_filter
+    from os.path import basename, splitex, splitextt
+    s = source(path)
+    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
+
+    while True:
+        samples, read = s()
+        filtered_samples = f(samples)
+        o(samples, read)
+        total_frames += read
+        if read < s.hop_size: break
+    print "filtered", s.uri, "to", o.uri, "using an A-weighting filter"
+
+if __name__ == '__main__':
+    import sys
+    for f in sys.argv[1:]:
+        apply_filter(f)