Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 39 lines (29 sloc) 1.656 kb
8895ccc4 » danstowell
2012-01-14 Initial commit
1 ////////////////
2 ////4444////////
3 ////////4444////
4 ////////////////
5
6 by Dan Stowell, (c) 2011--2012, all rights reserved.
7 Released under the Affero GPL (AGPL) license, version 3 or later.
8
d8cdd408 » danstowell
2012-01-14 reformat readme
9 4444 is a thing for generative dance music using a 4-bar arrangement of pulls
10 and drops. It provides a simple framework for making generative dance music,
11 and presumably other sorts of music, anything that you can code in
12 supercollider and comes in 4-bar patterns of 4.
8895ccc4 » danstowell
2012-01-14 Initial commit
13
d8cdd408 » danstowell
2012-01-14 reformat readme
14 You just need to define some Patterns (or more interestingly, some Functions
15 that return Patterns), and probably some SynthDefs of your own.
8895ccc4 » danstowell
2012-01-14 Initial commit
16
d8cdd408 » danstowell
2012-01-14 reformat readme
17 The system has its own notion of its current mood ('arousal' and 'valence')
18 which the Functions can use to generate happy/sad/chill/angry patterns
19 accordingly.
8895ccc4 » danstowell
2012-01-14 Initial commit
20
d8cdd408 » danstowell
2012-01-14 reformat readme
21 The included 'example' files are simple generative examples that might help
22 you get started.
8895ccc4 » danstowell
2012-01-14 Initial commit
23
24
25
26 The general approach:
d8cdd408 » danstowell
2012-01-14 reformat readme
27
28 Each channel (bass, snare, hats, whatever) is a data structure stored in a
29 Dictionary, having:
30 * a current Pattern that can be triggered by the master sequencer,
31 to play a bar
8895ccc4 » danstowell
2012-01-14 Initial commit
32 * a group, on which the pattern will play, and might have filters added
33 * a 'regen' function, which can create and return a new pattern
d8cdd408 » danstowell
2012-01-14 reformat readme
34 * a 'rare' function, which is called on very first start, and only rarely
35 after that (e.g. to change a synthdef every 5 mins or so)
36 (the 'rare' function can return an Event containing things that'll
37 be stored in \vars, which will later passed to the regen function)
38
8895ccc4 » danstowell
2012-01-14 Initial commit
39 Then there's a master sequencer which triggers four bars, then on last bar randomly chooses to kill/filter/regenerate the channels.
40
41
Something went wrong with that request. Please try again.