Exemple #1
0
def DoubleBandPassCoefficientsIIRFilter_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from ATK.EQ import DoubleBandPassCoefficientsIIRFilter

  from numpy.testing import assert_almost_equal
  
  input = np.sin(np.arange(1000, dtype=np.float64)[None,:] * 1000 * 2 * np.pi / 48000)
  output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None,:])

  inputfilter = DoubleInPointerFilter(input, False)
  EQfilter = DoubleBandPassCoefficientsIIRFilter()
  outputfilter = DoubleOutPointerFilter(output, False)

  inputfilter.set_output_sampling_rate(48000)
  EQfilter.set_input_sampling_rate(48000)
  EQfilter.set_Q(1)
  EQfilter.set_cut_frequency(1000)
  outputfilter.set_input_sampling_rate(48000)

  EQfilter.set_input_port(0, inputfilter, 0)
  outputfilter.set_input_port(0, EQfilter, 0)

  outputfilter.process(1000)

  assert_almost_equal(input[0,500:], input[0,500] / output[0,500] * output[0,500:])
def filter(input, blend=0, feedback=0, feedforward=1):
    import numpy as np

    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_output_sampling_rate(sample_rate)

    generator = DoubleCachedSinusGeneratorFilter(1, 1)
    generator.set_output_sampling_rate(sample_rate)
    generator.set_volume(1e-3 * sample_rate)
    generator.set_offset(1.5e-3 * sample_rate)

    delayfilter = DoubleUniversalVariableDelayLineFilter(5000)
    delayfilter.set_input_sampling_rate(sample_rate)
    delayfilter.set_input_port(0, infilter, 0)
    delayfilter.set_input_port(1, generator, 0)
    delayfilter.set_blend(blend)
    delayfilter.set_feedback(feedback)
    delayfilter.set_feedforward(feedforward)

    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate)
    outfilter.set_input_port(0, delayfilter, 0)
    outfilter.process(input.shape[1])

    return output
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.set_input_sampling_rate(sample_rate)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sample_rate)

  gainfilter = DoubleGainExpanderFilter(1)
  gainfilter.set_input_sampling_rate(sample_rate)
  gainfilter.set_input_port(0, in2filter, 0)
  gainfilter.set_threshold(threshold)
  gainfilter.set_ratio(ratio)
  gainfilter.set_softness(softness)

  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
Exemple #4
0
def filter_4(input):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(48000)
    overfilter = DoubleOversampling6points5order_4Filter()
    overfilter.set_input_sampling_rate(48000)
    overfilter.set_output_sampling_rate(48000 * 4)
    overfilter.set_input_port(0, infilter, 0)
    overdrivefilter = DoubleSimpleOverdriveFilter()
    overdrivefilter.set_input_sampling_rate(48000 * 4)
    overdrivefilter.set_input_port(0, overfilter, 0)
    lowpassfilter = DoubleButterworthLowPassFilter()
    lowpassfilter.set_input_sampling_rate(48000 * 4)
    lowpassfilter.set_cut_frequency(48000)
    lowpassfilter.set_order(5)
    lowpassfilter.set_input_port(0, overdrivefilter, 0)
    decimationfilter = DoubleDecimationFilter(1)
    decimationfilter.set_input_sampling_rate(48000 * 4)
    decimationfilter.set_output_sampling_rate(48000)
    decimationfilter.set_input_port(0, lowpassfilter, 0)
    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(48000)
    outfilter.set_input_port(0, decimationfilter, 0)
    outfilter.process(input.shape[1])
    return output
def Sum_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from ATK.Tools import DoubleSumFilter

  from numpy.testing import assert_almost_equal
  
  t = np.arange(1000, dtype=np.float64)
  input = np.sin(np.array((t, t)) * 1000 * 2 * np.pi / 48000)
  output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None,:])

  inputfilter = DoubleInPointerFilter(input, False)
  sumfilter = DoubleSumFilter()
  outputfilter = DoubleOutPointerFilter(output, False)

  inputfilter.set_output_sampling_rate(48000)
  sumfilter.set_input_sampling_rate(48000)
  outputfilter.set_input_sampling_rate(48000)

  sumfilter.set_input_port(0, inputfilter, 0)
  sumfilter.set_input_port(1, inputfilter, 1)
  outputfilter.set_input_port(0, sumfilter, 0)

  outputfilter.process(1000)

  assert_almost_equal(2*input[0], output[0])
def MiddleSide_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from ATK.Tools import DoubleMiddleSideFilter

  from numpy.testing import assert_almost_equal
  
  t = np.arange(1000, dtype=np.float64)
  input = np.sin(np.array((t, t)) * 1000 * 2 * np.pi / 48000)
  output = np.ascontiguousarray(np.zeros(2000, dtype=np.float64).reshape(2, -1))

  inputfilter = DoubleInPointerFilter(input, False)
  msfilter = DoubleMiddleSideFilter()
  outputfilter = DoubleOutPointerFilter(output, False)

  inputfilter.set_output_sampling_rate(48000)
  msfilter.set_input_sampling_rate(48000)
  outputfilter.set_input_sampling_rate(48000)

  msfilter.set_input_port(0, inputfilter, 0)
  msfilter.set_input_port(1, inputfilter, 1)
  outputfilter.set_input_port(0, msfilter, 0)
  outputfilter.set_input_port(1, msfilter, 1)

  outputfilter.process(1000)

  assert_almost_equal(input[0], output[0])
  assert_almost_equal(0, output[1])
def Decimation_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from ATK.Tools import DoubleDecimationFilter

  from numpy.testing import assert_almost_equal
  
  input = np.sin(np.arange(2000, dtype=np.float64)[None,:] * 1000 * 2 * np.pi / 96000)
  output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None,:])

  inputfilter = DoubleInPointerFilter(input, False)
  decimationfilter = DoubleDecimationFilter(1)
  outputfilter = DoubleOutPointerFilter(output, False)

  inputfilter.set_output_sampling_rate(96000)
  decimationfilter.set_input_sampling_rate(96000)
  decimationfilter.set_output_sampling_rate(48000)
  outputfilter.set_input_sampling_rate(48000)

  decimationfilter.set_input_port(0, inputfilter, 0)
  outputfilter.set_input_port(0, decimationfilter, 0)

  outputfilter.process(1000)

  assert_almost_equal(input[:,::2], output)
def filter(input, blend=0, feedback=0, feedforward=1):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sample_rate)

  noisefilter = DoubleCachedSinusGeneratorFilter(1, 2)
  noisefilter.set_input_sampling_rate(sample_rate)
  noisefilter.set_offset(10000)
  noisefilter.set_volume(2000)
  
  lowfilter = DoubleTimeVaryingBandPassCoefficientsIIRFilter()
  lowfilter.set_input_sampling_rate(sample_rate)
  lowfilter.set_Q(1)
  lowfilter.set_min_frequency(8000)
  lowfilter.set_max_frequency(12000)
  lowfilter.set_number_of_steps(10001)
  lowfilter.set_input_port(0, infilter, 0)
  lowfilter.set_input_port(1, noisefilter, 0)
  
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(sample_rate)
  outfilter.set_input_port(0, lowfilter, 0)
  outfilter.process(input.shape[1])

  return output
Exemple #9
0
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.set_input_sampling_rate(sample_rate)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sample_rate)

  gainfilter = DoubleGainCompressorFilter(1)
  gainfilter.set_input_sampling_rate(sample_rate)
  gainfilter.set_input_port(0, in2filter, 0)
  gainfilter.set_threshold(threshold)
  gainfilter.set_ratio(ratio)
  gainfilter.set_softness(softness)

  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
def DoubleBandPassCoefficientsIIRFilter_test():
    import numpy as np
    from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
    from ATK.EQ import DoubleSecondOrderBandPassFilter

    from numpy.testing import assert_almost_equal

    input = np.sin(
        np.arange(1000, dtype=np.float64)[None, :] * 1000 * 2 * np.pi / 48000)
    output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None, :])

    inputfilter = DoubleInPointerFilter(input, False)
    EQfilter = DoubleSecondOrderBandPassFilter()
    outputfilter = DoubleOutPointerFilter(output, False)

    inputfilter.set_output_sampling_rate(48000)
    EQfilter.set_input_sampling_rate(48000)
    EQfilter.set_Q(1)
    EQfilter.set_cut_frequency(1000)
    outputfilter.set_input_sampling_rate(48000)

    EQfilter.set_input_port(0, inputfilter, 0)
    outputfilter.set_input_port(0, EQfilter, 0)

    outputfilter.process(1000)

    assert_almost_equal(input[0, 500:],
                        input[0, 500] / output[0, 500] * output[0, 500:])
def Volume_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from ATK.Tools import DoubleVolumeFilter

  from numpy.testing import assert_almost_equal
  
  input = np.sin(np.arange(1000, dtype=np.float64)[None,:] * 1000 * 2 * np.pi / 48000)
  output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None,:])

  inputfilter = DoubleInPointerFilter(input, False)
  volumefilter = DoubleVolumeFilter()
  outputfilter = DoubleOutPointerFilter(output, False)

  inputfilter.set_output_sampling_rate(48000)
  volumefilter.set_input_sampling_rate(48000)
  volumefilter.set_volume(.5)
  outputfilter.set_input_sampling_rate(48000)

  volumefilter.set_input_port(0, inputfilter, 0)
  outputfilter.set_input_port(0, volumefilter, 0)

  outputfilter.process(1000)

  assert_almost_equal(.5 * input, output)
def filter_32(input):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(48000)
  overfilter = DoubleOversampling6points5order_32Filter()
  overfilter.set_input_sampling_rate(48000)
  overfilter.set_output_sampling_rate(48000 * 32)
  overfilter.set_input_port(0, infilter, 0)
  overdrivefilter = DoubleFollowerTransistorClassAFilter.build_standard_filter()
  overdrivefilter.set_input_sampling_rate(48000 * 32)
  overdrivefilter.set_input_port(0, overfilter, 0)
  lowpassfilter = DoubleButterworthLowPassFilter()
  lowpassfilter.set_input_sampling_rate(48000 * 32)
  lowpassfilter.set_cut_frequency(48000)
  lowpassfilter.set_order(5)
  lowpassfilter.set_input_port(0, overdrivefilter, 0)
  decimationfilter = DoubleDecimationFilter(1)
  decimationfilter.set_input_sampling_rate(48000 * 32)
  decimationfilter.set_output_sampling_rate(48000)
  decimationfilter.set_input_port(0, lowpassfilter, 0)
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(48000)
  outfilter.set_input_port(0, decimationfilter, 0)
  outfilter.process(input.shape[1])
  return output
def Oversampling_16_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from ATK.Tools import DoubleOversampling6points5order_16Filter
  
  from numpy.testing import assert_almost_equal
  
  ref = np.sin(np.arange(16000, dtype=np.float64)[None,:] * 1000 * 2 * np.pi / 768000)
  input = np.ascontiguousarray(ref[:, ::16])
  output = np.ascontiguousarray(np.zeros(16000, dtype=np.float64)[None,:])
  
  inputfilter = DoubleInPointerFilter(input, False)
  oversamplingfilter = DoubleOversampling6points5order_16Filter()
  outputfilter = DoubleOutPointerFilter(output, False)
  
  inputfilter.set_output_sampling_rate(48000)
  oversamplingfilter.set_input_sampling_rate(48000)
  oversamplingfilter.set_output_sampling_rate(768000)
  outputfilter.set_input_sampling_rate(768000)
  
  oversamplingfilter.set_input_port(0, inputfilter, 0)
  outputfilter.set_input_port(0, oversamplingfilter, 0)
  
  outputfilter.process(16000)

  assert_almost_equal(ref[:,952:-48], output[:,1000:], decimal=2)
Exemple #14
0
def Sum_test():
    import numpy as np
    from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
    from ATK.Tools import DoubleSumFilter

    from numpy.testing import assert_almost_equal

    t = np.arange(1000, dtype=np.float64)
    input = np.sin(np.array((t, t)) * 1000 * 2 * np.pi / 48000)
    output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None, :])

    inputfilter = DoubleInPointerFilter(input, False)
    sumfilter = DoubleSumFilter()
    outputfilter = DoubleOutPointerFilter(output, False)

    inputfilter.set_output_sampling_rate(48000)
    sumfilter.set_input_sampling_rate(48000)
    outputfilter.set_input_sampling_rate(48000)

    sumfilter.set_input_port(0, inputfilter, 0)
    sumfilter.set_input_port(1, inputfilter, 1)
    outputfilter.set_input_port(0, sumfilter, 0)

    outputfilter.process(1000)

    assert_almost_equal(2 * input[0], output[0])
def Volume_test():
    import numpy as np
    from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
    from ATK.Tools import DoubleVolumeFilter

    from numpy.testing import assert_almost_equal

    input = np.sin(
        np.arange(1000, dtype=np.float64)[None, :] * 1000 * 2 * np.pi / 48000)
    output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None, :])

    inputfilter = DoubleInPointerFilter(input, False)
    volumefilter = DoubleVolumeFilter()
    outputfilter = DoubleOutPointerFilter(output, False)

    inputfilter.set_output_sampling_rate(48000)
    volumefilter.set_input_sampling_rate(48000)
    volumefilter.set_volume(.5)
    outputfilter.set_input_sampling_rate(48000)

    volumefilter.set_input_port(0, inputfilter, 0)
    outputfilter.set_input_port(0, volumefilter, 0)

    outputfilter.process(1000)

    assert_almost_equal(.5 * input, output)
Exemple #16
0
def filter(input, blend=0, feedback=0, feedforward=1):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_output_sampling_rate(sample_rate)

    generator = DoubleCachedSinusGeneratorFilter(1, 1)
    generator.set_output_sampling_rate(sample_rate)
    generator.set_volume(1e-3 * sample_rate)
    generator.set_offset(1.5e-3 * sample_rate)

    delayfilter = DoubleUniversalVariableDelayLineFilter(5000)
    delayfilter.set_input_sampling_rate(sample_rate)
    delayfilter.set_input_port(0, infilter, 0)
    delayfilter.set_input_port(1, generator, 0)
    delayfilter.set_blend(blend)
    delayfilter.set_feedback(feedback)
    delayfilter.set_feedforward(feedforward)

    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate)
    outfilter.set_input_port(0, delayfilter, 0)
    outfilter.process(input.shape[1])

    return output
def Decimation_test():
    import numpy as np
    from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
    from ATK.Tools import DoubleDecimationFilter

    from numpy.testing import assert_almost_equal

    input = np.sin(
        np.arange(2000, dtype=np.float64)[None, :] * 1000 * 2 * np.pi / 96000)
    output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None, :])

    inputfilter = DoubleInPointerFilter(input, False)
    decimationfilter = DoubleDecimationFilter(1)
    outputfilter = DoubleOutPointerFilter(output, False)

    inputfilter.set_output_sampling_rate(96000)
    decimationfilter.set_input_sampling_rate(96000)
    decimationfilter.set_output_sampling_rate(48000)
    outputfilter.set_input_sampling_rate(48000)

    decimationfilter.set_input_port(0, inputfilter, 0)
    outputfilter.set_input_port(0, decimationfilter, 0)

    outputfilter.process(1000)

    assert_almost_equal(input[:, ::2], output)
def filter(input, blend=0, feedback=0, feedforward=1):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(sample_rate)

    noisefilter = DoubleWhiteNoiseGeneratorFilter()
    noisefilter.set_input_sampling_rate(sample_rate)
    noisefilter.set_offset(50e-3 * sample_rate)
    noisefilter.set_volume(25e-3 * sample_rate)

    lownoisefilter = DoubleLowPassCoefficientsIIRFilter()
    lownoisefilter.set_input_sampling_rate(sample_rate)
    lownoisefilter.set_cut_frequency(5)
    lownoisefilter.set_input_port(0, noisefilter, 0)

    delayfilter = DoubleUniversalVariableDelayLineFilter(5000)
    delayfilter.set_input_sampling_rate(sample_rate)
    delayfilter.set_input_port(0, infilter, 0)
    delayfilter.set_input_port(1, lownoisefilter, 0)
    delayfilter.set_blend(blend)
    delayfilter.set_feedback(feedback)
    delayfilter.set_feedforward(feedforward)

    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate)
    outfilter.set_input_port(0, delayfilter, 0)
    outfilter.process(input.shape[1])

    return output
def max_colored_filter(input, ratio=4, threshold=1, softness=1, quality=1, color=1, max_reduction=-10):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)
  
  input2 = input**2
  in2filter = DoubleInPointerFilter(input2, False)
  in2filter.set_input_sampling_rate(sample_rate)
  
  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sample_rate)
  
  gainfilter = DoubleGainMaxColoredExpanderFilter(1)
  gainfilter.set_input_sampling_rate(sample_rate)
  gainfilter.set_input_port(0, in2filter, 0)
  gainfilter.set_threshold(threshold)
  gainfilter.set_ratio(ratio)
  gainfilter.set_color(color)
  gainfilter.set_softness(softness)
  gainfilter.set_quality(quality)
  gainfilter.set_max_reduction_db(max_reduction)
  
  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
Exemple #20
0
def filter(input, blend=0, feedback=0, feedforward=1):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sample_rate)

  noisefilter = DoubleWhiteNoiseGeneratorFilter()
  noisefilter.set_input_sampling_rate(sample_rate)
  noisefilter.set_offset(50e-3 * sample_rate)
  noisefilter.set_volume(25e-3 * sample_rate)
  
  lownoisefilter = DoubleLowPassCoefficientsIIRFilter()
  lownoisefilter.set_input_sampling_rate(sample_rate)
  lownoisefilter.set_cut_frequency(5)
  lownoisefilter.set_input_port(0, noisefilter, 0)
  
  delayfilter = DoubleUniversalVariableDelayLineFilter(5000)
  delayfilter.set_input_sampling_rate(sample_rate)
  delayfilter.set_input_port(0, infilter, 0)
  delayfilter.set_input_port(1, lownoisefilter, 0)
  delayfilter.set_blend(blend)
  delayfilter.set_feedback(feedback)
  delayfilter.set_feedforward(feedforward)
  
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(sample_rate)
  outfilter.set_input_port(0, delayfilter, 0)
  outfilter.process(input.shape[1])

  return output
Exemple #21
0
def filter_8(input):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(sample_rate)
    overfilter = DoubleOversampling6points5order_8Filter()
    overfilter.set_input_sampling_rate(sample_rate)
    overfilter.set_output_sampling_rate(sample_rate * 8)
    overfilter.set_input_port(0, infilter, 0)
    overdrivefilter = DoubleTransistorClassAFilter.build_standard_filter()
    overdrivefilter.set_input_sampling_rate(sample_rate * 8)
    overdrivefilter.set_input_port(0, overfilter, 0)
    lowpassfilter = DoubleButterworthLowPassFilter()
    lowpassfilter.set_input_sampling_rate(sample_rate * 8)
    lowpassfilter.set_cut_frequency(20000)
    lowpassfilter.set_order(10)
    lowpassfilter.set_input_port(0, overdrivefilter, 0)
    decimationfilter = DoubleDecimationFilter(1)
    decimationfilter.set_input_sampling_rate(sample_rate * 8)
    decimationfilter.set_output_sampling_rate(sample_rate)
    decimationfilter.set_input_port(0, lowpassfilter, 0)
    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate)
    outfilter.set_input_port(0, decimationfilter, 0)
    outfilter.process(input.shape[1])
    return output
Exemple #22
0
def filter_4(input):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(48000)
  overfilter = DoubleOversampling6points5order_4Filter()
  overfilter.set_input_sampling_rate(48000)
  overfilter.set_output_sampling_rate(48000 * 4)
  overfilter.set_input_port(0, infilter, 0)
  overdrivefilter = DoubleSimpleOverdriveFilter()
  overdrivefilter.set_input_sampling_rate(48000 * 4)
  overdrivefilter.set_input_port(0, overfilter, 0)
  lowpassfilter = DoubleButterworthLowPassFilter()
  lowpassfilter.set_input_sampling_rate(48000 * 4)
  lowpassfilter.set_cut_frequency(48000)
  lowpassfilter.set_order(5)
  lowpassfilter.set_input_port(0, overdrivefilter, 0)
  decimationfilter = DoubleDecimationFilter(1)
  decimationfilter.set_input_sampling_rate(48000 * 4)
  decimationfilter.set_output_sampling_rate(48000)
  decimationfilter.set_input_port(0, lowpassfilter, 0)
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(48000)
  outfilter.set_input_port(0, decimationfilter, 0)
  outfilter.process(input.shape[1])
  return output
Exemple #23
0
def filter_ts9(input):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    inputfilter = DoubleInPointerFilter(input, False)
    inputfilter.set_input_sampling_rate(sample_rate)
    infilter = DoubleChamberlinFilter()
    infilter.set_input_sampling_rate(sample_rate)
    infilter.set_input_port(0, inputfilter, 0)
    infilter.select(0)
    infilter.set_attenuation(1)
    infilter.set_cut_frequency(1000)
    overfilter = DoubleOversampling6points5order_4Filter()
    overfilter.set_input_sampling_rate(sample_rate)
    overfilter.set_output_sampling_rate(sample_rate * 4)
    overfilter.set_input_port(0, infilter, 0)
    overdrivefilter = DoubleTS9OverdriveFilter()
    overdrivefilter.set_input_sampling_rate(sample_rate * 4)
    overdrivefilter.set_input_port(0, overfilter, 0)
    overdrivefilter.set_drive(0.9)
    lowpassfilter = DoubleButterworthLowPassFilter()
    lowpassfilter.set_input_sampling_rate(sample_rate * 4)
    lowpassfilter.set_cut_frequency(sample_rate)
    lowpassfilter.set_order(5)
    lowpassfilter.set_input_port(0, overdrivefilter, 0)
    decimationfilter = DoubleDecimationFilter(1)
    decimationfilter.set_input_sampling_rate(sample_rate * 4)
    decimationfilter.set_output_sampling_rate(sample_rate)
    decimationfilter.set_input_port(0, lowpassfilter, 0)
    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate)
    outfilter.set_input_port(0, decimationfilter, 0)
    outfilter.process(input.shape[1])
    return output
Exemple #24
0
def Oversampling_16_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from ATK.Tools import DoubleOversampling6points5order_16Filter
  
  from numpy.testing import assert_almost_equal
  
  ref = np.sin(np.arange(16000, dtype=np.float64)[None,:] * 1000 * 2 * np.pi / 768000)
  input = np.ascontiguousarray(ref[:, ::16])
  output = np.ascontiguousarray(np.zeros(16000, dtype=np.float64)[None,:])
  
  inputfilter = DoubleInPointerFilter(input, False)
  oversamplingfilter = DoubleOversampling6points5order_16Filter()
  outputfilter = DoubleOutPointerFilter(output, False)
  
  inputfilter.set_output_sampling_rate(48000)
  oversamplingfilter.set_input_sampling_rate(48000)
  oversamplingfilter.set_output_sampling_rate(768000)
  outputfilter.set_input_sampling_rate(768000)
  
  oversamplingfilter.set_input_port(0, inputfilter, 0)
  outputfilter.set_input_port(0, oversamplingfilter, 0)
  
  outputfilter.process(16000)

  assert_almost_equal(ref[:,952:-48], output[:,1000:], decimal=1)
Exemple #25
0
def MiddleSide_test():
    import numpy as np
    from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
    from ATK.Tools import DoubleMiddleSideFilter

    from numpy.testing import assert_almost_equal

    t = np.arange(1000, dtype=np.float64)
    input = np.sin(np.array((t, t)) * 1000 * 2 * np.pi / 48000)
    output = np.ascontiguousarray(
        np.zeros(2000, dtype=np.float64).reshape(2, -1))

    inputfilter = DoubleInPointerFilter(input, False)
    msfilter = DoubleMiddleSideFilter()
    outputfilter = DoubleOutPointerFilter(output, False)

    inputfilter.set_output_sampling_rate(48000)
    msfilter.set_input_sampling_rate(48000)
    outputfilter.set_input_sampling_rate(48000)

    msfilter.set_input_port(0, inputfilter, 0)
    msfilter.set_input_port(1, inputfilter, 1)
    outputfilter.set_input_port(0, msfilter, 0)
    outputfilter.set_input_port(1, msfilter, 1)

    outputfilter.process(1000)

    assert_almost_equal(input[0] * 2, output[0])
    assert_almost_equal(0, output[1])
Exemple #26
0
def Pan_linear_left_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from ATK.Tools import DoublePanFilter

  from numpy.testing import assert_almost_equal
  
  t = np.arange(1000, dtype=np.float64)[None, :]
  input = np.sin(t * 1000 * 2 * np.pi / 48000)
  output = np.ascontiguousarray(np.zeros(2000, dtype=np.float64).reshape(2, -1))

  inputfilter = DoubleInPointerFilter(input, False)
  panfilter = DoublePanFilter()
  outputfilter = DoubleOutPointerFilter(output, False)

  inputfilter.set_output_sampling_rate(48000)
  panfilter.set_input_sampling_rate(48000)
  panfilter.set_pan_law(DoublePanFilter.LINEAR_TAPER)
  panfilter.set_pan(-1)
  outputfilter.set_input_sampling_rate(48000)

  panfilter.set_input_port(0, inputfilter, 0)
  outputfilter.set_input_port(0, panfilter, 0)
  outputfilter.set_input_port(1, panfilter, 1)

  outputfilter.process(1000)

  assert_almost_equal(input[0], output[0])
  assert_almost_equal(0, output[1])
Exemple #27
0
def filter_32(input):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    inputfilter = DoubleInPointerFilter(input, False)
    inputfilter.set_input_sampling_rate(sample_rate)
    infilter = DoubleChamberlinFilter()
    infilter.set_input_sampling_rate(sample_rate)
    infilter.set_input_port(0, inputfilter, 0)
    infilter.select(0)
    infilter.set_attenuation(1)
    infilter.set_cut_frequency(1000)
    overfilter = DoubleOversampling6points5order_32Filter()
    overfilter.set_input_sampling_rate(sample_rate)
    overfilter.set_output_sampling_rate(sample_rate * 32)
    overfilter.set_input_port(0, infilter, 0)
    overdrivefilter = DoubleSD1OverdriveFilter()
    overdrivefilter.set_input_sampling_rate(sample_rate * 32)
    overdrivefilter.set_input_port(0, overfilter, 0)
    overdrivefilter.set_drive(0.9)
    lowpassfilter = DoubleButterworthLowPassFilter()
    lowpassfilter.set_input_sampling_rate(sample_rate * 32)
    lowpassfilter.set_cut_frequency(20000)
    lowpassfilter.set_order(5)
    lowpassfilter.set_input_port(0, overdrivefilter, 0)
    lowpassfilter2 = DoubleButterworthLowPassFilter()
    lowpassfilter2.set_input_sampling_rate(sample_rate * 32)
    lowpassfilter2.set_cut_frequency(20000)
    lowpassfilter2.set_order(5)
    lowpassfilter2.set_input_port(0, lowpassfilter, 0)
    lowpassfilter3 = DoubleButterworthLowPassFilter()
    lowpassfilter3.set_input_sampling_rate(sample_rate * 32)
    lowpassfilter3.set_cut_frequency(20000)
    lowpassfilter3.set_order(5)
    lowpassfilter3.set_input_port(0, lowpassfilter2, 0)
    decimationfilter = DoubleDecimationFilter(1)
    decimationfilter.set_input_sampling_rate(sample_rate * 32)
    decimationfilter.set_output_sampling_rate(sample_rate)
    decimationfilter.set_input_port(0, lowpassfilter3, 0)
    #tonefilter = DoubleSD1ToneFilter()
    #tonefilter.set_input_sampling_rate(sample_rate)
    #tonefilter.set_input_port(0, decimationfilter, 0)
    #tonefilter.set_tone(1)
    #highpassfilter = DoubleChamberlinFilter()
    #highpassfilter.set_input_sampling_rate(sample_rate)
    #highpassfilter.set_input_port(0, tonefilter, 0)
    #highpassfilter.select(2)
    #highpassfilter.set_attenuation(1)
    #highpassfilter.set_cut_frequency(20)
    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate)
    #outfilter.set_input_port(0, highpassfilter, 0)
    outfilter.set_input_port(0, decimationfilter, 0)
    outfilter.process(input.shape[1])
    return output
def filter(inputl,
           inputr,
           blend_ch1=0,
           blend_ch2=0,
           feedback_ch1_ch1=0,
           feedback_ch1_ch2=0,
           feedback_ch2_ch1=0,
           feedback_ch2_ch2=0,
           feedforward_ch1_ch1=1,
           feedforward_ch1_ch2=0,
           feedforward_ch2_ch1=0,
           feedforward_ch2_ch2=1):
    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)

    delayfilter = DoubleStereoUniversalFixedDelayLineFilter(100000)
    delayfilter.set_input_sampling_rate(sample_rate)
    delayfilter.set_input_port(0, infilterL, 0)
    delayfilter.set_input_port(1, infilterR, 0)
    delayfilter.set_delay_ch1(4800)  #50ms
    delayfilter.set_delay_ch2(3600)  #37.5ms
    delayfilter.set_blend_ch1(blend_ch1)
    delayfilter.set_blend_ch1(blend_ch2)
    delayfilter.set_feedback_ch1_ch1(feedback_ch1_ch1)
    delayfilter.set_feedback_ch1_ch2(feedback_ch1_ch2)
    delayfilter.set_feedback_ch2_ch1(feedback_ch2_ch1)
    delayfilter.set_feedback_ch2_ch2(feedback_ch2_ch2)
    delayfilter.set_feedforward_ch1_ch1(feedforward_ch1_ch1)
    delayfilter.set_feedforward_ch1_ch2(feedforward_ch1_ch2)
    delayfilter.set_feedforward_ch2_ch1(feedforward_ch2_ch1)
    delayfilter.set_feedforward_ch2_ch2(feedforward_ch2_ch2)

    outfilterl = DoubleOutPointerFilter(outputl, False)
    outfilterl.set_input_sampling_rate(sample_rate)
    outfilterl.set_input_port(0, delayfilter, 0)

    outfilterr = DoubleOutPointerFilter(outputr, False)
    outfilterr.set_input_sampling_rate(sample_rate)
    outfilterr.set_input_port(0, delayfilter, 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
def DoublePointerFilter_new_test():
    import numpy as np
    from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
    from numpy.testing import assert_equal
    input = np.ascontiguousarray(np.arange(1000, dtype=np.float64)[None, :])
    output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None, :])
    inputfilter = DoubleInPointerFilter(input, False)
    outputfilter = DoubleOutPointerFilter(output, False)
    outputfilter.set_input_port(0, inputfilter, 0)
    inputfilter.set_output_sampling_rate(48000)
    outputfilter.set_input_sampling_rate(48000)
    outputfilter.process(1000)
    assert_equal(input, output)
Exemple #30
0
def DoublePointerFilter_new_test():
  import numpy as np
  from ATK.Core import DoubleInPointerFilter, DoubleOutPointerFilter
  from numpy.testing import assert_equal
  input = np.ascontiguousarray(np.arange(1000, dtype=np.float64)[None,:])
  output = np.ascontiguousarray(np.zeros(1000, dtype=np.float64)[None,:])
  inputfilter = DoubleInPointerFilter(input, False)
  outputfilter = DoubleOutPointerFilter(output, False)
  outputfilter.set_input_port(0, inputfilter, 0)
  inputfilter.set_output_sampling_rate(48000)
  outputfilter.set_input_sampling_rate(48000)
  outputfilter.process(1000)
  assert_equal(input, output)
def filter_32(input):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sample_rate)
  overfilter = DoubleOversampling6points5order_32Filter()
  overfilter.set_input_sampling_rate(sample_rate)
  overfilter.set_output_sampling_rate(sample_rate * 32)
  overfilter.set_input_port(0, infilter, 0)
  overdrivefilter = DoubleSD1OverdriveFilter()
  overdrivefilter.set_input_sampling_rate(sample_rate * 32)
  overdrivefilter.set_input_port(0, overfilter, 0)
  overdrivefilter.set_drive(0.9)
  lowpassfilter = DoubleButterworthLowPassFilter()
  lowpassfilter.set_input_sampling_rate(sample_rate * 32)
  lowpassfilter.set_cut_frequency(20000)
  lowpassfilter.set_order(5)
  lowpassfilter.set_input_port(0, overdrivefilter, 0)
  lowpassfilter2 = DoubleButterworthLowPassFilter()
  lowpassfilter2.set_input_sampling_rate(sample_rate * 32)
  lowpassfilter2.set_cut_frequency(20000)
  lowpassfilter2.set_order(5)
  lowpassfilter2.set_input_port(0, lowpassfilter, 0)
  lowpassfilter3 = DoubleButterworthLowPassFilter()
  lowpassfilter3.set_input_sampling_rate(sample_rate * 32)
  lowpassfilter3.set_cut_frequency(20000)
  lowpassfilter3.set_order(5)
  lowpassfilter3.set_input_port(0, lowpassfilter2, 0)
  decimationfilter = DoubleDecimationFilter(1)
  decimationfilter.set_input_sampling_rate(sample_rate * 32)
  decimationfilter.set_output_sampling_rate(sample_rate)
  decimationfilter.set_input_port(0, lowpassfilter3, 0)
  tonefilter = DoubleSD1ToneFilter()
  tonefilter.set_input_sampling_rate(sample_rate)
  tonefilter.set_input_port(0, decimationfilter, 0)
  tonefilter.set_tone(1)
  highpassfilter = DoubleChamberlinFilter()
  highpassfilter.set_input_sampling_rate(sample_rate)
  highpassfilter.set_input_port(0, tonefilter, 0)
  highpassfilter.select(2)
  highpassfilter.set_attenuation(1)
  highpassfilter.set_cut_frequency(20)
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(sample_rate)
  outfilter.set_input_port(0, highpassfilter, 0)
  outfilter.process(input.shape[1])
  return output
Exemple #32
0
def tone_filter(input):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sampling)
  tonefilter = DoubleSD1ToneFilter()
  tonefilter.set_input_sampling_rate(sampling)
  tonefilter.set_input_port(0, infilter, 0)
  tonefilter.set_tone(0.5)
  print tonefilter.get_coefficients_in()
  print tonefilter.get_coefficients_out()
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(sampling)
  outfilter.set_input_port(0, tonefilter, 0)
  outfilter.process(input.shape[1])
  return output
Exemple #33
0
def tone_filter(input):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(sampling)
    tonefilter = DoubleSD1ToneFilter()
    tonefilter.set_input_sampling_rate(sampling)
    tonefilter.set_input_port(0, infilter, 0)
    tonefilter.set_tone(0.5)
    print tonefilter.get_coefficients_in()
    print tonefilter.get_coefficients_out()
    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sampling)
    outfilter.set_input_port(0, tonefilter, 0)
    outfilter.process(input.shape[1])
    return output
Exemple #34
0
def filter_bandstop(input):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)
  
  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(48000)
  bandstopfilter = DoubleButterworthBandStopFilter()
  bandstopfilter.set_input_sampling_rate(48000)
  bandstopfilter.set_cut_frequencies(200, 1000)
  bandstopfilter.set_order(5)
  bandstopfilter.set_input_port(0, infilter, 0)
  print bandstopfilter.get_coefficients_in()
  print bandstopfilter.get_coefficients_out()
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(48000)
  outfilter.set_input_port(0, bandstopfilter, 0)
  outfilter.process(input.shape[1])
  return output
Exemple #35
0
def filter_bandstop(input):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(48000)
    bandstopfilter = DoubleBesselBandStopFilter()
    bandstopfilter.set_input_sampling_rate(48000)
    bandstopfilter.set_cut_frequencies(200, 1000)
    bandstopfilter.set_order(5)
    bandstopfilter.set_input_port(0, infilter, 0)
    print bandstopfilter.get_coefficients_in()
    print bandstopfilter.get_coefficients_out()
    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(48000)
    outfilter.set_input_port(0, bandstopfilter, 0)
    outfilter.process(input.shape[1])
    return output
Exemple #36
0
def filter_low(input):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(48000)
    lowpassfilter = DoubleBesselLowPassFilter()
    lowpassfilter.set_input_sampling_rate(48000)
    lowpassfilter.set_cut_frequency(1000)
    lowpassfilter.set_order(5)
    lowpassfilter.set_input_port(0, infilter, 0)
    print lowpassfilter.get_coefficients_in()
    print lowpassfilter.get_coefficients_out()
    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(48000)
    outfilter.set_input_port(0, lowpassfilter, 0)
    outfilter.process(input.shape[1])
    return output
Exemple #37
0
def filter_low(input):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(48000)
  lowpassfilter = DoubleButterworthLowPassFilter()
  lowpassfilter.set_input_sampling_rate(48000)
  lowpassfilter.set_cut_frequency(1000)
  lowpassfilter.set_order(5)
  lowpassfilter.set_input_port(0, infilter, 0)
  print lowpassfilter.get_coefficients_in()
  print lowpassfilter.get_coefficients_out()
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(48000)
  outfilter.set_input_port(0, lowpassfilter, 0)
  outfilter.process(input.shape[1])
  return output
def filter(inputl, inputr, blend_ch1=0, blend_ch2=0,
    feedback_ch1_ch1=0, feedback_ch1_ch2=0, feedback_ch2_ch1=0, feedback_ch2_ch2=0,
    feedforward_ch1_ch1=1, feedforward_ch1_ch2=0, feedforward_ch2_ch1=0, feedforward_ch2_ch2=1):
  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)

  delayfilter = DoubleStereoUniversalFixedDelayLineFilter(5000)
  delayfilter.set_input_sampling_rate(sample_rate)
  delayfilter.set_input_port(0, infilterL, 0)
  delayfilter.set_input_port(1, infilterR, 0)
  delayfilter.set_delay_ch1(4800) #50ms
  delayfilter.set_delay_ch2(3600) #37.5ms
  delayfilter.set_blend_ch1(blend_ch1)
  delayfilter.set_blend_ch1(blend_ch2)
  delayfilter.set_feedback_ch1_ch1(feedback_ch1_ch1)
  delayfilter.set_feedback_ch1_ch2(feedback_ch1_ch2)
  delayfilter.set_feedback_ch2_ch1(feedback_ch2_ch1)
  delayfilter.set_feedback_ch2_ch2(feedback_ch2_ch2)
  delayfilter.set_feedforward_ch1_ch1(feedforward_ch1_ch1)
  delayfilter.set_feedforward_ch1_ch2(feedforward_ch1_ch2)
  delayfilter.set_feedforward_ch2_ch1(feedforward_ch2_ch1)
  delayfilter.set_feedforward_ch2_ch2(feedforward_ch2_ch2)
  
  outfilterl = DoubleOutPointerFilter(outputl, False)
  outfilterl.set_input_sampling_rate(sample_rate)
  outfilterl.set_input_port(0, delayfilter, 0)

  outfilterr = DoubleOutPointerFilter(outputr, False)
  outfilterr.set_input_sampling_rate(sample_rate)
  outfilterr.set_input_port(0, delayfilter, 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
Exemple #39
0
def filter_high(input):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)
  
  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(48000)
  highpassfilter = DoubleChebyshev2HighPassFilter()
  highpassfilter.set_input_sampling_rate(48000)
  highpassfilter.set_cut_frequency(1000)
  highpassfilter.set_order(5)
  highpassfilter.set_ripple(3)
  highpassfilter.set_input_port(0, infilter, 0)
  print highpassfilter.get_coefficients_in()
  print highpassfilter.get_coefficients_out()
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(48000)
  outfilter.set_input_port(0, highpassfilter, 0)
  outfilter.process(input.shape[1])
  return output
Exemple #40
0
def filter_high(input):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(48000)
    highpassfilter = DoubleChebyshev2HighPassFilter()
    highpassfilter.set_input_sampling_rate(48000)
    highpassfilter.set_cut_frequency(1000)
    highpassfilter.set_order(5)
    highpassfilter.set_ripple(3)
    highpassfilter.set_input_port(0, infilter, 0)
    print highpassfilter.get_coefficients_in()
    print highpassfilter.get_coefficients_out()
    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(48000)
    outfilter.set_input_port(0, highpassfilter, 0)
    outfilter.process(input.shape[1])
    return output
Exemple #41
0
def filter(input):
    import numpy as np
    output = np.zeros((1, input.shape[1] * 32), dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(sample_rate)

    overfilter = DoubleOversampling6points5order_32Filter()
    overfilter.set_input_sampling_rate(sample_rate)
    overfilter.set_output_sampling_rate(sample_rate * 32)
    overfilter.set_input_port(0, infilter, 0)

    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate * 32)
    outfilter.set_input_port(0, overfilter, 0)
    for i in range(10):
        outfilter.process(input.shape[1] * 32 / 10)

    return output
def filter(input, blend=0, feedback=0, feedforward=1):
  import numpy as np
  output = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sample_rate)

  delayfilter = DoubleUniversalFixedDelayLineFilter(5000)
  delayfilter.set_input_sampling_rate(sample_rate)
  delayfilter.set_input_port(0, infilter, 0)
  delayfilter.set_delay(4800) #50ms
  delayfilter.set_blend(blend)
  delayfilter.set_feedback(feedback)
  delayfilter.set_feedforward(feedforward)
  
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(sample_rate)
  outfilter.set_input_port(0, delayfilter, 0)
  outfilter.process(input.shape[1])

  return output
def filter(input, blend=0, feedback=0, feedforward=1):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(sample_rate)

    delayfilter = DoubleUniversalFixedDelayLineFilter(5000)
    delayfilter.set_input_sampling_rate(sample_rate)
    delayfilter.set_input_port(0, infilter, 0)
    delayfilter.set_delay(4800)  #50ms
    delayfilter.set_blend(blend)
    delayfilter.set_feedback(feedback)
    delayfilter.set_feedforward(feedforward)

    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate)
    outfilter.set_input_port(0, delayfilter, 0)
    outfilter.process(input.shape[1])

    return output
def max_colored_filter(input,
                       ratio=4,
                       threshold=1,
                       softness=1,
                       quality=1,
                       color=1,
                       max_reduction=-10):
    import numpy as np
    output = np.zeros(input.shape, dtype=np.float64)

    input2 = input**2
    in2filter = DoubleInPointerFilter(input2, False)
    in2filter.set_input_sampling_rate(sample_rate)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(sample_rate)

    gainfilter = DoubleGainMaxColoredExpanderFilter(1)
    gainfilter.set_input_sampling_rate(sample_rate)
    gainfilter.set_input_port(0, in2filter, 0)
    gainfilter.set_threshold(threshold)
    gainfilter.set_ratio(ratio)
    gainfilter.set_color(color)
    gainfilter.set_softness(softness)
    gainfilter.set_quality(quality)
    gainfilter.set_max_reduction_db(max_reduction)

    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
Exemple #45
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)

    sinusfilter = DoubleCachedSinusGeneratorFilter(20, 5)
    sinusfilter.set_input_sampling_rate(sample_rate)
    sinusfilter.set_offset(0.5)
    sinusfilter.set_volume(0.5)

    gainfilter = DoubleApplyGainFilter(1)
    gainfilter.set_input_sampling_rate(sample_rate)
    gainfilter.set_input_port(0, infilter, 0)
    gainfilter.set_input_port(1, sinusfilter, 0)

    outfilter = DoubleOutPointerFilter(output, False)
    outfilter.set_input_sampling_rate(sample_rate)
    outfilter.set_input_port(0, gainfilter, 0)
    outfilter.process(input.shape[1])

    return output
Exemple #46
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)

  sinusfilter = DoubleCachedSinusGeneratorFilter(20, 5)
  sinusfilter.set_input_sampling_rate(sample_rate)
  sinusfilter.set_offset(0.5)
  sinusfilter.set_volume(0.5)
  
  gainfilter = DoubleApplyGainFilter(1)
  gainfilter.set_input_sampling_rate(sample_rate)
  gainfilter.set_input_port(0, infilter, 0)
  gainfilter.set_input_port(1, sinusfilter, 0)
  
  outfilter = DoubleOutPointerFilter(output, False)
  outfilter.set_input_sampling_rate(sample_rate)
  outfilter.set_input_port(0, gainfilter, 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.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
Exemple #48
0
data = np.sin(np.arange(processsize) * np.pi * 40 / sampling_rate).reshape(
    -1, 1)
data = data**2
infilter = DoubleInPointerFilter(data, True)
infilter.set_output_sampling_rate(sampling_rate)

attackreleasefilter = DoubleAttackReleaseFilter(1)
attackreleasefilter.set_input_sampling_rate(sampling_rate)
attackreleasefilter.set_input_port(0, infilter, 0)
attackreleasefilter.set_attack(np.exp(-1 / (sampling_rate * 1e-3)))
attackreleasefilter.set_release(np.exp(-1 / (sampling_rate * 10e-3)))

outdata = np.zeros((processsize, 1), dtype=np.float64)
outfilter = DoubleOutPointerFilter(outdata, True)
outfilter.set_input_sampling_rate(sampling_rate)
outfilter.set_input_port(0, attackreleasefilter, 0)

attackreleasefilter2 = DoubleAttackReleaseHysteresisFilter(1)
attackreleasefilter2.set_input_sampling_rate(sampling_rate)
attackreleasefilter2.set_input_port(0, infilter, 0)
attackreleasefilter2.set_attack(np.exp(-1 / (sampling_rate * 1e-3)))
attackreleasefilter2.set_release(np.exp(-1 / (sampling_rate * 10e-3)))
attackreleasefilter2.set_release_hysteresis(.5)
attackreleasefilter2.set_attack_hysteresis(.9)

outdata2 = np.zeros((processsize, 1), dtype=np.float64)
outfilter_hyst = DoubleOutPointerFilter(outdata2, True)
outfilter_hyst.set_input_sampling_rate(sampling_rate)
outfilter_hyst.set_input_port(0, attackreleasefilter2, 0)
Exemple #49
0
def filter(input, blend=0, feedback=0, feedforward=1):
  import numpy as np
  output1 = np.zeros(input.shape, dtype=np.float64)
  output2 = np.zeros(input.shape, dtype=np.float64)

  infilter = DoubleInPointerFilter(input, False)
  infilter.set_input_sampling_rate(sample_rate)

  allpass1filter = DoubleCustomIIRFilter()
  allpass1filter.set_input_sampling_rate(sample_rate)
  allpass1filter.set_input_port(0, infilter, 0)
  allpass1filter.set_coefficients_in((0.0000, 0.3855, 0.0000, 1.3313, 0.0000, 1.0000)[::-1])
  allpass1filter.set_coefficients_out((-0.0000, -1.3313, 0.0000, -0.3855, 0)[::-1])

  allpass2filter = DoubleCustomIIRFilter()
  allpass2filter.set_input_sampling_rate(sample_rate)
  allpass2filter.set_input_port(0, infilter, 0)
  allpass2filter.set_coefficients_in((0.0947, 0.0000, 0.8335, 0.0000, 1.0000)[::-1])
  allpass2filter.set_coefficients_out((0.0000, -0.8335, 0.0000, -0.0947)[::-1])

  sinusfilter = DoubleCachedSinusGeneratorFilter(100, 1)
  sinusfilter.set_input_sampling_rate(sample_rate)

  cosinusfilter = DoubleCachedCosinusGeneratorFilter(100, 1)
  cosinusfilter.set_input_sampling_rate(sample_rate)
  
  applygainFilter = DoubleApplyGainFilter(2)
  applygainFilter.set_input_sampling_rate(sample_rate)
  applygainFilter.set_input_port(0, allpass1filter, 0)
  applygainFilter.set_input_port(1, sinusfilter, 0)
  applygainFilter.set_input_port(2, allpass2filter, 0)
  applygainFilter.set_input_port(3, cosinusfilter, 0)

  volumeFilter = DoubleVolumeFilter()
  volumeFilter.set_input_sampling_rate(sample_rate)
  volumeFilter.set_volume(-1)
  volumeFilter.set_input_port(0, applygainFilter, 1)

  sum1Filter = DoubleSumFilter()
  sum1Filter.set_input_sampling_rate(sample_rate)
  sum1Filter.set_input_port(0, applygainFilter, 0)
  sum1Filter.set_input_port(1, volumeFilter, 0)

  sum2Filter = DoubleSumFilter()
  sum2Filter.set_input_sampling_rate(sample_rate)
  sum2Filter.set_input_port(0, applygainFilter, 0)
  sum2Filter.set_input_port(1, applygainFilter, 1)

  out1filter = DoubleOutPointerFilter(output1, False)
  out1filter.set_input_sampling_rate(sample_rate)
  out1filter.set_input_port(0, sum1Filter, 0)

  out2filter = DoubleOutPointerFilter(output2, False)
  out2filter.set_input_sampling_rate(sample_rate)
  out2filter.set_input_port(0, sum2Filter, 0)

  pipelinesink = PipelineGlobalSinkFilter()
  pipelinesink.set_input_sampling_rate(sample_rate)
  pipelinesink.add_filter(out1filter)
  pipelinesink.add_filter(out2filter)
  pipelinesink.process(input.shape[1])

  return output1, output2
sampling_rate = 44100

data = np.sin(np.arange(processsize) * np.pi * 40 / sampling_rate).reshape(-1, 1)
data = data ** 2
infilter = DoubleInPointerFilter(data, True)
infilter.set_output_sampling_rate(sampling_rate)

attackreleasefilter = DoubleAttackReleaseFilter(1)
attackreleasefilter.set_input_sampling_rate(sampling_rate)
attackreleasefilter.set_input_port(0, infilter, 0)
attackreleasefilter.set_attack(np.exp(-1/(sampling_rate*1e-3)))
attackreleasefilter.set_release(np.exp(-1/(sampling_rate*10e-3)))

outdata = np.zeros((processsize, 1), dtype=np.float64)
outfilter = DoubleOutPointerFilter(outdata, True)
outfilter.set_input_sampling_rate(sampling_rate)
outfilter.set_input_port(0, attackreleasefilter, 0)

attackreleasefilter2 = DoubleAttackReleaseHysteresisFilter(1)
attackreleasefilter2.set_input_sampling_rate(sampling_rate)
attackreleasefilter2.set_input_port(0, infilter, 0)
attackreleasefilter2.set_attack(np.exp(-1/(sampling_rate*1e-3)))
attackreleasefilter2.set_release(np.exp(-1/(sampling_rate*10e-3)))
attackreleasefilter2.set_release_hysteresis(.5)
attackreleasefilter2.set_attack_hysteresis(.9)

outdata2 = np.zeros((processsize, 1), dtype=np.float64)
outfilter_hyst = DoubleOutPointerFilter(outdata2, True)
outfilter_hyst.set_input_sampling_rate(sampling_rate)
outfilter_hyst.set_input_port(0, attackreleasefilter2, 0)
def filter(input, blend=0, feedback=0, feedforward=1):
    import numpy as np
    output1 = np.zeros(input.shape, dtype=np.float64)
    output2 = np.zeros(input.shape, dtype=np.float64)

    infilter = DoubleInPointerFilter(input, False)
    infilter.set_input_sampling_rate(sample_rate)

    allpass1filter = DoubleCustomIIRFilter()
    allpass1filter.set_input_sampling_rate(sample_rate)
    allpass1filter.set_input_port(0, infilter, 0)
    allpass1filter.set_coefficients_in(
        (0.0000, 0.3855, 0.0000, 1.3313, 0.0000, 1.0000)[::-1])
    allpass1filter.set_coefficients_out(
        (-0.0000, -1.3313, 0.0000, -0.3855, 0)[::-1])

    allpass2filter = DoubleCustomIIRFilter()
    allpass2filter.set_input_sampling_rate(sample_rate)
    allpass2filter.set_input_port(0, infilter, 0)
    allpass2filter.set_coefficients_in(
        (0.0947, 0.0000, 0.8335, 0.0000, 1.0000)[::-1])
    allpass2filter.set_coefficients_out(
        (0.0000, -0.8335, 0.0000, -0.0947)[::-1])

    sinusfilter = DoubleCachedSinusGeneratorFilter(100, 1)
    sinusfilter.set_input_sampling_rate(sample_rate)

    cosinusfilter = DoubleCachedCosinusGeneratorFilter(100, 1)
    cosinusfilter.set_input_sampling_rate(sample_rate)

    applygainFilter = DoubleApplyGainFilter(2)
    applygainFilter.set_input_sampling_rate(sample_rate)
    applygainFilter.set_input_port(0, allpass1filter, 0)
    applygainFilter.set_input_port(1, sinusfilter, 0)
    applygainFilter.set_input_port(2, allpass2filter, 0)
    applygainFilter.set_input_port(3, cosinusfilter, 0)

    volumeFilter = DoubleVolumeFilter()
    volumeFilter.set_input_sampling_rate(sample_rate)
    volumeFilter.set_volume(-1)
    volumeFilter.set_input_port(0, applygainFilter, 1)

    sum1Filter = DoubleSumFilter()
    sum1Filter.set_input_sampling_rate(sample_rate)
    sum1Filter.set_input_port(0, applygainFilter, 0)
    sum1Filter.set_input_port(1, volumeFilter, 0)

    sum2Filter = DoubleSumFilter()
    sum2Filter.set_input_sampling_rate(sample_rate)
    sum2Filter.set_input_port(0, applygainFilter, 0)
    sum2Filter.set_input_port(1, applygainFilter, 1)

    out1filter = DoubleOutPointerFilter(output1, False)
    out1filter.set_input_sampling_rate(sample_rate)
    out1filter.set_input_port(0, sum1Filter, 0)

    out2filter = DoubleOutPointerFilter(output2, False)
    out2filter.set_input_sampling_rate(sample_rate)
    out2filter.set_input_port(0, sum2Filter, 0)

    pipelinesink = PipelineGlobalSinkFilter()
    pipelinesink.set_input_sampling_rate(sample_rate)
    pipelinesink.add_filter(out1filter)
    pipelinesink.add_filter(out2filter)
    pipelinesink.process(input.shape[1])

    return output1, output2
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