sclang: array primitives - respect mutability when changing object.
[supercollider.git] / examples / pieces / RM-octaver.scd
blob139a629974b85fd2eaa4404019eada5928d23bec
2 /*
4 RM octaver
6 inSignal is RingModulated by a sinusoidal tone with half frequency.
7 The resulting spectrum is given by all the components of inSignal withÊ
8 half freqs.
9 This means that the new spectrum is a one 8ve below version of the input signal's one, 
10 with only odd partials.Ê
11 As a consequence, if inSignal is added again, even partials areÊ
12 recovered.
14 See:
15 Miller Puckette, The Theory and Technique of Electronic Music, p. 126
16 http://crca.ucsd.edu/~msp/techniques/latest/book.pdf
17 http://crca.ucsd.edu/~msp/techniques/latest/book-html/node77.html#sect5.ringmodÊ
19 andreavalle
23 s = Server.local.waitForBoot({
24         SynthDef.new(\RmOctaver, { var in, out = 0, freq, hasFreq ;
25                 in = SoundIn.ar(0) ;
26                 # freq, hasFreq = Pitch.kr(in) ;
27                 Out.ar(out, SinOsc.ar(freq: freq*0.5)*in+in);
28         }).send(s) ;
33 Synth.new(\RmOctaver) ;