ref: fc2d7fbd5751aa753609938e2dfe92a929d94f00
dir: /python/demos/demo_a_weighting.py/
#! /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)