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


if __name__ == "__main__":
    import numpy as np

    samples = 2000000
    freq_max = 20000

    t = np.arange(samples, dtype=np.float64).reshape(1, -1) / sample_rate
    d = np.sin(np.pi * (sample_rate * freq_max / samples * (t + 0.1)) * t)

    np.savetxt("input.txt", d)
    out = filter(d, feedforward=-1, blend=1, feedback=-0.5)
    np.savetxt("output.txt", out)
    plt.figure()
    plot_me((d[0], out[0]), sample_rate)
    plt.gcf().suptitle("Delay")
    plt.legend()
    plt.show()
  pipelineend.set_input_sampling_rate(sample_rate)
  pipelineend.add_filter(outfilterl)
  pipelineend.add_filter(outfilterr)
  pipelineend.process(inputl.shape[1])

  return outputl, outputr

if __name__ == "__main__":
  import numpy as np
  samples = 2000000
  freq_max = 20000

  t = np.arange(samples, dtype=np.float64).reshape(1, -1) / sample_rate
  d = np.sin(np.pi * (sample_rate * freq_max / samples * (t + .1)) * t)
  dr = d[:,::-1].copy()
  
  np.savetxt("input.txt", d)
  outl, outr = filter(d, dr, blend_ch1=1, blend_ch2=1,
    feedforward_ch1_ch1=-1, feedforward_ch2_ch2=-1, feedforward_ch1_ch2=.1, feedforward_ch2_ch1=.7,
    feedback_ch1_ch1=-.5, feedback_ch1_ch2=.1, feedback_ch2_ch1=.3, feedback_ch2_ch2=-.1, )
  np.savetxt("outputl.txt", outl)
  np.savetxt("outputr.txt", outr)

  plt.figure()
  plot_me((d[0], outl[0]), sample_rate)
  plt.gcf().suptitle("Delay Channel R")
  plt.figure()
  plot_me((dr[0], outr[0]), sample_rate)
  plt.gcf().suptitle("Delay Channel L")
  plt.show()
Ejemplo n.º 3
0

if __name__ == "__main__":
    import numpy as np
    size = 100000

    samples = 2000000
    freq_max = 20000

    t = np.arange(samples, dtype=np.float64).reshape(1, -1) / sample_rate
    d = np.sin(np.pi * (sample_rate * freq_max / samples * (t + .1)) * t)

    np.savetxt("input.txt", d)
    out = filter_32(d)
    plt.figure()
    plot_me((d[0], out[0]), sample_rate)
    plt.gcf().suptitle("Oversampling 32")
    np.savetxt("output32.txt", out)
    out = filter_16(d)
    plt.figure()
    plot_me((d[0], out[0]), sample_rate)
    plt.gcf().suptitle("Oversampling 16")
    np.savetxt("output16.txt", out)
    out = filter_8(d)
    plt.figure()
    plt.title("Oversampling 8")
    plot_me((d[0], out[0]), sample_rate)
    np.savetxt("output8.txt", out)
    out = filter_4(d)
    plt.figure()
    plt.title("Oversampling 4")
Ejemplo n.º 4
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

if __name__ == "__main__":
  import numpy as np
  samples = 2000000
  freq_max = 20000

  t = np.arange(samples, dtype=np.float64).reshape(1, -1) / sample_rate
  d = np.sin(np.pi * (sample_rate * freq_max / samples * (t + .1)) * t)

  np.savetxt("input.txt", d)
  out1, out2 = filter(d, feedforward=1, blend=0.7, feedback=-0.7)
  np.savetxt("output1.txt", out1)
  np.savetxt("output2.txt", out2)
  plt.figure()
  plot_me((d[0], out1[0]), sample_rate)
  plt.gcf().suptitle("Stereo L")
  plt.legend()
  plt.figure()
  plot_me((d[0], out2[0]), sample_rate)
  plt.gcf().suptitle("Stereo R")
  plt.legend()
  plt.show()