Bryan Eubanks, 2011/2012
one loudspeaker, two microphones, computer generated sound, and accordion duration: 20 to 45 minutes to be performed in any space, indoors or outdoors bryan eubanks, 2011/2012
instructions the live electronics for this piece are a generative computer program that is a stand alone application, included in the download of this score, which will run on OSX only. It works like any other application and is reccommended for ease of use when realizing this piece. a plain text file is included which can used on other operating systems in conjunction with the supercollider audio software (available for free online). electronics play from a single speaker, adding a subwoofer if possible, located near the accordion player. a pair of microphones, connected to the audio input of the computer, are to be placed near, or in between, the accordion and speakers, or they can be seperated somewhere in the space of performance in order to record the interaction of the accordion and the cross-filtering oscillators in the environment. the output and input volumes should be set carefully, but will need to be adjusted sensitive to the site of performance. the speaker output should be set so that it is neither dominating the space nor masked by any present ambient sound. the microhpone input level should be set carefully to capture a strong signal with a low noise content, but keep in mind that the microphones continually record onto a short loop so over the course of 17 repetitions the amplitude will increase. in any event a low level generally suffices, depending on where the microhones are placed. care should be taken to eliminate any chance of feedback between the microphones and loudspeaker by muting the speaker output of the microphone input channels on the device being used for recording and playback. the layered chord that results from this recording process should be at a level that sits in the room at about the same levelthat the live sections were played at, it should not be a drastic change in volume (more a change in density), and present a smooth transition from live to recorded sound. the computer generates electronic tones that cross filter (diagramed on score), choosing a different pitch from the chord, and duration, on each iteration. the accordion may play anytime during each iteration by choosing a pitch (or two) from the chord within a whole step of what the electronics are currently voicing. the accordion sustains these pitches at a volume that blends with the oscillators, extending the bellows in only one direction on each sounding. the accordion can begin with the oscillators, or shortly after, but if the accordion ceases to sound before the second oscillator (the higher partial, descending) enters at the halfway point of each iteration, the the same pitch(es) may be played again. accordion should always stop sounding either before the oscillators end or with them. after the 17 iterations of the process are finished, the computer will play a recording, captured by the pair of microphones, of the preceding performance, and the ambient space where the performance occured, layered upon itself and compressed into a 55 second loop. this will last for a duration equal to the combined time of the 17 iterations recently played. it will rest at a very soft volume; a residual, lingering chord...within which the accordian can occasionally sound pitches from the chord at very quiet levels and for very extended durations.
chord accordion chooses one or two tones within a whole step of what computer is currently voicing on each iteration, sustaining this tone, or tones, at a low volume for half of, or the entire, duration of the electronic sound. accordion must take cues for starting, stopping, and pitch choice from the real time generation of tones being performed by the computer. computer chooses one pitch from this chord on each iteration and generates an additional tone one octave below this pitch. a higher partial of this pitch is also selected and the computer slowly opens a filter on the tone to this partial over the duration of each iteration, whic is between 23 and 88 seconds. half - way through each iteration a second oscillator begins sounding at the higher partial and performs this filtering process in reverse, closing the filter to the towards the original chosen pitch.
score time = between 23 & 88 seconds time/2 repeat 17 x closed open formant filter oscillator one time/2 open closed formant filter oscillator two time/2 repeat 17 x accordion variations on these forms a b if player chooses to play twice, notes played must be identical c d only extend bellows in one direction for each note e b. eubanks 2011/2012
code for electronic score written in supercollider 3.4 this is to be used in the event that the performance is using a system other than mac osx, and may have to be modified in this case. whenever possible, use the stand alone application that comes with this score for realization. ( ~update = { but, string but.states = [[string.asstring, Color.black, Color.white], [string.asstring, Color.black, Color.green]];but.refresh;}; SynthDef(\formant, { starthz=55 endhz=233 time=9 stline=3 endline=5 hz=645 var env,source; env=envgen.kr(env.linen(0.1,time-0.2,0.1,xline.kr(stline, endline, time, doneaction: 2))); source=formant.ar(hz, Line.kr(starthz, endhz, time), hz, env); Out.ar(0,source);}).send(s); SynthDef(\base, { time=3 note=25 var source; source=mix.new(fsinosc.ar([note,sinosc.kr(sinosc.kr(0.00002,0,0.02,0.05),0,0.75,note)],0,0.05)); Out.ar(0,source*EnvGen.kr(Env.linen(0.1,time-0.2,0.1,0.1),doneAction: 2));}).send(s); SynthDef(\record, {arg on=1; RecordBuf.ar(SoundIn.ar([0,1]),~c,0,1.0,1.0,loop: 1);}).send(s); SynthDef(\play, { time=120 var source,env; source=playbuf.ar(2,~c,loop: 1); env=envgen.kr(env.linen(0.1,time,0.1,0.08),doneaction: 2); Out.ar(0,Mix.new(source*env));}).send(s); ~endtimearray=array.newclear(17); ~accordion=routine({10.wait;~rec=synth(\record); 17.do{ var harmnum;~fund=[131,196, 261, 294,174].scramble.choose; harmnum=(~fund/2)*rrand(5,16);a=[~fund, harmnum]; b=[harmnum,~fund];c=[0.05,0.012];d=[0.012,0.05];~time=rrand(23,88);f=[~time,~time/2]; ~endtimearray.add(~time); Synth(\base, [\time, ~time, \note, ~fund/2]); Task({2.do{arg i; Synth(\formant, [\hz, ~fund,\time, f[i], \starthz, a[i],\endhz, b[i], \stline, c[i], \endline, d[i]]); (~time/2).wait; }}).play;(~time*1.13).wait;}}); ~second=routine({1.do{var endtime;endtime=~endtimearray.sum;~rec.free;1.wait; ~update.value(~b, "ending");~play=synth(\play, [\time, endtime]);endtime.wait; ~update.value(~b, "end");t.pause;1.wait; ~update.value(~b, "press to begin with 10 sec pause"); ~b.refresh;~c.free;t.reset;}}); w = Window( "for accordion and electronics (2011)", Rect( 750, 75, 375, 105 )); t = Task.new({ inf.do({ i ~b = Button( w, Rect( 5, 25, 183, 52 ));~b.states = [[ "press to begin with 10 sec silence", Color.black, Color.white ], [ "playing/push to stop & restart", Color.black, Color.green ], ]; ~b.action = { b (b.value==1).if{~a.string = "0:00";t.play;fork{ inval inval=~accordion.embedinstream(inval); inval=~second.embedinstream(inval);};} {{~accordion.stop;~second.stop;t.pause;cmdperiod.run;3.wait; ~synthtwo.reset;~accordion.reset;~second.reset;~c.free;t.reset;~a.string = "0:00";}.fork;};}; ~a = StaticText(w, Rect(190, 25, 180, 52)); ~a.background=color.white; ~a.align = \center; ~a.font = Font("Arial", 55); ~a.string = "0:00"; w.front; )