Mechanical Planet
Modica, Noel: Logic/SuperCollider Project: A collaboration with the very talented Dave Noel on the keys and myself on electric guitar. We also used SuperCollider code for some interesting sounds and different effects such as distortion, filters, and reverb for our keyboard and guitar tones on this bluesy, mellow tune.
Electro-Blue
Mechanical Planet-Music Video
This video was created using objects/landscapes in Google Sketch-Up along with
my song playing in the background. I was able to create multiple animations and
edit them all together into one video. The song was created using various MIDI
instrument sounds/effects in which I played on a keyboard in Logic Pro 9 and Max
MSP 6.0 and it is also an original composition.
SuperCollider Codes:
(
p = Pbind(
\note, Pseq(#[21,21,17,17,15,16,17,0, 3, 4, 7, 3, 4, 0, 21,20,21, 16, 19, 17], 1), \dur, Pseq (#[0.3], 20) )
.play;
)
This is a melody I have created using Pbind in Supercollider. Pbind combines several value streams into one event stream. Each value stream is assigned to one or more keys in the resulting event stream. Each number on the top line represents a musical note value. The number value [0.3] in line 2 next dur, Pseq represents the duration of the notes. The lower the number, the fastest te duration, and vice versa.The number 20 next to that respresents how many notes with be played. A Pseq is a cycle over a list of values. The repeats variable gives the number of times to repeat the entire list.
{ Saw.ar (200,EnvGen.kr(Env.perc(0.1,1), 0.5,
doneAction: 2)) }.play
( SynthDef(
"bass", { arg freq = 300;
Out.ar ( 0, Saw.ar (freq,
EnvGen.kr(Env.perc(0.1,1), 0.5, doneAction:
2)))}).add;
)
(
Pbind(
\instrument, \bass,
\freq, Pseq([60, 48, 53, 55, 47, 67, 60, 45, 53].midicps, 9),
\dur, Pseq([0.5], 72)
).play;
)
Here is a bass instrument melody using a SawOSsc, EnvGen, Pbind, and Psequencer. Load the first two lines in order to hear the melody.
{SinOsc.ar(400, mul: EnvGen.kr(Env.perc(0.2, 0.4, 0.8, 1),
doneAction:2))}.play;
{SinOsc.ar(400) * (EnvGen.kr(Env.perc(0.2, 0.4, 0.8, 1),
doneAction:2))}.play;
(
(SynthDef("Stevesynthesizer", { |freq = 440|
Out.ar(0, SinOsc.ar(freq, mul: EnvGen.kr(Env.perc(0.1, 0.1, 0.1,1), doneAction:2)))}).add;
))
(
(Pbind( \instrument, \Stevesynthesizer,
\freq, Pseq([330, 440, 550, 660, 700, 660, 550, 440, 330, 440], 1),
\dur, Pseq([0.3], 11)
).play;
)
)
This code is a synthesizer melody using Pbind and PSeq with a Sine Osillator and Enveleope Generator. The EnvGen controls the amplitude. Load the two Oscillators first, then Synthdef, and finally the Pbind instrument synthesizer. Note-The server application uses synth definitions as templates for creating Synth nodes.
// modulate number of harmonics
{ Blip.ar(200,Line.kr(1,100,20),0.2) }.scope(1);
// modulate number of harmonics
{ Blip.ar(400,Line.kr(1,100,20),0.2) }.scope(1);
// modulate number of harmonics
{ Blip.ar(300,Line.kr(1,100,20),0.2) }.scope(1);
// modulate number of harmonics
{ Blip.ar(50,Line.kr(1,100,20),0.2) }.scope(1);
// used as an echo.
{ CombN.ar(Decay.ar(Dust.ar(1,0.5), 0.2, WhiteNoise.ar), 0.2, 0.2, 3) }.scope(1, zoom:4);
This code consists of a series of harmonics on specific frequencies using Blip. Blip is Band Limited ImPulse generator. All harmonics have equal amplitude. Each line is assigned a specific frequency (200, 400, 300, and 50) playing a series of harmonics. When the sequence finishes, a the frequencies ring and sound together as a G chord. The last line creates a delay/echo effect using a Comb filter called CombN which is a Comb delay line with no interpolation. The Decay is calculated from a 60 dB decay time. Dust generates random impulses from 0 to +1. WhiteNoise is also used and generates noise whose spectrum has equal power at all frequencies. It creates a percussive sound when combined with the last line. The records plays the 200 and 400 frequencies of the first two lines and then plays all of the linees and frequencies at the same time adding a lower register, as well.