Max Binary Fibonacci Reps Density no. 6 -
An Experiment in Spatialization
In the work Max Binary Fibonacci Reps Density no. 6, I tried to put some of the most interesting things I learned in a course on electroacoustic music to use. Two of the most striking things I learned about were 1) the ability to simulate the natural phenomenon of delay through electroacoustic means and 2) the possibility to make things seem to come from more in the distance using filtering of the higher frequencies, in turn, imitating the natural phenomenon that higher pitches lose intensity faster than lower pitches through air.
When I went to write this work, I had already experimented with delay in Csound, which has a simple opcode named delay with the following syntax: asig delay ainput, adeltime. I found it fascinating how I could make it seem like the sound was coming from the extreme edges of the speakers – or perhaps even beyond – by using a .007 second delay between the left and right speakers.
In my original experiments I used the same amplitude for both speakers, simulating space using only delays. I found, however, that a more realistic and pleasing result could be achieved by using a mild mix of panning and delay. This is due to the fact that reflections are generally quieter than direct signals. As a sound I used a .33 liter bottle flicked with the fingernail. I recorded the sound in my studio, in which the walls are completely covered with acoustic foam. I chose this sound, because I new that a bottle being struck is a sound that is easy to localize. This is primarily due to the high pitches and extremely crisp attack produced. Although the signal was recorded at a high amplitude, I chose to use a quieter amplitude in the actual compositions to make the sound seem slightly more distant and tame. After this experiment I wrote Phi Signature Sequence no. 16 using the instrument I had created.
After writing another extremely brief work entitled Horizontal Para-Fibonacci Sequence no. 21 using the same instrument with a different sample, I began work on Max Binary Fibonacci Reps Density no. 6 by building a low pass filter into the instrument I had used before and creating a parameter for dry-wet mix. For this work I used a .5 liter bottle struck with a metal fork and recorded it in my bathroom which has a large amount of reverb, as it is practically all tile and flat reflective surfaces. This environment softened the attack a tad, but did not have an extremely dramatic effect on the outcome, as I only was interested in using the first .057 seconds of the attack anyway. The sound was incidentally recorded using one Neumann KM 183, an omni-directional condenser microphone.
My goal was then to make it seem as if the sound started at the extreme right corner and moved backward into the distance at the same time as moving left creating a diagonal as the pitch fell as shown in the following diagram:
As explained earlier, the idea was to create the illusion of distance by using a low-pass filter to slowly roll off the higher frequencies. At the same time, the delay and pan effect would create the movement from right to left. In addition to rolling off the higher frequencies, the loudness of the signal was also decreased from right to left.
This is the Csound instrument I used in this piece:
krand rand 2, 2
iamp = i(krand)
kenv linen p5+iamp, 0, p3, p4
aosc lposcil3 kenv, p6/3249.5,5472,5472,1
abr butterlp aosc, p10
awd sum abr*(p9), aosc*(1-p9)
if (p8==0) goto mid
kenvd linseg 1, p3-abs(p8)-p4, 1, p4, 0
adel delay awd*kenvd, abs(p8)
if (p8<0) goto left
outs awd*p7, adel*(1-p7)
outs awd*p7, awd*(1-p7)
outs adel*p7, awd*(1-p7)
It uses a simple linear envelope whose amplitude is given by parameter 5 in the score (p5). In the piece I used the natural attack of the bottle, but used a short .008 release at the end of each .057 second tone. The opcode rand feeds a random float between 0 and 2 to the envelope, a sort of “humanizing” effect. This way if the same note is played two times, the signal is not exactly identical (although extremely close since I am only adding a maximum of 2). I made the rand opcode seeded by the system clock, so that every rendering of the piece would be different as well. lposcil3 is a looping oscillator with high precision and cubic interpolation. I do not use this oscillator to loop, but rather to play a sample back which is written into a table with a GEN function like such:
f1 0 0 1 "bottle_ping_in_bathroom_trunc.wav" 0 0 0
I then use lposcil3 to play back the sample at different rates of speed; the original truncated recording is 5472 samples long in 24-bit 96kHz (.057 seconds). The approximate pitch is given by p6 in the score. I use the low-pass filter opcode butterlp to filter the signal leaving the cut-off frequency to p10 in the score, in the piece it is slowly rolled down from 24,000 Hz to 3,125 Hz as the wet-dry mix – created here using sum – is also increased somewhat exponentially from .01 to .99 ( with 1 being a fully filtered signal). The cut-off, delay, pan and amplitude were all adjusted individually for each note. A separate envelope was created to compensate for the shorter duration of the delayed notes, this was accomplished using a linseg. I made it possible for the delay opcode to accept negative values; in this composition I made it so that positive numbers indicate that the sound is coming from the right side with negative coming from left. To accomplish this I used if statements and goto calls. In the end the instrument took the following arguments:
;instr start dur rel amp cps L dec wetdry cutoff
i1 0 .057 .008 $a1 3028.000 $l1 $d1 $w1 $c1
The $ signs represent macros I used as a shorthand for the score.
In the end, the effect I had set out to achieve was reached to a satisfactory point. Perhaps in retrospect I should have rolled the amplitude back a bit more with the filter cut-off. I think through more experimentation and better tools (computer programs created for this purpose) it will be possible to achieve more refined results in the future. I think that the careful balance of all parameters is extremely important in producing a convincing effect; wet-dry mix, cut-off frequency, amplitude, delay and panning.
One might ask, how does this serve your music, seeing as you compose with Fibonacci numbers? To that I would say that these techniques provide a sharper level of clarity in the stereo projection of sound elements in space, which makes it possible to create clearer, more comprehensible musical structures in stereo or multi-channel. I see great possibilities in these techniques for my music in the future.