You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
3.2 KiB
71 lines
3.2 KiB
|
|
# 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
|
|
|