Before there was Jade, part 3

Wed Jun 08 08:09:00 +0000 2005 (Posted by Tim)

Jade
0 Comments

In the Winter of 2000-2001 I further refined the structural formula I had used for the KromoZone performance in Seoul for my the piece that would serve as my Master’s thesis: Dark Forest. A quick glance at the screenshot does indeed bear a strong resemblance to the patches for The Nature of Contigency.

What was a significant improvement, however, was how I was forced to deal with CPU management. I did this by encapsulating each section of the piece into a subpatch. Then that subpatch had it’s processing turned on and off with the pcontrol object, which was controlled by the qlist. I also incorporated a display so that the qlist could show messages that would help cue the computer operator and give a status of what the system was doing.

The way the piece worked was that many aspects of the performance were controlled by doing color-tracking of a video source, which allowed me to get gestural information from the mallets of the performer. Each “section” of the piece could actually consist of several components. As an example, the screenshot below shows the multiple elements involved in the transition from section 1 to section 2 of the piece.

The qlist looked like this:
-------------------------------------------------------------------- 1: Initialize;
0 1 overdrive 0;
event_description set Initializing: Please Wait...;
50 adc_fader 0 250;
50 dac_fader 0 250;
50 marimba_fader 0 250;
400 dac 0;
50 noise_gate 0.01;
50 ball_sense 9;
50 section1_sfplay 0;
50 transition1_Ctrigger 90;
50 transition1B_init 0;
50 transition1_Agate 0;
50 transition1_Bgate 0;
50 transition1_Cgate 0;
50 transition1_Alevel 0;
50 transition1_Blevel 0;
50 transition1_Clevel 0;
50 1C_init 150 150;
50 1C_init 150 150;
50 transition1_master 0;
50 section1_master 0;
50 section2_master 0;
50 section2_reverb 1;
50 reverb_delay 100;
50 reverb_decay 3.5;
50 reverb_mix 15;
50 section3_sustainVolume 0;
50 section3_master 0;
50 section3_crossFader 0;
50 section3A_crossfader 0;
50 section3B_crossfader 0;
50 section3_bow-master 0;
50 section4_BPM 120;
50 section4_master 0;
50 section4_Alevel 0;
50 section4_sfplay 0;
section4_malletGate 0;
50 section5_reverbInput 0;
50 section5_crossFader 0;
50 section5_sfplay 0;
50 section5_sfplay open ending.aiff;
50 section1_sfplay open DarkForest_intro.aiff;
50 transition1_sfplay1 open DarkForest_transition1A.aiff;
50 transition1_sfplay2 open DarkForest_transition1B.aiff;
50 section4_sfplay open DarkForest_transition1B.aiff;
500 section1_pcontrol enable 0 1;
50 transition1_pcontrol enable 0 1;
50 section2_pcontrol enable 0 1;
50 section3_pcontrol enable 0 1;
50 section4_pcontrol enable 0 1;
50 video_preset 1;
50 vdig_messages offscreen.resize 320 240;
500 event_description set Patch Initialized;
-------------------------------------------------------------------- 2: Set Up & Turn On;
0 2 event_description set Activating: Please Wait...;
50 dac start;
50 adc_fader 127 500;
50 dac_fader 127 2000;
50 marimba_fader 110 1500;
2000 event_description set Patch set up and ready;
-------------------------------------------------------------------- 3: Section 1: sfplay;
0 3 event_description set Section 1: Sound-File Playing...;
section1_pcontrol enable 1 1;
section1_sfplay 1;
section1_master 0;
section1_master 0.25 500;
5000 section1_master 1. 120000;
-------------------------------------------------------------------- 4: Transition1: air marimba;
0 4 event_description set Transition 1: Playing with Air;
marimba_fader 0 5000;
reverb_decay 4;
reverb_delay 100;
reverb_mix 60;
transition1_pcontrol enable 1 1;
transition1_Agate 1;
section1_master 0 500;
transition1_master 1 50;
transition1_Alevel 0.5 50;
500 section1_sfplay 0;
section1_pcontrol enable 0 1;
5000 reverb_delay 10 10000;
reverb_decay 90;
500 reverb_decay 90;
500 reverb_decay 80;
500 reverb_decay 70;
500 reverb_decay 60;
500 reverb_decay 50;
500 reverb_decay 40;
500 reverb_decay 30;
500 reverb_decay 20;
500 reverb_decay 10;
-------------------------------------------------------------------- 5: Transition1: Swells;
0 5 event_description set Transition 1: Swells with blue mallet;
transition1_sfplay1 1;
transition1_Agate2 0;
transition1_Bgate 1;
transition1_Cgate 1;
transition1_Blevel 1 100;
transition1_Clevel 1 500;
transition1_Alevel 0 10000;
-------------------------------------------------------------------- 6: Transition1: Crash;
0 6 event_description set Transition 1: Crash Sound-File Playing...;
transition1_Cgate 0;
transition1_sfplay2 1;
transition1_Agate 0;
transition1_Blevel 0 20;
100 transition1_Bgate 0;
6000 advance_to_next_event bang;
-------------------------------------------------------------------- 7: Section2: Triggering;
0 7 event_description set Section 2: Red(4) Mallet Triggering [no note];
transition1_Clevel 0 30000;
reverb_delay 100;
reverb_decay 40;
reverb_mix 100;
section2_pcontrol enable 1 1;
20 section2_master 1 100;
100 section2_chime_switch 1;
section2_chimes_autoOff 1;
-------------------------------------------------------------------- 8: Section2;
0 8 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
-------------------------------------------------------------------- 9: Section2;
0 9 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
reverb_decay 40 120000;
reverb_mix 100 90000;
transition1_master 0 12000;
-------------------------------------------------------------------- 10: Section2;
0 10 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
transition1_pcontrol enable 0 1;
-------------------------------------------------------------------- 11: Section2;
0 11 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
-------------------------------------------------------------------- 12: Section2;
0 12 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
-------------------------------------------------------------------- 13: Section2;
0 13 event_description set Section 2: Red(4) Mallet Triggering;
section2_chimes_autoOff 0;
section2_play_gate 1;
750 section2_play_gate 0;
section2_chimes_autoOff 1;
section2_smash bang;
-------------------------------------------------------------------- 14: Section2;
0 14 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
-------------------------------------------------------------------- 15: Section2;
0 15 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
-------------------------------------------------------------------- 16: Section2;
0 16 event_description set Section 2: Red(4) Mallet Triggering;
section2_chimes_autoOff 0;
section2_play_gate 1;
2000 section2_play_gate 0;
section2_chimes_autoOff 1;
-------------------------------------------------------------------- 17: Section2;
0 17 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
-------------------------------------------------------------------- 18: Section2;
0 18 event_description set Section 2: Red(4) Mallet Triggering;
section2_chimes_autoOff 0;
section2_play_gate 1;
10000 section2_play_gate 0;
section2_chimes_autoOff 1;
-------------------------------------------------------------------- 19: Section2;
0 19 event_description set Section 2: Red(4) Mallet Triggering;
section2_chimes_autoOff 0;
section2_play_gate 1;
4000 section2_play_gate 0;
section2_chimes_autoOff 1;
-------------------------------------------------------------------- 20: Section2;
0 20 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
-------------------------------------------------------------------- 21: Section2;
0 21 event_description set Section 2: Red(4) Mallet Triggering;
section2_play_gate 1;
reverb_decay 60 10000;
-------------------------------------------------------------------- 22: Section2;
0 22 event_description set Section 2: Blue(2) Mallet Triggering;
section2_chime_switch 2;
section2_play_gate 1;
-------------------------------------------------------------------- 23: Section2;
0 23 event_description set Section 2: Blue(2) Mallet Triggering;
section2_play_gate 1;
section3_pcontrol enable 1 1;
50 granular_bang bang;
50 section3_master 0.125 10000;
10000 section3_sustainVolume 1 20000;
20000 section3A_crossfader 127 15000;
-------------------------------------------------------------------- 24: Section3 - Punch the reverb sustainer;
0 24 event_description set Section 3: Transition;
section3_sustainPunch bang;
6500 section3B_crossfader 127 25000;
-------------------------------------------------------------------- 25: Section3 - Bowing the Body;
0 25 event_description set Section 3: Bowing Body Begins;
section3_sustainVolume 0 20000;
section3_sustainBow bang;
section3_bow-master 1 6000;
10000 section2_master 0 20000;
advance_to_next_event bang;
-------------------------------------------------------------------- 26: Section3 - Granular Manipulations;
0 26 event_description set Section 3: Granular Manipulations;
-------------------------------------------------------------------- 27: Section4 - Turn grains into pulse;
0 27 event_description set Section 4: Transition to section 4;
overdrive 1;
section3_pulse bang;
section3_crossFader 127 30000;
-------------------------------------------------------------------- 28: Section4 - Silence!!!;
0 28 event_description set Section 4: Silence!!!;
section3_master 0 20;
50 overdrive 0;
section2_pcontrol enable 0 1;
section3_pcontrol enable 0 1;
section4_pcontrol enable 1 1;
section4_master 1 1000;
section5_reverbInput 0.5 100;
-------------------------------------------------------------------- 29: Section4 - sf-event & air marimba;
0 29 event_description set Section 4: SoundFile Event;
reverb_decay 3;
reverb_delay 100;
section4_sfplay 1;
section4_Alevel 0.5 8000;
section4_malletGate 1;
-------------------------------------------------------------------- 30: Section4-5 transition;
0 30 event_description set Section 4-5: Reverb Builds up...;
reverb_decay 10;
section5_reverbInput 1 40000;
-------------------------------------------------------------------- 31: Crossfade to sf;
0 31 event_description set Section 5: crossfade to soundfile;
reverb_decay 40;
section5_sfplay 1;
6000 section5_crossFader 127 60000;
-------------------------------------------------------------------- 32:kill sampler;
0 32 event_description set Section 5: kill the sampler;
50 section4_Alevel 0 50;
section4_master 1.5 10000;
-------------------------------------------------------------------- 33:reverb on resons;
0 33 event_description set Section 5: reverb on resonators;
reverb_delay 100;
reverb_decay 6;
section5_reverbInput 2 100;
-------------------------------------------------------------------- 34 (required: ending dummy byte);
0 34;

Share your own thoughts or comments...

Please log in to leave a comment.

Back to Electoblog Table of Contents