Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1.  
  2. // Basic audio chunking test
  3. (
  4. SynthDef.new("fldemo", {
  5. a = FLInterval.fr(['interval', 16384]);
  6. b = SinOsc.ar(Rand(100, 2000));
  7. c = FLSource.fr(b, a);
  8. d = FLSink.fr(FLMul.fr(c, 0.08));
  9. Out.ar(0, d);
  10. Out.ar(1, d)
  11. }).play;
  12. )
  13.  
  14. // Fancy audio chunking test
  15. (
  16. SynthDef.new("fldemo", {
  17. scheduler = FLInterval.fr(['interval', 16384]
  18. );
  19. input_sine = SinOsc.ar(Rand(100, 2000));
  20. source = FLSource.fr(b, a);
  21. windowing = FLMul.fr(FLWindow.fr(c, 0.0, ['size', 4096]), 0.08);
  22. noise = FLRand.fr(a);
  23. sink_left = FLSink.fr(FLMul.fr(d, e));
  24. sink_right = FLSink.fr(FLMul.fr(d, FLSub.fr(1, e)));
  25. Out.ar(0, f);
  26. Out.ar(1, g)
  27. }).play;
  28. )
  29.  
  30. // A looping granular thing, showing how UGens producing one number (Rand) can feed straight into an input
  31.  
  32. z = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");
  33.  
  34. (
  35. SynthDef.new("flread", {
  36. a = FLRamp.fr(FLInterval.fr(['interval', 4096]), 0.0, ['mode', 'requested', 'length', 4096]);
  37. b = FLRead.fr(FLAdd.fr(a, Rand(0, 88200)), 0.0, ['buffer', 'buf0', 'units', 'samples']);
  38. c = FLSink.fr(FLMul.fr(FLWindow.fr(b, 0.0, ['size', 4096]), 0.5));
  39. Out.ar(0, c);
  40. Out.ar(1, c)
  41. }).play;
  42. )
  43.  
  44. // Now randomise the position per grain
  45.  
  46. (
  47. SynthDef.new("flread", {
  48. a = FLRamp.fr(FLInterval.fr(['interval', 128]), 0.0, ['mode', 'requested', 'length', 4096]);
  49. b = FLRead.fr(FLAdd.fr(a, FLMap.fr(FLRand.fr(a), 0.0, ['mode', 'linear', 'outhi', 88200])), 0.0, ['buffer', 'buf0', 'units', 'samples']);
  50. c = FLSink.fr(FLMul.fr(FLWindow.fr(b, 0.0, ['size', 4096]), 0.5));
  51. Out.ar(0, c);
  52. Out.ar(1, c)
  53. }).play;
  54. )
  55.  
  56. // Now randomise the position and pan per grain
  57.  
  58. (
  59. SynthDef.new("flread", {
  60. a = FLRamp.fr(FLInterval.fr(['interval', 10]), 0.0, ['mode', 'requested', 'length', 4096]);
  61. b = FLRead.fr(FLAdd.fr(a, FLMap.fr(FLRand.fr(a), 0.0, ['mode', 'linear', 'outhi', 88200])), 0.0, ['buffer', 'buf0', 'units', 'samples', 'interp', 'hermite']);
  62. c = FLMul.fr(FLRand.fr(a), pi * 0.5);
  63. w = FLWindow.fr(b, 0.0, ['size', 4096]);
  64. d = FLSink.fr(FLMul.fr(w, FLCos.fr(c)));
  65. e = FLSink.fr(FLMul.fr(w, FLSin.fr(c)));
  66. Out.ar(0, d * 0.2);
  67. Out.ar(1, e * 0.2)
  68. }).play;
  69. )
  70.  
  71. (
  72. SynthDef.new("native", {
  73. var t = Impulse.ar(44100/10);
  74. var dur = 4096/44100;
  75. d = GrainBuf.ar(2, t, dur, 0, 1, TRand.ar(0, 2 / BufDur.kr(0), t), 4, TRand.ar(-1, 1, t), -1, 512);
  76. Out.ar(0, d * 0.2);
  77. }).play;
  78. )
  79.  
  80. z = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement