def filter(input, ratio=4, threshold=1, softness=1): import numpy as np output = np.zeros(input.shape, dtype=np.float64) input2 = input**2 in2filter = DoubleInPointerFilter(input2, False) in2filter.input_sampling_rate = sample_rate infilter = DoubleInPointerFilter(input, False) infilter.input_sampling_rate = sample_rate gainfilter = DoubleGainCompressorFilter(1) gainfilter.input_sampling_rate = sample_rate gainfilter.set_input_port(0, in2filter, 0) gainfilter.threshold = threshold gainfilter.ratio = ratio gainfilter.softness = softness applygainfilter = DoubleApplyGainFilter(1) applygainfilter.input_sampling_rate = sample_rate applygainfilter.set_input_port(0, gainfilter, 0) applygainfilter.set_input_port(1, infilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = sample_rate outfilter.set_input_port(0, applygainfilter, 0) outfilter.process(input.shape[1]) return output
def filter(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.input_sampling_rate = sample_rate powerfilter = DoublePowerFilter(1) powerfilter.input_sampling_rate = sample_rate powerfilter.set_input_port(0, infilter, 0) powerfilter.memory = np.exp(-1 / (sample_rate * 1e-3)) attackreleasefilter = DoubleAttackReleaseFilter(1) attackreleasefilter.input_sampling_rate = sample_rate attackreleasefilter.set_input_port(0, powerfilter, 0) attackreleasefilter.attack = np.exp(-1 / (sample_rate * 1e-3)) attackreleasefilter.release = np.exp(-1 / (sample_rate * 100e-3)) gainfilter = DoubleGainCompressorFilter(1) gainfilter.input_sampling_rate = sample_rate gainfilter.set_input_port(0, attackreleasefilter, 0) gainfilter.threshold = 0.5 gainfilter.ratio = 4 gainfilter.softness = 1 applygainfilter = DoubleApplyGainFilter(1) applygainfilter.input_sampling_rate = sample_rate applygainfilter.set_input_port(0, gainfilter, 0) applygainfilter.set_input_port(1, infilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = sample_rate outfilter.set_input_port(0, applygainfilter, 0) outfilter.process(input.shape[1]) return output
def filter(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.input_sampling_rate = sample_rate powerfilter = DoublePowerFilter(1) powerfilter.input_sampling_rate = sample_rate powerfilter.set_input_port(0, infilter, 0) powerfilter.memory = np.exp(-1/(sample_rate*1e-3)) attackreleasefilter = DoubleAttackReleaseFilter(1) attackreleasefilter.input_sampling_rate = sample_rate attackreleasefilter.set_input_port(0, powerfilter, 0) attackreleasefilter.attack = np.exp(-1/(sample_rate*1e-3)) attackreleasefilter.release = np.exp(-1/(sample_rate*100e-3)) gainfilter = DoubleGainCompressorFilter(1) gainfilter.input_sampling_rate = sample_rate gainfilter.set_input_port(0, attackreleasefilter, 0) gainfilter.threshold = 0.5 gainfilter.ratio = 4 gainfilter.softness = 1 applygainfilter = DoubleApplyGainFilter(1) applygainfilter.input_sampling_rate = sample_rate applygainfilter.set_input_port(0, gainfilter, 0) applygainfilter.set_input_port(1, infilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.input_sampling_rate = sample_rate outfilter.set_input_port(0, applygainfilter, 0) outfilter.process(input.shape[1]) return output
slowattackreleasefilter.set_input_sampling_rate(sampling_rate) slowattackreleasefilter.set_input_port(0, powerfilter, 0) slowattackreleasefilter.set_attack(np.exp(-1 / (sampling_rate * 5e-3))) slowattackreleasefilter.set_release(np.exp(-1 / (sampling_rate * 50.e-3))) volumefilter = DoubleVolumeFilter(1) volumefilter.set_input_sampling_rate(sampling_rate) volumefilter.set_volume(-1) volumefilter.set_input_port(0, slowattackreleasefilter, 0) sumfilter = DoubleSumFilter() sumfilter.set_input_sampling_rate(sampling_rate) sumfilter.set_input_port(0, fastattackreleasefilter, 0) sumfilter.set_input_port(1, volumefilter, 0) gainfilter = DoubleGainCompressorFilter(1) gainfilter.set_input_sampling_rate(sampling_rate) gainfilter.set_input_port(0, sumfilter, 0) gainfilter.set_threshold(.002) gainfilter.set_ratio(.7) gainfilter.set_softness(1) applygainfilter = DoubleApplyGainFilter(1) applygainfilter.set_input_sampling_rate(sampling_rate) applygainfilter.set_input_port(0, gainfilter, 0) applygainfilter.set_input_port(1, infilter, 0) indata = np.zeros((processsize, 1), dtype=np.float32) inputfilter = FloatOutPointerFilter(indata, True) inputfilter.set_input_sampling_rate(sampling_rate) inputfilter.set_input_port(0, infilter, 0)
slowattackreleasefilter.set_input_sampling_rate(sampling_rate) slowattackreleasefilter.set_input_port(0, powerfilter, 0) slowattackreleasefilter.set_attack(np.exp(-1/(sampling_rate*5e-3))) slowattackreleasefilter.set_release(np.exp(-1/(sampling_rate*50.e-3))) volumefilter = DoubleVolumeFilter(1) volumefilter.set_input_sampling_rate(sampling_rate) volumefilter.set_volume(-1) volumefilter.set_input_port(0, slowattackreleasefilter, 0) sumfilter = DoubleSumFilter() sumfilter.set_input_sampling_rate(sampling_rate) sumfilter.set_input_port(0, fastattackreleasefilter, 0) sumfilter.set_input_port(1, volumefilter, 0) gainfilter = DoubleGainCompressorFilter(1) gainfilter.set_input_sampling_rate(sampling_rate) gainfilter.set_input_port(0, sumfilter, 0) gainfilter.set_threshold(.01) gainfilter.set_ratio(.7) gainfilter.set_softness(1) applygainfilter = DoubleApplyGainFilter(1) applygainfilter.set_input_sampling_rate(sampling_rate) applygainfilter.set_input_port(0, gainfilter, 0) applygainfilter.set_input_port(1, infilter, 0) indata = np.zeros((processsize, 1), dtype=np.float32) inputfilter = FloatOutPointerFilter(indata, True) inputfilter.set_input_sampling_rate(sampling_rate) inputfilter.set_input_port(0, infilter, 0)
def filter(input): import numpy as np output = np.zeros(input.shape, dtype=np.float64) infilter = DoubleInPointerFilter(input, False) infilter.set_input_sampling_rate(sample_rate) powerfilter = DoublePowerFilter(1) powerfilter.set_input_sampling_rate(sample_rate) powerfilter.set_input_port(0, infilter, 0) powerfilter.set_memory(0) attackreleasefilter = DoubleAttackReleaseFilter(1) attackreleasefilter.set_input_sampling_rate(sample_rate) attackreleasefilter.set_input_port(0, powerfilter, 0) attackreleasefilter.set_attack(0) attackreleasefilter.set_release(np.exp(-1/(sample_rate*10e-3))) gainfilter = DoubleGainCompressorFilter(1) gainfilter.set_input_sampling_rate(sample_rate) gainfilter.set_input_port(0, attackreleasefilter, 0) gainfilter.set_threshold(0.0099) gainfilter.set_ratio(10000) gainfilter.set_softness(1) applygainfilter = DoubleApplyGainFilter(1) applygainfilter.set_input_sampling_rate(sample_rate) applygainfilter.set_input_port(0, gainfilter, 0) applygainfilter.set_input_port(1, infilter, 0) outfilter = DoubleOutPointerFilter(output, False) outfilter.set_input_sampling_rate(sample_rate) outfilter.set_input_port(0, applygainfilter, 0) outfilter.process(input.shape[1]) return output
data = data.reshape(-1, 1) infilter = Int16InPointerFilter(data, True) infilter.set_output_sampling_rate(sampling_rate) powerfilter = DoublePowerFilter(1) powerfilter.set_input_sampling_rate(sampling_rate) powerfilter.set_input_port(0, infilter, 0) powerfilter.set_memory(np.exp(-1 / (sampling_rate * .1e-3))) attackreleasefilter = DoubleAttackReleaseFilter(1) attackreleasefilter.set_input_sampling_rate(sampling_rate) attackreleasefilter.set_input_port(0, powerfilter, 0) attackreleasefilter.set_attack(np.exp(-1 / (sampling_rate * 1e-3))) attackreleasefilter.set_release(np.exp(-1 / (sampling_rate * 100e-3))) gainfilter = DoubleGainCompressorFilter(1) gainfilter.set_input_sampling_rate(sampling_rate) gainfilter.set_input_port(0, attackreleasefilter, 0) gainfilter.set_threshold(.2) gainfilter.set_ratio(10) gainfilter.set_softness(1) applygainfilter = DoubleApplyGainFilter(1) applygainfilter.set_input_sampling_rate(sampling_rate) applygainfilter.set_input_port(0, gainfilter, 0) applygainfilter.set_input_port(1, infilter, 0) indata = np.zeros((processsize, 1), dtype=np.float32) inputfilter = FloatOutPointerFilter(indata, True) inputfilter.set_input_sampling_rate(sampling_rate) inputfilter.set_input_port(0, infilter, 0)
data = data.reshape(-1, 1) infilter = Int16InPointerFilter(data, True) infilter.set_output_sampling_rate(sampling_rate) powerfilter = DoublePowerFilter(1) powerfilter.set_input_sampling_rate(sampling_rate) powerfilter.set_input_port(0, infilter, 0) powerfilter.set_memory(np.exp(-1 / (sampling_rate * 0.1e-3))) attackreleasefilter = DoubleAttackReleaseFilter(1) attackreleasefilter.set_input_sampling_rate(sampling_rate) attackreleasefilter.set_input_port(0, powerfilter, 0) attackreleasefilter.set_attack(np.exp(-1 / (sampling_rate * 1e-3))) attackreleasefilter.set_release(np.exp(-1 / (sampling_rate * 100e-3))) gainfilter = DoubleGainCompressorFilter(1) gainfilter.set_input_sampling_rate(sampling_rate) gainfilter.set_input_port(0, attackreleasefilter, 0) gainfilter.set_threshold(0.2) gainfilter.set_ratio(10) gainfilter.set_softness(1) applygainfilter = DoubleApplyGainFilter(1) applygainfilter.set_input_sampling_rate(sampling_rate) applygainfilter.set_input_port(0, gainfilter, 0) applygainfilter.set_input_port(1, infilter, 0) indata = np.zeros((processsize, 1), dtype=np.float32) inputfilter = FloatOutPointerFilter(indata, True) inputfilter.set_input_sampling_rate(sampling_rate) inputfilter.set_input_port(0, infilter, 0)
def filter(inputl, inputr): import numpy as np outputl = np.zeros(inputl.shape, dtype=np.float64) outputr = np.zeros(inputl.shape, dtype=np.float64) infilterL = DoubleInPointerFilter(inputl, False) infilterL.set_input_sampling_rate(sample_rate) infilterR = DoubleInPointerFilter(inputr, False) infilterR.set_input_sampling_rate(sample_rate) mssplitfilter = DoubleMiddleSideFilter() mssplitfilter.set_input_sampling_rate(sample_rate) mssplitfilter.set_input_port(0, infilterL, 0) mssplitfilter.set_input_port(1, infilterR, 0) adaptgainfilter = DoubleVolumeFilter(2) adaptgainfilter.set_input_sampling_rate(sample_rate) adaptgainfilter.set_input_port(0, mssplitfilter, 0) adaptgainfilter.set_input_port(1, mssplitfilter, 1) adaptgainfilter.set_volume(.5) powerfilter1 = DoublePowerFilter() powerfilter1.set_input_sampling_rate(sample_rate) powerfilter1.set_input_port(0, adaptgainfilter, 0) powerfilter1.set_memory(np.exp(-1/(sample_rate*.1e-3))) attackreleasefilter1 = DoubleAttackReleaseFilter() attackreleasefilter1.set_input_sampling_rate(sample_rate) attackreleasefilter1.set_input_port(0, powerfilter1, 0) attackreleasefilter1.set_attack(np.exp(-1/(sample_rate*1e-3))) attackreleasefilter1.set_release(np.exp(-1/(sample_rate*100e-3))) gainfilter1 = DoubleGainCompressorFilter() gainfilter1.set_input_sampling_rate(sample_rate) gainfilter1.set_input_port(0, attackreleasefilter1, 0) gainfilter1.set_threshold(thresholds) gainfilter1.set_ratio(ratios) gainfilter1.set_softness(1) applygainfilter = DoubleApplyGainFilter(2) applygainfilter.set_input_sampling_rate(sample_rate) applygainfilter.set_input_port(0, gainfilter1, 0) applygainfilter.set_input_port(1, mssplitfilter, 0) powerfilter2 = DoublePowerFilter(1) powerfilter2.set_input_sampling_rate(sample_rate) powerfilter2.set_input_port(0, adaptgainfilter, 1) powerfilter2.set_memory(np.exp(-1/(sample_rate*.1e-3))) attackreleasefilter2 = DoubleAttackReleaseFilter() attackreleasefilter2.set_input_sampling_rate(sample_rate) attackreleasefilter2.set_input_port(0, powerfilter1, 0) attackreleasefilter2.set_attack(np.exp(-1/(sample_rate*1e-3))) attackreleasefilter2.set_release(np.exp(-1/(sample_rate*100e-3))) gainfilter2 = DoubleGainCompressorFilter() gainfilter2.set_input_sampling_rate(sample_rate) gainfilter2.set_input_port(0, attackreleasefilter2, 0) gainfilter2.set_threshold(thresholds) gainfilter2.set_ratio(ratios) gainfilter2.set_softness(1) applygainfilter.set_input_port(2, gainfilter2, 0) applygainfilter.set_input_port(3, mssplitfilter, 1) msmergefilter = DoubleMiddleSideFilter() msmergefilter.set_input_sampling_rate(sample_rate) msmergefilter.set_input_port(0, applygainfilter, 0) msmergefilter.set_input_port(1, applygainfilter, 1) volumefilter = DoubleVolumeFilter(2) volumefilter.set_input_sampling_rate(sample_rate) volumefilter.set_volume(.5) volumefilter.set_input_port(0, msmergefilter, 0) volumefilter.set_input_port(1, msmergefilter, 1) outfilterl = DoubleOutPointerFilter(outputl, False) outfilterl.set_input_sampling_rate(sample_rate) outfilterl.set_input_port(0, volumefilter, 0) outfilterr = DoubleOutPointerFilter(outputr, False) outfilterr.set_input_sampling_rate(sample_rate) outfilterr.set_input_port(0, volumefilter, 1) pipelineend = PipelineGlobalSinkFilter() pipelineend.set_input_sampling_rate(sample_rate) pipelineend.add_filter(outfilterl) pipelineend.add_filter(outfilterr) pipelineend.process(inputl.shape[1]) return outputl, outputr