Skip to content

Instantly share code, notes, and snippets.

@moxuse
Last active August 29, 2015 14:10
Show Gist options
  • Select an option

  • Save moxuse/d9f629d067e2d2bcc37a to your computer and use it in GitHub Desktop.

Select an option

Save moxuse/d9f629d067e2d2bcc37a to your computer and use it in GitHub Desktop.
//set server to gs server.
s=Server("Tamabi gs server", NetAddr("122.212.35.122", 57110));
(
SynthDef("despatch_radio_synth", {
|amp = 1,
azimuth = 111.9,
declination = -23.3,
distance = 31931930,
elevation = 20.3,
doppler_down = 0.999,
doppler_up = 1.00001,
right_ascension = 45.2,
phase = 0|
var osc,osc2,klank,high,mix,click,mixArr,outSynth;
click = ClipNoise.ar(0.1)
* Decay2.ar(Impulse.ar(4 * (4 / (elevation.abs + 1))), 0.0, 0.03);
osc = Mix.fill(12,{
var freq;
freq ={ [58,77,82].choose.midicps };
SinOsc.ar( freq * [0.5, 1, 2].choose + LFNoise2.kr(0.8, 5) * doppler_down,
SinOsc.ar( freq*0.5,
SinOsc.ar(freq * 0.5, 0, 0.2 * declination.abs),
0.5
),
LFNoise2.kr( 0.3, 0.01 )
)
})
* Decay2.ar(Impulse.ar(10 * (azimuth.abs.clip(1,270) * 0.05)), 0.01, 0.3);
high = RLPF.ar( Mix.fill( 12, {
Pulse.ar( ( [46, 49, 51].choose ).midicps * [1, 2, 3, 6, 9].choose + LFNoise2.kr(0.05, 3) * doppler_up,
0.25,
LFNoise2.kr( 0.05, 0.1 )
)
}), 500);
klank = DynKlank.ar( `[ [5500, 1278, 650, 93] * doppler_up, nil, [1, 1, 0.8, 0.6]], Impulse.ar(12, 0.01, 0.05) !2 )
* LFNoise2.kr(0.3, 0.3);
osc2 = Ringz.ar( LFNoise2.ar(190, LFNoise0.ar(0.3, 0.01).abs) ,
95 + Demand.kr( Dust.kr(4 * (4 / (elevation.abs + 1))), 0, Dseq([0, -20],inf)) * doppler_down,
30,
1.0
).softclip * 0.3;
mix = klank + osc + high + click;
mixArr = [mix, mix, osc2];
outSynth = Select.ar(phase - 1, mixArr);
4.do( { outSynth = AllpassC.ar(outSynth, 0.5, { [0.04.rand,0.04.rand] + 0.05 }, distance * 0.000000001) } );
Out.ar(0, outSynth * Lag.kr(amp,0.75));
}).send(s);
)
s.sendMsg("/s_new", "despatch_radio_synth", 5000, \phase, 1);
//--------------test-----------------//
s.sendMsg("/n_set",5000, \declination, 2);
s.sendMsg("/n_set",5000, \doppler_down, 1.001005);
s.sendMsg("/n_set",5000, \distance, 12694038);
s.sendMsg("/n_set",5000, \phase, 1);
s.sendMsg("/n_free",5000); // free synth
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment