Submit
Browse
Anonymous
Login
RSS
SuperCollider Code
Fork Code: Motors
name
code content
//Fig 44.5: Motor //Contains the subpatches shown in fig 44.2, 44.3, 44.4 and 44.6. ( { | // arguments range: 0.0 - 1.0 runtime = 0.2, statorLevel = 0.7, brushLevel = 0.9, rotorLevel = 0.6, maxSpeed = 0.3, volume = 0.5, tubeRes = 0.2 | var motorEnv, motorEnv1, motorEnv2, motor, rotor, drive, stator, resonance; // fig 44.2: Speed Control Envelope motorEnv = (Line.ar(0,1,runtime * 20, doneAction:2)) * 2; motorEnv1 = (1 - motorEnv.min(1)).pow(6); // fast growing curve motorEnv2 = motorEnv.max(1) - 1; // linear decay motorEnv = (motorEnv1 + motorEnv2) * (-1) + 1; drive = motorEnv * (maxSpeed * (-2000)); drive = LFSaw.ar(drive, 1, 0.5, 0.5); // fig 44.3: Rotor rotor = WhiteNoise.ar; rotor = BPF.ar(rotor, 4000, 1.reciprocal) * brushLevel; rotor = (rotor + (rotorLevel * 0.2)) * drive.pow(4); // fig 44.4: Stator stator = (Wrap.ar(drive * 2) * 2pi).cos; // notice the difference in SC between (stator * stator) and stator.pow(2) // to achieve the desired sound result from the book, use (stator * stator) // stator = stator.pow(2) + 1; // equals stator ** 2 + 1; stator = (stator * stator) + 1; stator = (1 / stator - 0.5) * statorLevel; // fig 44.6: FM body resonance resonance = SinOsc.ar(178) * drive + motorEnv; resonance = (resonance * 2pi).cos; resonance = (resonance - OnePole.ar(resonance, exp(-2pi * (180 * SampleDur.ir)))); resonance = (resonance - OnePole.ar(resonance, exp(-2pi * (180 * SampleDur.ir)))); resonance = resonance * tubeRes; motor = motorEnv * (rotor + stator + resonance); motor = (motor * volume).dup; }.play ) // code also available here: // http://en.wikibooks.org/wiki/Designing_Sound_in_SuperCollider/Motors
code description
based on pure data code from the book "Designing Sound" by Andy Farnell. (Chapter 44, Practical 21, Motors)
use markdown for formating
category tags
comma separated, i.g. "wild, siren" (do not enter default SC class names, please)
ancestor(s)
comma separated identificators, i.g. "1-C,1-1,1-4M,1-x"
Private?
the code will be accessible by direct url and not visible in public activity
signup to submit public code without captcha
comment of change