dewdrop_world
Joined: Aug 28, 2006 Posts: 858 Location: Guangzhou, China
Audio files: 4
|
Posted: Sat May 24, 2008 7:51 pm Post subject:
|
|
|
Here's a short excerpt. The breakbeat is chugging along, along with kick drum and snare accents. Today I also added a prototype of a bassline -- I'm not quite happy with it but I wanted to be sure I could generate the material and have the harmonic content change at the right times in the score.
Forgive the rough mix -- this is at a really early stage of production.
And, the code as it stands now (excluding the process details, since this thread is about the higher-level structure) -- it uses other code that exists locally on my machine, which I'm not ready to release yet (sorry). But at least it might make it more concrete what I mean by "sections" and "commands."
James
Code: | // must load proto-cmds, core processes and transports, before doing this
(
BP.all.free;
~sections = [PR(\tlSection).copy.putAll((
startBeatsPerBar: 4,
initProcesses: {
BP(\cond).free;
PR(\conductor).chuck(BP(\cond), nil, (
meter: Pseq([4, 3, 15/4, 4, 3], 1),
numBars: Pseq(#[1, 1, 1, 3, 1], 1),
barDiv: Pseq([
(bass: #[0, 0.75], snr: #[1.5], avail: (8..15)),
(bass: #[0, 1.5], snr: #[0.75, 2.25], avail: \getRests),
(bass: #[0, 1.25, 2.5], snr: #[0.75, 2, 3.25], avail: \getRests),
(bass: #[0, 0.5, 1.5], snr: #[1, 2, 2.5], avail: (12..15)),
(bass: #[0, 3.25], snr: #[3, 3.75], avail: (0..15)),
(bass: #[0], snr: #[0.5], avail: (4..15)),
(bass: #[1.5, 2.0, 2.25, 2.75], snr: #[2.5], avail: (0..5))
], 1)
));
// more processes get initialized here (omitted)
},
seqPattern: {
Pbind(
\sequence, Pseq([
[funcCmd: (func: {
BP(#[brk, k, snr, b2]).do(_.cond_(\cond))
}),
funcCmd: (func: { Library.put(\bassMapping, #[31, 37, 39, 43, 45].mapMode(\gmin)) }),
bpCmd: (name: #[brk, k , snr, b2], quant: #[1, 0], shouldSync: false),
bpCmd: (name: #[cond], quant: #[1, 0]),
23.75, notifyCmd: (notification: \initNext, passthru: true)]
], 1),
\dur, \sync
)
},
name: "break"
)),
PR(\tlSection).copy.putAll((
name: "break2",
initProcesses: {
PR(\conductor).chuck(BP(\cond2), nil, (
meter: Pseq([4, 3, 1.25, 5, 1.25, 3, 1.25, 4, 2, 4, 3, 4, 3, 1.5, 3], 1),
numBars: Pseq(#[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 1, 2], 1),
barDiv: Pseq([
(bass: #[0, 2.5], snr: #[1, 3], avail: \getRests),
(bass: #[0, 2.5], snr: #[1], avail: \getRests),
(snr: #[0], avail: \getRests),
(bass: #[0, 2.5, 4], snr: #[1, 3], avail: \getRests),
(snr: #[0], avail: \getRests),
(bass: #[0, 2.5], snr: #[1], avail: \getRests),
(snr: #[0], avail: \getRests),
(bass: #[0, 2.5], snr: #[1, 3.5], avail: \getRests),
(bass: #[0], snr: #[0.5, 1.5], avail: \getRests),
(bass: #[0], avail: (2..15)),
(snr: #[1, 1.75, 2.25], avail: #[0, 1, 2, 3, 10, 11]),
(bass: #[0, 0.75], snr: #[1.5], avail: (8..11)),
(bass: #[0, 2.5], snr: #[0.75, 1.5, 3, 3.25], avail: \getRests),
(bass: #[1, 2.75], snr: #[0, 0.5, 1.25, 2, 2.25, 3], avail: \getRests),
(bass: #[0, 0.75, 1.5, 3], snr: #[1, 2.5, 3.25], avail: \getRests),
(snr: #[0, 0.75, 1.5, 2.25], avail: \getRests),
(snr: #[0, 0.75, 1.5, 2.25], avail: \getRests),
(snr: #[0, 0.75], avail: \getRests)
], 1)
));
BP(\cond2).leadTime = 0.2;
},
seqPattern: {
Pbind(
\sequence, Pseq([
[funcCmd: (func: {
BP(#[brk, k , snr, b2]).do({ |bp| bp.cond_(\cond2) });
}),
// change pitch content of bass at start of section
funcCmd: (func: { Library.put(\bassMapping, #[31, 38, 41].mapMode(\gmin)) }),
bpCmd: (name: #[brk, k , snr, b2], quant: #[1, 0], shouldSync: true),
bpCmd: (name: #[cond2], quant: #[1, 0], stopAll: true),
4+3+5+3+4+2+(3*1.25),
// change content again
funcCmd: (func: { Library.put(\bassMapping, #[31, 37, 43, 45].mapMode(\gmin)) }),
22,
funcCmd: (func: { Library.put(\bassMapping, #[38, 43, 45, 48].mapMode(\gmin)) })
]
], 1),
\dur, \sync
)
}
))
];
)
~seq = PR(\sectionSequencer).copy.putAll((
sections: ~sections
));
PR(\transports).copy.model_(~seq) => BP(\transports); |
Description: |
|
Filesize: |
26.96 KB |
Viewed: |
11415 Time(s) |
|
Description: |
Rough demo of section transition. |
|
Download |
Filename: |
section-demo.mp3 |
Filesize: |
704.75 KB |
Downloaded: |
1270 Time(s) |
_________________ ddw online: http://www.dewdrop-world.net
sc3 online: http://supercollider.sourceforge.net |
|