# distances bending supercollider patch for *distances bending (future tones)* composed and performed by clara de asís and rebecca lane. ## materials the code and its player have four different voices at their disposal: *difference tones*, *noise flute*, *breath noise*, and *future tones*. ### tones difference and future tones are generated live by supercollider oscillators. the **difference tones** range from 20 to 160 herz. we call them difference tones because their frequencies are defined by differences between some of the frequencies played by clara and bec. the **future tones** range from 800 to 6000 herz. at the times when they are played, they anticipate tones that clara and bec will play later in the piece. ### samples noise flute and breath noise are samples provided by clara and bec. **noise flute** consists of eight mono samples (the files `S2_480_mix.wav`, `S2_560_mix.wav`, `S2_640_mix.wav`, etc. are named according to frequency; in the score, these will be sample `a`, `b`, `c`, etc.). **breath noise** is a single stereo sample that lasts for around five minutes. in one-hour versions of the piece, it is triggered once, at the 35-minute mark. ## organization in 2023 a one-hour version of the piece was presented (at oscillation and again at p.a.s.). this version had six sections numbered II to VII. the table in `DB 1H Time distribution table V3.pdf` sets out the framework within which the code specified scores for playing the samples and tones. for example, in section II, the palette is constrained to: - difference tones at 20 40 herz, - noise flute samples a–c, - future tones ranging from 800 to 1100 herz. the hand-written notes in `IMG_3122.jpg` specify minimum and maximum numbers of occurrences for each class of event. for example, in section II, these are: - difference tones: at least 0 events, at most 1 event, - noise flute: at least 0, at most 2 events, - future tones: at least 1, at most 3 events, no frequency to be played more than once. ## code init.scd - instructions for setting up Babyface sound card with bbfpromix (linux) - initialize server - set up SynthDefs `\difference`, `\future`, `\mono_sampler`, `\stereo_sampler` - amplitudes for the samples are hard-coded as arguments to `\mono_sampler` and `\stereo_sampler` - populate Dicts and set up TUI triggers (with durations) for tones - load samples - instantiate sample synths and set up TUI triggers for samples generate-score_2023.scd - each section of the piece gets a Dictionary containing its sound materials (frequencies, sample identifiers) and its start time and duration (in minutes) - post the temporal contraints we're working with - specify the events and post them: this is the score a player can play from - re-initialize some variables (in case we want to generate a new score) triggers.scd - pink noise for sound checking - code blocks for triggering events. for each block, the first line or lines functions as a play button. for tones, the amplitude is also set (and can be altered) here. example: ``` ( ~play_dTone.value( "20hz", amp: 0.18, out: 1); ) ~dTone_synths["20hz"].set(\gate, 0); ``` - note that samples don't have amplitudes modifiable at in the trigger blocks; as noted above, they're in init.scd - the last line in each trigger block is the stop button