From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #160 Reply-To: sc-users Sender: owner-sc-users-digest@lists.io.com Errors-To: owner-sc-users-digest@lists.io.com Precedence: bulk sc-users-digest Tuesday, August 22 2000 Volume 01 : Number 160 ---------------------------------------------------------------------- Date: Sun, 20 Aug 2000 17:27:27 +0200 From: Maurizio Giri <---@---.---> Subject: Phase Modulation with Feedback [?] Here's my attempt to write a (very simple) feedback phase modulation instrument (like Yamaha's DX-SY-TG). I'm not sure it sounds right because I don't have a Yamaha generator handy. Any comment? ( Synth.scope( { arg sy; var buffer, carrier, feedbackSignal; sy.blockSize = 1; // blockSize of 1 sample // allocate a buffer for the delay line buffer = Signal.new(1); // tap the delay line feedbackSignal = TapN.ar(buffer, 1/Synth.sampleRate); // modulate SinOsc phase with feedbackSignal carrier = SinOsc.ar(200, feedbackSignal*Line.ar(0, 2pi, 1), // fdbk 0 to 2pi 0.25); // write modulated signal to the delay line DelayWr.ar(buffer, carrier); carrier // output signal }) ) ------------------------------ Date: Sun, 20 Aug 2000 17:49:37 -0700 From: Alberto de Campo <---@---.---> Subject: Re: Phase Modulation with Feedback [?] You can do the same thing simpler with plug, and you dont need the delay line: ( Synth.scope( { arg sy; var carrier, phaseControl; sy.blockSize = 1; // blockSize of 1 sample phaseControl = Plug.ar(0); // prepare a plug for the phase input. carrier = SinOsc.ar(200, phaseControl * MouseX.kr(0, 2pi), // fdbk 0 to 2pi 0.25); // generate the output signal, then... phaseControl.source = carrier; // plug the output back into the phase input. carrier }) ) This has an automatic delay of synth.blocksize in the feedback loop already, since SC can't go back and calculate the SinOsc's out again with the new phase input.(That would be an infinite loop for each block, and not even SC is fast enough for that :-) Best regards, Alberto - --------- Maurizio Giri wrote: > Here's my attempt to write a (very simple) feedback phase modulation > instrument (like Yamaha's DX-SY-TG). > I'm not sure it sounds right because I don't have a Yamaha generator handy. > Any comment? > > ( > Synth.scope( { arg sy; > var buffer, carrier, feedbackSignal; > sy.blockSize = 1; // blockSize of 1 sample > > // allocate a buffer for the delay line > buffer = Signal.new(1); > > // tap the delay line > feedbackSignal = TapN.ar(buffer, 1/Synth.sampleRate); > > // modulate SinOsc phase with feedbackSignal > carrier = SinOsc.ar(200, > feedbackSignal*Line.ar(0, 2pi, 1), // fdbk 0 to 2pi > 0.25); > > // write modulated signal to the delay line > DelayWr.ar(buffer, carrier); > > carrier // output signal > }) > ) ------------------------------ Date: Mon, 21 Aug 2000 12:50:46 +0200 From: Maurizio Giri <---@---.---> Subject: Re: Phase Modulation with Feedback [?] >You can do the same thing simpler with plug, Didn't know about that, thank you for your answer. Howewer I noticed that the Plug solution is CPU consuming (about 53% on a 300 MHz iBook, while the Delay line solution is 16%). Another thing: I found that if you modulate the delay line of the feedback you can have some rather crude, but funny, effects. Here's the code: ( Synth.scope( { arg sy; var buffer, carrier, feedbackSignal; sy.blockSize = 1; // blockSize of 1 sample // allocate a buffer for the delay line buffer = Signal.new(2000); // tap the delay line feedbackSignal = TapA.ar(buffer, // modulating delay line length in 50 secs. Line.ar(1/Synth.sampleRate, 882/Synth.sampleRate, 50) // comment out line above and... // try this: random-modulating delay line length // LFNoise1.ar(0.5, 220/Synth.sampleRate, 220/Synth.sampleRate) // try this also (funnier): // LFNoise0.ar(4, 110/Synth.sampleRate, 110/Synth.sampleRate) ); // modulate SinOsc phase with feedbackSignal carrier = SinOsc.ar(50, feedbackSignal*2pi, 0.25); // write the modulated signal to the delay line DelayWr.ar(buffer, carrier); carrier // output signal }, 0.02) ) Maurizio ------------------------------ Date: Mon, 21 Aug 2000 20:58:04 +0200 From: integer@www.god-emil.dk Subject: 242.sequenom - SUPERIOR 3d + transfektion | 01 koprodukzie = supra.m9ndfukc ___... data = korekt : humanz = debris : komme tout mode 242.sequenom - 0+1st international instance \ inauguration of audio dsp via live video patent applied 4 luppi dze lup + red riding hood - cucu cest mo!. nato.0+55 - rendering model citizen serf employees + konglomerates ost europa prefabrikated socialistik cement [01 lux garanzie] http://www.eusocial.com/nato.0+55+3d/gm/242.055.sequenom.sit.bin http://www.eusocial.com/nato.0+55+3d/gm/242.055.sequenom.sit.bin http://www.eusocial.com/nato.0+55+3d/gm/242.055.sequenom.sit.bin 242.sequenom - muzik : ultra mort kompozitor ludvig van beethoven. 9th m9ndfukc. 242.sequenom - SUPERIOR transfektion | 01 koprodukzie - luppi dze lup + red riding hood delineating futher the SUPERIORITY of emancipated life objekts. du != ma! kompete serf \ charlatan++ a dull oaf that wolf. not a pleasure provoked in becoming an object of another\s wonder. and she\s so pretty : it beautifully demonstrates the elegance + SUPERIORITY of nato.0+55 - 11 displays - 10+ effekts - 3 sonograms - 2 films played from disk - 1 soundfile played from disk - 2 fft\ifft.z - internet on \ appletalk on - ultra ultra agile. da + da. nato.macht.ganz.gluckl!ch+fre! _||- = supra.m9ndfukc related teknologie : 242.wto - du. globalization macht.ganz.glucklich + fre! - 01 global v!deo algor!thm = ganz feaz!bl - http://www.eusocial.com/242.wto 242.mRNA - komarade lovers for your healths sake - pollinate freely inter.applikation realtime video komunikazie. - http://www.eusocial.com/242.mrna nebula.m81 - data dr!ven b!nar! tele.v!z!on - http://www.eusocial.com/nebula.m81 242.fonogram - video <=> audio dsp _ dez!r = 01 male okupaz!on - http://www.eusocial.com/242.fonogram friendly. just ur klik 1 klik - patent applied 4 - i am zoe [.eu aksent zvp] - - http://www.eusocial.com nn to void typing errors. it is recommended that you. l e a r n . immunoperation : how humans interpret employment opportunities _... 0 0 0 || KORPORAT KR!EG MACHT 3k0R KUNST N[>] IMF - the International Meme Fund - shear pathway to the core. - promoting meme development. lokomotion. + reinvestment. - meme sekurity + meme transaktions. [>] ||||||||||||||||||||| rekurrent exc!tat!on || ||||||||eusocial.com – – – – – – – – – – – – า – – – – – – – – – – – – – – – – – pro satisfacer le metro – – า – – – – – – – – – – – – – – – – – – – – – < 0\ zve!te[z]!ztem \1 > - - NATO.0+55 MAKEX YOU RANDOM A+TO.05A5 MNKEX UYN ADROOM A+MN05A5 K.X UYDETOROON AM konzeptual organ!k d!zpla!z. ! = tranzm!t 2 u 01 flouer + komensz konzum > tearz. | segmentat]on v!ol.at!on -- k๘re dump.d | p r 0 d U k t ]-----| ุ f ุ ุ ุ 3 | n 3 ! n better cheaper humanz will create a larger market 4 better cheaper humanitarian assistansz. ueaponz \ !tz ga!a. ! zuear. ! zuear. || aksez –– 1 1 0 1 8 || 2 9.1 0.1 4.2 6 - http://www.eusocial.com/mate.nou.meal.latr/m!zplazd.noztalg!a 2 9.1 0.1 4.2 6 - http://www.eusocial.com/mate.nou.meal.latr/m!zplazd.noztalg!a 2 9.1 0.1 4.2 6 - http://www.eusocial.com/mate.nou.meal.latr/m!zplazd.noztalg!a 2 9.1 0.1 4.2 6 - http://www.eusocial.com/mate.nou.meal.latr/m!zplazd.noztalg!a 2 9.1 0.1 4.2 6 - http://www.eusocial.com/mate.nou.meal.latr/m!zplazd.noztalg!a - - 2+0|addTL.modul3z. -2smak dze uneventfuL.human.h3d-_m9nd.konta!nr. : sonata 4 unakompan!ed nn juzt 1 kl!k. v!olenza + demokraz!a. = juzt!z!a moderna - - - - - - nouakokakolamomentmal _\0- therapeut!kc klon!ng do you want your software designs to end up in cardbored boxes or G3O-Z!NKRONOUS 0RB!T +? ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l : http://www.membank.org/0000/0000.html : Max Plank Inztitut 4 Ordnung \+\ Disziplin : Uber die Konztituzie der Materie [c]ccp : Netochka Nezvanova - oestrus.eusocial.com __ __ ________/ / /_/ /___ __ / __ / /_/ /__/ /__ / ____________/ /_/ dze pa!r!ng ov homologouz kromozomez one 4rom each odr prnt dur!ng me!os!z i cannot be bothered.i cannot be bothered.surrender your pattent. n 3 ! n Netochka Nezvanova f3.MASCHIN3NKUNST @www.eusocial.com 17.hzV.tRL.478 e | | +---------- | | < \\----------------+ | n2t | > e ------------------------------ Date: Tue, 22 Aug 2000 16:49:20 -0400 From: "christian.adam.hresko." <---@---.---> Subject: ping pong here's another little patch i'm working on. very simple. my question is: why am i not getting the desired result? i.e the delay produces a signal before a signal is even introduced. also, when a signal is introduced, it contains 'artifacts' or distortion. i actually like the sound of it, but that's not what i promised my professor. oh yeah, it eventually blows up. or something... here you go: ( // Stereo Ping Pong Delay var w; { var usLeft, usRight, sigOut; var n, s; w = GUIWindow.new("Ping Pong Delay", Rect.newBy(299, 230, 196, 172)); n = NumericalView.new( w, Rect.newBy(33, 43, 64, 20), "Delay Time", 0, 0, 2.0, 0.025, 'linear'); s = SliderView.new( w, Rect.newBy(33, 79, 128, 20), "Delay Control", 0, 0, 2.0, 0.025, 'linear'); StringView.new( w, Rect.newBy(33, 13, 128, 20), "Delay Time"); StringView.new( w, Rect.newBy(100, 43, 81, 21), "seconds"); s.action = { n.value = s.value}; n.action = { s.value = n.value}; usLeft = AudioIn.ar(1); // channel one usRight = AudioIn.ar(2); // channel two sigOut = PingPongL.ar( argLeft: usLeft, argRight: usRight, maxDelayTime: 2.0, actDelayTime: s.kr, feedback: 0.7); sigOut }.play; w.close; ) btw, what is the feedback coefficient 'measured' in? (units??) cheers, christian - -- http://www.george_w_bush_killspeople.com ------------------------------ End of sc-users-digest V1 #160 ******************************