Example #1
0
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
Example #2
0
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)))