«Creaking door or roulette wheel?» by 38nonprivate
on 12 Aug'11 17:30 inI aimed for the sound of a creaky door but fell a little short - you be the judge.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
( { var output, basePitch = 387, macroPitch, macroPitchAmt = 400; var modOsc, modAmt = 1.3, amp = 0.8; var creakRate, creakTrig, creakEnvGen, noise, combs, oscFreq; noise = LFNoise1.ar(LFNoise0.kr(4.8).lag(0.4).range(3646, 7777), 0.6); creakRate = EnvGen.kr( Env( [40, 25, 15, 2], [0.9, 0.6, 1.0], -4 ), doneAction: 2 ); creakTrig = Impulse.kr(creakRate); creakEnvGen = EnvGen.kr( Env( [0.0, 1.0, 0.0], [0.02, 0.1], [5, -8] ), creakTrig, timeScale: SinOsc.kr(1.5).range(0.12, 0.26) * Line.kr(0.5, 2.3, 2) ); macroPitch = EnvGen.kr( Env( [0.0, 4, 0.1, 0.3, 0.4, 0.7, 0.9], [0.2, 0.2, 0.4, 0.3, 0.48, 0.59], [2, 2, -4, -3, -2, -4] ) ); modOsc = SinOsc.ar( (basePitch + (macroPitch * macroPitchAmt)) * 0.17); modOsc = SinOsc.ar( (basePitch + (macroPitch * macroPitchAmt)) * 0.232, modOsc * 0.3); oscFreq = basePitch + (macroPitch * macroPitchAmt); oscFreq = oscFreq * (1 + (creakEnvGen * 2)); output = SinOsc.ar(oscFreq, modOsc * modAmt, 1); output = output * SinOsc.ar(SinOsc.kr(1.6).range(1220, 1355)); output = output + noise; output = output.clip(-0.5, 0.5) * creakEnvGen * amp * TRand.kr(0.8, 1.0, creakTrig); combs = Mix([CombC.ar(output, 0.2, 0.0084, 0.12), CombC.ar(output, 0.2, 0.00181, 0.03)]); output = output + (combs * 0.2); output ! 2 }.play )
descendants
full graph
«Nodin» by anonymous (private)
«lcggsx» by anonymous (private)
«kvesqk» by anonymous (private)
reception
comments