GiantSteps

copyright John Coltrane


/*(

Server.default.boot;

Instr.loadAll;

)*/


(

var headNotes,headDurations, chordChanges,pattern;



headNotes = CXScale.degrees([

'bb', 'f#', 'd#', 'b', 'd',

'd#', 'c#', 'f#', 'd', 'b', 'g', 'bb', 'b', 'a','d',

'd#', 'c#', 'f#',

'g', 'f','bb',

'b', 'a', 'd', 'bb', 'bb'])

+ [12,0,0,0,0,0,0,0,0,0,-12,0,

0,0,0,0,0,0,0,0,12,12,12,12,12,12];

headDurations = [

1,1,0.75,1.0,2.25,

1,1,0.75,1.0,1.0,1.0,2.25,

1,1,2,1,1,2,1,1,2,1,1,2,

0.75,1.25] * 0.5;


chordChanges = 

[ 


CXScale('b',\major), CXScale('d',\lydianb7), CXScale('g',\major), CXScale('bb',\lydianb7),

CXScale(\eb,\major), CXScale(\eb,\major), CXScale(\a,\minor7), CXScale(\d,\lydianb7),

CXScale(\g,\major), CXScale(\bb,\lydianb7), CXScale(\eb,\major), CXScale('f#',\lydianb7),

CXScale(\b,\major), CXScale(\b,\major), CXScale(\f,\minor7), CXScale(\bb,\lydianb7),

CXScale(\eb,\major), CXScale(\eb,\major), CXScale(\a,\minor7), CXScale(\d,\lydianb7),

CXScale(\g,\major), CXScale(\g,\major), CXScale('c#',\minor7), CXScale('f#',\lydianb7),

CXScale(\b,\major), CXScale(\b,\major), CXScale(\f,\minor7), CXScale(\bb,\lydianb7),

CXScale(\eb,\major), CXScale(\eb,\major), CXScale('c#',\minor7), CXScale('f#',\lydianb7)


];



pattern = Instr("songs.jazztrio").value([

chordChanges,

headNotes,

headDurations,

Instr([\spawnEvents,\LFCub,\Linen]).store.asDefName,

Instr([\spawnEvents,\VarSaw,\Linen]).store.asDefName,

Instr([\spawnEvents,\LFTri,\Linen]).store.asDefName,

2,

0.57,

0.3,

0.1,

1.0

]);


pattern.play


)