Pipe stdin to soundcard using SDL
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

orgue_stereo.py 965B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import sys
  2. from synth import *
  3. base_mod = 1.0
  4. bimod = .12
  5. err = False
  6. if len(sys.argv) > 1:
  7. try:
  8. base_mod = float(sys.argv[1])
  9. except:
  10. err = True
  11. if len(sys.argv) > 2:
  12. try:
  13. bimod = float(sys.argv[2])
  14. except:
  15. err = True
  16. if len(sys.argv) > 3 or err:
  17. print("Usage : %s [freq_mul] [stereo_diff]" % sys.argv[0])
  18. bm = base_mod
  19. while True:
  20. wv0 = sinwave(0.001 * bm)
  21. wv1 = sinwave(0.1*bm)
  22. wv2 = sinwave(0.011*bm)
  23. lfo0 = sinwave(0.01*bm)
  24. lfo1 = sinwave(0.02*bm)
  25. wv2 = vol_lfo(wv2, lfo0)
  26. mix = mixer(wv0, wv1, wv2)
  27. r = vol_lfo(mix, lfo1)
  28. bm += bimod
  29. wv0 = sinwave(0.001 * bm)
  30. wv1 = sinwave(0.1*bm)
  31. wv2 = sinwave(0.011*bm)
  32. lfo0 = sinwave(0.01*bm)
  33. lfo1 = sinwave(0.02*bm)
  34. wv2 = vol_lfo(wv2, lfo0)
  35. mix = mixer(wv0, wv1, wv2)
  36. r2 = vol_lfo(mix, lfo1)
  37. samples = output_sampler(r, r2)
  38. while True:
  39. sys.stdout.buffer.write(next(samples))