Monday, April 21, 2014

musical training

Friday, April 11, 2014

Visual Music

Walter Ruttmann - Lichtspiel: Opus II (1921) Walter Ruttmann - Lichtspiel: Opus I (1921) Walter Ruttmann - Lichtspiel: Opus IV (1925) Lapis - James Whitney (1966) John Whitney "Catalog" 1961 Viking Eggeling - Symphonie Diagonale (1924) Studie nr 8 (excerpt) by Oskar Fischinger Len Lye - FREE RADICALS - 1958 Tusalava Len Lye - KALEIDOSCOPE - 1935 Norman McLaren - Dots (1940) Norman McLaren - Boogie Doodle Norman McLaren - Loops (1940) Rythmetic

beating rhythm sketch one

I have finally got to the basic sketching of an idea I had, namely to create a piece where beating (phase cancellation) of simple sine tones determines the rhythm and note durations of a work. The idea is still taking shape. The first couple of sketches are nothing earth shattering, but I find the simplicity quite elegant. 

They are implemented with SuperCollider. 
The code for the first one is 
//BEGIN SC CODE
SynthDef(\sins, {
arg freq1 = 370, freq2 = 370.5, cnlOut = 0;
var snd1, out; 
snd1 = Mix.ar(SinOsc.ar([freq1,freq2],[0,pi],0.25));
out = Out.ar(cnlOut, snd1);
}).send;
)
(
w = Routine({
x = Synth(\sins);
"370.5".postln;
2.wait;
x.set(\freq2, 371);
"371".postln;
1.wait;
x.set(\freq2, 370.25);
"370.25".postln;
4.wait;
x.set(\freq2, 370.75);
"370.75".postln;
(0.75.reciprocal).wait;
x.set(\freq2, 370.5);
"370.5".postln;
2.wait;
x.free;
"done".postln;
})
z = Routine({
v = Synth(\sins, [\freq1, 180, \freq2, 180.5, \cnlOut, 1]);
2.wait;
v.set(\freq1, 180, \freq2, 181, \cnlOut, 1);
1.wait;
v.set(\freq1, 180, \freq2, 180.25, \cnlOut, 1);
4.wait;
v.set(\freq1, 180, \freq2, 180.75, \cnlOut, 1);
(0.75.reciprocal).wait;
v.set(\freq1, 180, \freq2, 180.5, \cnlOut, 1);
2.wait;
v.free;
"done".postln;
}).play;
)
//END SC CODE
sineSketch1 audio

The second sketch is similar but with some offset to create motion, or tension and resolution if you like that verbiage.
(
SynthDef(\sins, {
arg freq1 = 370, freq2 = 370.5, cnlOut = 0;
var snd1, out;
snd1 = Mix.ar(SinOsc.ar([freq1,freq2],[0,pi],0.25));
out = Out.ar(cnlOut, snd1);
}).send;
)
(
w = Routine({
x = Synth(\sins);
"370.5".postln;
4.wait;
x.set(\freq2, 371);
"371".postln;
2.wait;
x.set(\freq2, 370.25);
"370.25".postln;
8.wait;
x.set(\freq2, 370.75);
"370.75".postln;
((0.75.reciprocal)*2).wait;
x.set(\freq2, 370.5);
"370.5".postln;
4.wait;
x.free;
"done".postln;
}).play;
z = Routine({
v = Synth(\sins, [\freq1, 180, \freq2, 180.5]);
4.wait;
v.set(\freq1, 180, \freq2, 180.75);
((0.75.reciprocal)*2).wait;
v.set(\freq1, 180, \freq2, 180.25);
8.wait;
v.set(\freq1, 180, \freq2, 181);
2.wait;
v.set(\freq1, 180, \freq2, 180.5);
4.wait;
v.free;
"done".postln;
}).play;
)
// END SC CODE

sineSketch2 audio

Playing with the audio file, which is a mono file of both voices, I was very taken with the visual representation I could achieve at different levels of magnification. Here are some screen shots.








Tuesday, April 08, 2014

SC tutorials

A collection of SuperCollider Tutorials. Very useful and informative. https://www.youtube.com/playlist?list=PLPYzvS8A_rTaNDweXe6PX4CXSGq4iEWYC

John Thompson

precision cones

Amon Tobin

Came across this today and found the ideas resonant and the work got me thinking.