def filter_band(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.input_sampling_rate = 48000 bandpassfilter = DoubleButterworthBandPassFilter() bandpassfilter.input_sampling_rate = 48000 bandpassfilter.cut_frequencies = (200, 1000) bandpassfilter.order = 5 bandpassfilter.set_input_port(0, infilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = 48000 outfilter.set_input_port(0, bandpassfilter, 0) outfilter.process(input.shape[1]) return output, bandpassfilter.coefficients_in, bandpassfilter.coefficients_out
from ATK.Core import Int16InPointerFilter, FloatOutPointerFilter, PipelineGlobalSinkFilter from ATK.EQ import DoubleButterworthBandPassFilter from ATK.Dynamic import DoubleAttackReleaseFilter, DoubleGainCompressorFilter, DoublePowerFilter from ATK.Tools import DoubleApplyGainFilter, DoubleDerivativeFilter, DoubleVolumeFilter, DoubleSumFilter # get from http://www.telefunken-elektroakustik.com/download/brew/ filename = "Break Ca-01.wav" sampling_rate, data = wavfile.read(filename) processsize = len(data) data = data.reshape(-1, 1) infilter = Int16InPointerFilter(data, True) infilter.set_output_sampling_rate(sampling_rate) hffilter = DoubleButterworthBandPassFilter() hffilter.set_input_sampling_rate(sampling_rate) hffilter.set_cut_frequencies(1000, 5000) hffilter.set_order(5) hffilter.set_input_port(0, infilter, 0) derivativefilter = DoubleDerivativeFilter() derivativefilter.set_input_sampling_rate(sampling_rate) derivativefilter.set_input_port(0, hffilter, 0) powerfilter = DoublePowerFilter(1) powerfilter.set_input_sampling_rate(sampling_rate) powerfilter.set_input_port(0, derivativefilter, 0) powerfilter.set_memory(np.exp(-1 / (sampling_rate * 1e-3))) fastattackreleasefilter = DoubleAttackReleaseFilter(1)
from ATK.Core import Int16InPointerFilter, FloatOutPointerFilter, PipelineGlobalSinkFilter from ATK.EQ import DoubleButterworthBandPassFilter from ATK.Dynamic import DoubleAttackReleaseFilter, DoubleGainCompressorFilter, DoublePowerFilter from ATK.Tools import DoubleApplyGainFilter, DoubleVolumeFilter, DoubleSumFilter # get from http://www.telefunken-elektroakustik.com/download/brew/ filename = "Break Ca-01.wav" sampling_rate, data = wavfile.read(filename) processsize = len(data) data = data.reshape(-1, 1) infilter = Int16InPointerFilter(data, True) infilter.set_output_sampling_rate(sampling_rate) hffilter = DoubleButterworthBandPassFilter() hffilter.set_input_sampling_rate(sampling_rate) hffilter.set_cut_frequencies(1000, 5000) hffilter.set_order(5) hffilter.set_input_port(0, infilter, 0) powerfilter = DoublePowerFilter(1) powerfilter.set_input_sampling_rate(sampling_rate) powerfilter.set_input_port(0, hffilter, 0) powerfilter.set_memory(np.exp(-1/(sampling_rate*1e-3))) fastattackreleasefilter = DoubleAttackReleaseFilter(1) fastattackreleasefilter.set_input_sampling_rate(sampling_rate) fastattackreleasefilter.set_input_port(0, powerfilter, 0) fastattackreleasefilter.set_attack(np.exp(-1/(sampling_rate*1e-3))) fastattackreleasefilter.set_release(np.exp(-1/(sampling_rate*50.e-3)))