Skip to content

Instantly share code, notes, and snippets.

0x5bfabbdae534f68f52bd212497575aac4b864985
0x48b32a680E7911A2352B3Ca6Cf27D585767ED584
@edeleflie
edeleflie / gist:1263669
Created October 5, 2011 04:54
Shifted ... a synth that processes external sound input
(
SynthDef("shifted", { arg out=0,
shiftAmount = 0; // should be -1 to 1
var in, chain;
in = SoundIn.ar(0);
chain = FFT(LocalBuf(512), in);
chain = PV_BinShift(chain, 1, shiftAmount * 128 );
Out.ar(out, 0.5 * IFFT(chain).dup);
}).store();
)
@edeleflie
edeleflie / gist:1263591
Created October 5, 2011 03:57
SC GUI controlled
~orchestra= Buffer.read(s, "/Users/etiennedeleflie/Documents/teaching/music_synthesis/08/classical_long.wav");
~orchestra= Buffer.read(s, "/Users/etiennedeleflie/imagesynth/audio/DoubleBass.wav");
(
~first_filter = Synth("auditory_s_s", [ \in, 100, \out, 0, \pan, 0.3, \source_vol, 0.5, \vol, 0.5, \room, 0.7 ]); // try a rate of 0.1
~xenakish_1 = Synth("Xenakish", [ \out, 100, \soundFile, ~orchestra, \speed, 1.0, \goTo, 0.5, \t_ramp, 1, \grainLength, 0.05, \triggerGrainEvery, 0.01, \randomPosSpread, 0.008 ]);
// create a Lindenmeyer system pattern
~linden_1 = Prewrite(0, ( 0: #[0.0125, 0.0375, 0.075, 0.125, 0.250, 0.5, 2.0 ],
0.0375: #[0.0125, 0.0375, 0.5 ],
@edeleflie
edeleflie / gist:1263554
Created October 5, 2011 03:34
test OSC to SuperCollider
o = OSCresponderNode(nil, '/xenakish/goTo', { |t, r, msg| postln(msg[1]); }).add;
o.remove;
@edeleflie
edeleflie / gist:1263213
Created October 5, 2011 00:05
auditory_s_s updated
(
SynthDef("auditory_s_s", { arg in, out, // input sound, output sound
room = 0.1, damp = 0.5, // reverb params (all between 0 and 1)
hp_cutoff_freq = 10, // hi pass params (anything)
lp_cutoff_freq = 40000, // low pass params (anything)
pan = 0, // pan left or right (-1 to 1)
stereoWidthVol = 0, // 0 - 1 (try 0.7)
stereoWidthAmount = 0.0, // 0.0001 - 0.1 (try 0.002) (time delay between 2 channels)
vol = 0.5,
source_vol = 1.0;
@edeleflie
edeleflie / gist:1263209
Created October 5, 2011 00:04
OSC controlled
~orchestra= Buffer.read(s, "/Users/etiennedeleflie/Documents/teaching/music_synthesis/08/classical_long.wav");
~orchestra= Buffer.read(s, "/Users/etiennedeleflie/imagesynth/audio/DoubleBass.wav");
(
~first_filter = Synth("auditory_s_s", [ \in, 100, \out, 0, \pan, 0, \source_vol, 0, \vol, 0 ]); // try a rate of 0.1
~xenakish_1 = Synth("Xenakish", [ \out, 100, \soundFile, ~orchestra, \speed, 1.0, \goTo, 0.5, \t_ramp, 1, \grainLength, 0.05, \triggerGrainEvery, 0.01, \randomPosSpread, 0.008 ]);
// create a Lindenmeyer system pattern
~linden_1 = Prewrite(0, ( 0: #[0.0125, 0.0375, 0.075, 0.125, 0.250, 0.5, 2.0 ],
0.0375: #[0.0125, 0.0375, 0.5 ],
@edeleflie
edeleflie / gist:1236368
Created September 22, 2011 23:44
Data
,"Date","Minimum temperature (°C)","Maximum temperature (°C)","Rainfall (mm)","Evaporation (mm)","Sunshine (hours)","Direction of maximum wind gust ","Speed of maximum wind gust (km/h)","Time of maximum wind gust","9am Temperature (°C)","9am relative humidity (%)","9am cloud amount (oktas)","9am wind direction","9am wind speed (km/h)","9am MSL pressure (hPa)","3pm Temperature (°C)","3pm relative humidity (%)","3pm cloud amount (oktas)","3pm wind direction","3pm wind speed (km/h)","3pm MSL pressure (hPa)"
,2011-08-1,12.5,20.1,0,,,NNE,35,16:34,16.0,55,,WNW,15,,18.8,71,,NE,19,
,2011-08-2,13.3,20.9,0,,,WSW,33,04:58,17.0,50,,WNW,13,,19.1,63,,NNE,17,
,2011-08-3,14.7,24.5,0,,,W,35,05:38,17.9,49,,N,13,,20.9,58,,NE,22,
,2011-08-4,16.3,24.3,0,,,NNW,46,23:02,21.0,35,,NW,20,,19.1,73,,NE,22,
,2011-08-5,13.1,23.6,0,,,NW,52,13:05,18.5,43,,W,24,,22.9,33,,NW,15,
,2011-08-6,14.3,22.3,0,,,WNW,52,03:06,19.1,41,,W,22,,18.8,60,,NE,15,
,2011-08-7,13.5,18.7,2.2,,,ENE,39,15:08,14.4,78,, ,Calm,,15.8,83,,N,19,
,2011-08-8,9.2,16.5,0.4,,
@edeleflie
edeleflie / gist:1236367
Created September 22, 2011 23:43
Use Data to drive a synth
/*
Data from:
http://www.bom.gov.au/climate/dwo/201108/html/IDCJDW2014.201108.shtml
http://www.bom.gov.au/climate/dwo/201108/text/IDCJDW2014.201108.csv
*/
// open file, read and put strings into array, close file.
x = CSVFileReader.read("/Users/etiennedeleflie/Documents/teaching/music_synthesis/09/weather_data.201108.csv", true);
// some sound
@edeleflie
edeleflie / gist:1220792
Created September 15, 2011 23:29
Composition template start
~orchestra= Buffer.read(s, "/Users/etiennedeleflie/Documents/teaching/music_synthesis/08/classical_long.wav");
~bass= Buffer.read(s, "/Users/etiennedeleflie/imagesynth/audio/DoubleBass.wav");
(
~first_filter = Synth("auditory_s_s", [ \in, 100, \out, 0, \pan, 0 ]); // try a rate of 0.1
~xenakish_1 = Synth("Xenakish", [ \out, 100, \soundFile, ~orchestra, \speed, 1.0, \goTo, 0.5, \t_ramp, 1 ]);
~second_filter = Synth("auditory_s_s", [ \in, 101, \out, 0, \pan, 0 ]); // try a rate of 0.1
~xenakish_2 = Synth("Xenakish", [ \out, 101, \soundFile, ~bass, \speed, 1.0, \goTo, 0.5, \t_ramp, 1 ]);
~xenakish_2.set(\vol, 0.2);