heXon.scd 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. s.boot();
  2. s.quit();
  3. //Raw Shot
  4. (
  5. {
  6. var ampEnv = Env(
  7. levels: [0,0.5,0.1,0.2,0,0.5,0],
  8. times:[0.027,0.01,0.005,0.01,0.005,0.1],
  9. curve: 'sin');
  10. var freqEnv = Env(
  11. levels: [[10,10],[650,623],[10,20],[230,200]],
  12. times:[0.07],
  13. curve:1);
  14. Pulse.ar(EnvGen.kr(freqEnv),Pulse.kr(100, SinOsc.kr(300,0,0.8, 0.2),0.2,0.5),EnvGen.kr(ampEnv, doneAction:1));
  15. }.play();
  16. )
  17. //Seeker
  18. (
  19. {
  20. var ampEnv = Env(
  21. levels: [0,0.666,0],
  22. times:[0.3,0.1],
  23. curve: -5);
  24. var freqEnv = Env(
  25. levels: [[100,101],[60,90], [151,150]],
  26. times:[0.2],
  27. curve:1);
  28. Saw.ar(EnvGen.kr(freqEnv),EnvGen.kr(ampEnv, doneAction:1));
  29. }.play();
  30. )
  31. //Shoot
  32. (
  33. {
  34. var ampEnv = Env(
  35. levels: [0,0.5,0],
  36. times:[0.015,0.07],
  37. curve: 1);
  38. var freqEnv = Env(
  39. levels: [900,400],
  40. times:[0.1],
  41. curve:1);
  42. Saw.ar(EnvGen.kr(freqEnv),EnvGen.kr(ampEnv, doneAction: 1),[0,0]);
  43. }.play();
  44. )
  45. //Pickup
  46. (
  47. {
  48. var ampEnv = Env(
  49. levels: [0, 0.9, 0, 0.8, 0, 0.5, 0, 0.8, 0, 0.6, 0],
  50. times: [0.0023,0.082],
  51. curve: 1
  52. );
  53. var freqEnv = Env(
  54. levels: [120,230, 110, 215],
  55. times: [0.1],
  56. curve: 1
  57. );
  58. SinOsc.ar(EnvGen.kr(freqEnv),0,EnvGen.kr(ampEnv, doneAction: 1),[0,0]);
  59. }.play();
  60. )
  61. //Powerup
  62. (
  63. {
  64. var ampenv = Env(
  65. levels:[0, 1, 2, 0],
  66. times: [0.1, 0.4, 0.1],
  67. curve:-3,
  68. );
  69. var freqenv = Env(
  70. levels: [[17, 23], [81, 70], 1],
  71. times: [0.5, 0.3],
  72. curve:2
  73. );
  74. SinOsc.ar(
  75. Pulse.kr(10, 0.1, 50, 100) * EnvGen.kr(freqenv),
  76. Saw.kr(80 * EnvGen.kr(freqenv), WhiteNoise.kr(8), 0),
  77. SinOsc.kr(Pulse.kr(20, 0.5, 2, 80), [0, 3.14], 0.1, 0.05)
  78. ) * EnvGen.kr(ampenv, doneAction:2);
  79. }.play();
  80. )
  81. //Hit
  82. (
  83. {
  84. var ampEnv = Env(
  85. levels: [0,0.5,0],
  86. times:[0.01,0.06],
  87. curve: 1);
  88. var freqEnv = Env(
  89. levels: [100,110],
  90. times:[0.07],
  91. curve:1);
  92. Pulse.ar(EnvGen.kr(freqEnv),Pulse.kr([100,101], SinOsc.kr([100,102],0,0.25, 0.5),0.25,0.5),EnvGen.kr(ampEnv, doneAction:1));
  93. }.play();
  94. )
  95. //Shielded Hit
  96. (
  97. {
  98. var ampEnv = Env(
  99. levels: [0,5, 0.8,0],
  100. times:[0.023, 0.01, 0.16],
  101. curve: 1);
  102. var freqEnv = Env(
  103. levels: [[400,410],[411, 408], 10],
  104. times:[0.5],
  105. curve:1);
  106. Pulse.ar(EnvGen.kr(freqEnv),SinOsc.kr([100,101], Pulse.kr([100,102],0,0.25, 0.5),0.25,0.5),EnvGen.kr(ampEnv, doneAction:1));
  107. }.play();
  108. )
  109. //Explosion
  110. (
  111. {
  112. var ampenv = Env(
  113. levels:[0,2,0],
  114. times:[0.08,0.6],
  115. curve:-1
  116. );
  117. var freqenv = Env(
  118. [2,0,4,0],
  119. [0.15,0.5],
  120. curve:-8
  121. );
  122. SinOsc.ar(
  123. Pulse.kr(100,0.1,50,100)*EnvGen.kr(freqenv),
  124. Saw.kr(80*EnvGen.kr(freqenv),WhiteNoise.kr(8),0),
  125. SinOsc.kr(Pulse.kr(20,0.5,2,80),[0,3.14],0.01,0.01)*WhiteNoise.kr(3,1)
  126. )*EnvGen.kr(ampenv, doneAction:2);
  127. }.play();
  128. )
  129. //Seeker Hit
  130. (
  131. play{
  132. var time = 0.23;
  133. var freq = (55).midicps;
  134. var a = VarSaw.ar(freq/2, width: XLine.ar(0.5,1,time)).range(0,XLine.ar(0.666,1/666,time));
  135. var tone = SinOsc.ar(freq).fold(-0.23*a,a) * EnvGen.ar(Env([1,0],[time]));
  136. Out.ar(0, tone.dup);
  137. };
  138. )
  139. //Baphomech
  140. (
  141. play{SinOsc.ar(Pulse.kr(55, 0.23, SinOsc.ar(235,[0.0, 3.14],2,23)), Saw.ar(100, SinOsc.kr(10, 0, 0.023, 0.05)**0.666, 0.01), 0.42);}
  142. )
  143. //SplatterPillar
  144. (
  145. play{
  146. p=LFPulse;
  147. n=LFNoise1;
  148. Limiter.ar(
  149. GVerb.ar(
  150. {|i|BPF.ar(PinkNoise.ar(Decay.ar(Impulse.ar(0.23,0.95+n.kr(0.1,0.023)),rrand(0.2,0.4),2)).tanh,300*i+666,0.4)}.dup(6).sum*1.2,
  151. 23, 0.23, 0.666, 0.5, 30, 1, 0.2, 0.3
  152. ) + Splay.ar(
  153. {|i|Ringz.ar(Pulse.ar(Impulse.ar(0.23,n.kr(1,0.08)),4),13*i+105+n.kr(50,23),0.13,n.kr(5).range(1,8)).tanh}.dup(23),0.05
  154. ).madd(0.1)
  155. )
  156. }
  157. )
  158. // ABILITIES
  159. // Repel
  160. (
  161. {
  162. var ampEnv = Env(
  163. levels: [0, 2, 8, 0],
  164. times:[0.1, 0.02, 1.5],
  165. curve: -3);
  166. var freqEnv = Env(
  167. levels: [[200, 250], [310, 390], [220, 210]],
  168. times:[0.5, 0.7, 0.1],
  169. curve:-2);
  170. 0.0125 * Blip.ar(SinOsc.kr(EnvGen.kr(freqEnv, doneAction:2), [0, 1], 0.25 * EnvGen.kr(ampEnv, doneAction:2)), SinOsc.kr([100,110], Saw.kr([1,10],500),0.5,0.5)**(0.5 * EnvGen.kr(freqEnv, doneAction:1)) * 0.1, 2.7**EnvGen.kr(ampEnv, doneAction:1));
  171. }.play();
  172. )
  173. // Depth charge
  174. (
  175. {
  176. var ampEnv = Env(
  177. levels: [0, 1, 2, 0],
  178. times:[0.01, [0.2, 0.25], 1],
  179. curve: 2);
  180. var freqEnv = Env(
  181. levels: [42, 10, 42, 10, 42],
  182. times:[0.1, 0.25, 0.125],
  183. curve: 3);
  184. SinOsc.ar(0.1 * EnvGen.kr(freqEnv) ** 3, WhiteNoise.kr(0.001 * 100 ** EnvGen.kr(ampEnv, doneAction:1)), EnvGen.kr(ampEnv, doneAction:1));
  185. }.play();
  186. )
  187. // Ram
  188. (
  189. play{
  190. var freqEnv = Env(
  191. levels: [23, 60, 17, 34, 42],
  192. times:[0.1, 0.5, 0.125],
  193. curve: 3);
  194. var time = 1.7;
  195. var freq = (EnvGen.kr(freqEnv)).midicps;
  196. var a = VarSaw.ar(freq/2, width: XLine.ar(0.5,1,time)).range(0,XLine.ar(0.666,1/666,time));
  197. var tone = SinOsc.ar(freq).fold(-0.23*a,a) * EnvGen.ar(Env([1,0],[time]));
  198. Out.ar(0, tone.dup);
  199. };
  200. )
  201. // Dive
  202. (
  203. {
  204. sum(
  205. {|i|
  206. var j = i + 1 / 5;
  207. var freqEnv = Env(
  208. levels: [60, 23, 11, 17, 42],
  209. times:[0.125, 0.5, 0.125, 0.5],
  210. curve: 3);
  211. var time = 2.3;
  212. var freq = (EnvGen.kr(freqEnv)).midicps;
  213. var a = VarSaw.ar(freq / 2, width: XLine.ar(0.5,j,time)).range(0,XLine.ar(0.666,1/666,time));
  214. var tone = SinOsc.ar(freq, 0.005 * WhiteNoise.kr(freq * i)).fold(-0.23 * a, a) * EnvGen.ar(Env([1,0],[time / j]));
  215. Out.ar(0, tone.dup * j);
  216. }!5)
  217. }.play();
  218. )