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 977B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. exit(1)
  19. bm = base_mod
  20. while True:
  21. wv0 = sinwave(0.001 * bm)
  22. wv1 = sinwave(0.1*bm)
  23. wv2 = sinwave(0.011*bm)
  24. lfo0 = sinwave(0.01*bm)
  25. lfo1 = sinwave(0.02*bm)
  26. wv2 = vol_lfo(wv2, lfo0)
  27. mix = mixer(wv0, wv1, wv2)
  28. r = vol_lfo(mix, lfo1)
  29. bm += bimod
  30. wv0 = sinwave(0.001 * bm)
  31. wv1 = sinwave(0.1*bm)
  32. wv2 = sinwave(0.011*bm)
  33. lfo0 = sinwave(0.01*bm)
  34. lfo1 = sinwave(0.02*bm)
  35. wv2 = vol_lfo(wv2, lfo0)
  36. mix = mixer(wv0, wv1, wv2)
  37. r2 = vol_lfo(mix, lfo1)
  38. samples = output_sampler(r, r2)
  39. while True:
  40. sys.stdout.buffer.write(next(samples))