Audio setup
The following instructions refer to the original sound setup used for the first performances of Ballata. These instructions are provided as a reference but should not be followed "a la lettre" and must be adapted by the sound engineer to the venue and the technologies available at the time of the new performance.
The input signals from the orchestra werre split between two mixing consoles (O2R n.1 and n.2) linked with a Cascade card (the respective outputs are mixed).
Strings, Alto solo, Harp, Celesta and Actor (Ancient Mariner) were reverberated through a LEXICON 300 whose output is then sent to Output 1-2 (Loudspeakers 1 high and low, 2 high and low; see Figures 2-3).
The female choir is divided in four groups placed in different position in the hall (see Figures 2-3)
Female choir groups 1 and 4 (left side) were reverberated through a PCM 80 and go to Output 3-4.
Female choir groups 2-3 (right side) were reverberated through a PCM 70 and go to Output 5-6.
Each group is also reinforced on the respective loudspeakers in the hall: Choir 1 on loudspeakers 3 low and high, Choir 2 on loudspeakers 4 low and high, Choir 3 on loudspeakers 6 low and high, Choir 4 on loudspeakers 5 low and high.
Together with Choir 3 there is positioned also a trumpet in Bb, while with Choir 4 there are some percussion with microphones (bass drum 1 and 3 and snare-drum 4).
Channels 1-6 of an AKAI S5000 sampler (now replace by a max patch, see below) were diffused in the hall (see Chapter 3) and also sent to 01 V for monitoring purposes.
The "ensemble balkanique" (violin, clarinet, accordion, cymbalum, contrabass, 3 snare-drums) playing on stage is mixed in a separate desk (01-V) and the mix (without snare-drums) is sent to loudspeakers L and R, for sound reinforcement. The snare-drums are instead sent to the Max/MSP patch. The 01-V is even used to provide monitoring signals from S5000 and Max/MSP output to KEYBOARD B player and of the "ensemble balkanique" to on stage monitors.
The male choir (on stage) were reinforced by fixed microphones (3 Schoeps on the proscenium: left, middle and right; 1 Schoeps backstage; 4 Sennheiser on stage).
Strings, Output 7 and 8 of AKAI S5000, Snare-drums 1-3 (on stage), bass drums 1 and 3, snare drum 4 (in the hall) and the female choir were routed to adc 1-2 of Max/MSP to be spatialized. The required signals should be routed there according to the score events (see Chapter 3).
Fig. 1
Loudspeakers setup
Fig. 2: Upper view of the theatre.
Fig. 3: Lateral section
MIDI keyboards
Two MIDI keyboards are used: one is directly linked to the Max/MSP patch to trigger both events and samples (KEYBOARD A, 7 octaves needed, from MIDI note 24 to 103) and the other is used to drive a software sampler (KEYBOARD B).
The first keyboard is used to trigger the events (sound files and real time effects) which are described in the Events list section (see below) and in two documents "Events-Act-I.pdf" and "Events-Act-II.pdf", in the "Ballata-docs" folder. The "./Concert-patch/sounds" folder contains all the audio files used in the opera (1, 2 or 4 channels AIFF sound files, 16 bit, 44.1 kHz).
Each event cue corresponds to one pitch in a chromatic order, from low to high: whenever a certain note is played the patch jumps to the corresponding cue, if existing, according to the current program. In the first act note keys are used from 36 to 84, while in the second from 24 to 103. This keyboard should also send two program-change messages at the beginning of each act (PGM1 for the first act and PGM2 for the second).
The KEYBOARD B Controls a software sampler programmed in MAX (_Ballata-samplor-multi.v2 _using the samplor~ package). In the folder "./AKAI/Ballata-programs-doc" there are the S5000 display screenshots of the 12 Multis (which should correspond to program change messages from 1 to 12) and text files describing the programs.
The 8 outputs of the sampler are thus routed to loadspeakers (L) in the hall (see O2R n.2 in Fig.1 ):
Outputs (AKAI S5000) |
Loudspeakers (L) |
1, 2 |
L7, L8 |
3, 4 |
L1, L2 |
5 |
L3, L6 |
6 |
L4, L5 |
7, 8 |
Max/MSP: adc 1-2 |
Output 7 and 8 are routed to the Max/MSP ADC 1 and 2 to be spatialized (see sampler events in "Events-Act-I.pdf" and "Events-Act-II.pdf").
The parts of the two keyboards are printed separately from the whole score and the event cue numbers are reported for each note of KEYBOARD A, but in the complete score are missing and also the KEYBOARD B part is not complete there.
Software installation
On the Macintosh laptop
1. copy the disk image called "_Ballata2013.dmg" on your hard disk drive and mount it;
2. launch Max/MSP (versions 7 in 32bit mode);
3. in the Max/MSP Options menu, click on File Preferences. Then add the folder "./Concert-patch";
4. browse the disk image to "Concert-patch" and launch the file called "Ballata-max6.maxpat".
Patch presentation
The concert patch is composed of:
- top: initialization steps;
- middle: monitoring interface of events (audio file name and other comments).
- bottom-left: interface for events triggering, level management and main sub-patches. Events are represented by a single increasing number starting from 1 for each act.
- bottom-right: audio and MIDI sub-patchers, MIDI message triggering.
Fig. 4: Main patcher
DSP description
There are 2 4-tracks and 3 2-tracks sample players (see Figure 5). DSP processing consists in two parallel SOLA harmonizers with feedback (Figures 6-7), used to transpose the choir downward (Act I event 28: one transposition -1200 cent; Act II event 29: two transpositions -1600 and -2400).
Fig. 5: sub-patcher [adc+sfplay+spat]
Fig.6: sub-patcher [harmosA]
Fig. 7: sub-patcher [harmv2~]
Initialization routine
To initialize the patch:
1. click on load soundfiles and wait three seconds;
2. set MIDI input;
3. turn on the DSP by clicking "turn on dac";
4. turn on MIDI.
After initialization the functioning might be tested by sending the program-change message (1 or 2) and then by clicking on the advance button. Current event will report the event number. By using the kslider it is possible to randomly access the event list. Events are defined in the two sub-patches "events_Act1" and "events_Act2" as lists of messages (see Fig.8 for an example).
Fig. 8: event 33, act II
Two inputs (adc 1 and 2) are received from the mixing console, where the signals required for each event should be mixed (see events lists for the different signals to be routed from the console to Max/MSP adc 1 and 2). The main treatment consists on spatialisation (IRCAM SPAT 3.3.2) of samples and live signals. Another treatment is used at the end of the first act (events 28 and 29): two parallel transpositions which affect the signal coming from the choir.
Events list
The events triggered by KEYBOARD A part are here listed for each act. For each event is indicated the event number, the complete score page number for that event, the sound source reference (sound file name or processed signals), number of tracks of the sound file, output signal routing and motions, MIDI messages (mainly note key numbers), sustain and comments; the events marked with S (sustain) should be played legato (fade-out envelopes on note-off messages to the sample being playback).
Act I
Act II
Sampler Programs (Akai version)
Software Sampler (samplor~ version)
The Akai sampler is now replaced by a software version.
Start ballata-samplor-8ch.v1.maxpat with max7 or 8.
This max patch uses the samplor~ object to emulate the hardware sampler.
Soundbanks :
- MagicPiano
- effect-vla
- ppnewalone
- CORIM
- CORIM_attck
- VOICI
- celesta
- ppnewcomplexo
- DADI+respiro
- Etymopasscac
- DADI+ppnew
- CorifACU;
All these 12 sound banks are described into the "ballata-multis" text file, using the following syntax :
0, 10 "Bamboo chimes hit.WAV" 60\. 21 120 1 127 0 0 0\. 0.;
1, 10 "Cabasa hit.WAV" 60\. 21 120 1 127 0 0 0\. 0.;
2, 10 "Maracas skin hit.WAV" 60\. 21 120 1 127 0 0 0\. 0.;
3, 4 BARITmib3.WAV 60\. 61 64 1 127 0 0 0\. -3.37;
4, 5 BARITmib3.WAV 60\. 61 64 1 127 0 0 0\. -3.37;
5, 5 BARITsibF.WAV 60\. 60 61 1 127 0 0 0\. 1.17;
6, 4 BARITsibF.WAV 60\. 57 61 1 127 0 0 0\. 1.17;
7, 4 bassiMib1.WAV 60\. 21 39 1 127 0 0 0\. 21.;
8, 4 bassiFad1.WAV 60\. 40 41 1 127 0 0 0\. 18.;
9, 4 bassiLa1.WAV 60\. 42 45 1 127 0 0 0\. 15.;
10, 4 bassiDo2.WAV 60\. 46 48 1 127 0 0 0\. 12.;
11, 4 bassiMib2.WAV 60\. 49 51 1 127 0 0 0\. 9.;
12, 4 bassiFad2.WAV 60\. 52 54 1 127 0 0 0\. 6.;
13, 4 bassiLa2.WAV 60\. 55 60 1 127 0 0 0\. 3.;
14, 4 bassiC3.WAV 60\. 61 61 1 127 0 0 0\. 0.;
15, 4 "BassoBBuio ST.WAV" 60\. 21 45 1 127 0 0 0\. 20.;
16, 4 "BASSOrusso new STmi2.WAV" 60\. 21 44 1 127 0 0 0\. 20.;
17, 7 "Celeste C#2.WAV" 60\. 21 53 1 127 0 0 0\. 11.;
18, 7 "CELE MID.WAV" 60\. 54 69 1 127 0 0 0\. -1.85;
19, 7 "CELE HI.WAV" 60\. 70 120 1 127 0 0 0\. -13.85;
20, 5 "Cello pizz E3 .WAV" 60\. 21 120 1 127 0 0 0\. -4\. -10.5;
21, 12 "ClasCOR Y mib4.WAV" 60\. 21 63 1 127 0 0 0\. -3.;
22, 12 "ClasCOR Y fad4.WAV" 60\. 64 65 1 127 0 0 0\. -6.;
23, 12 "ClasCOR Y la4.WAV" 60\. 66 120 1 127 0 0 0\. -9.;
24, 10 cltoa50.AIFF.WAV 60\. 21 120 1 127 0 0 0\. 0.;
25, 12 corifDO5.WAV 60\. 21 85 1 127 0 0 0\. -24.;
26, 12 corifREb52.WAV 60\. 86 120 1 127 0 0 0\. -25.;
27, 12 corifLAB4mare.WAV 60\. 21 80 1 127 0 0 0\. -20.;
28, 12 corifFISCHsib4.WAV 60\. 81 82 1 127 0 0 0\. -22.;
29, 12 corifSIDOREb5.WAV 60\. 83 84 1 127 0 0 0\. -23.;
30, 12 corifREb5.WAV 60\. 85 120 1 127 0 0 0\. -25.;
31, 9 DADIry4.WAV 60\. 21 45 1 127 0 0 0\. 24.;
32, 11 DADIry4.WAV 60\. 21 45 1 127 0 0 0\. 24.;
33, 10 didivla3didivoice30.AIFF.WAV 60\. 21 120 1 127 0 0 0\. 2.;
34, 10 didivla3didivoice310.AIFF.WAV 60\. 21 120 1 127 0 0 0\. 0.;
35, 10 didivla3didivoice3.5.AIFF.WAV 60\. 21 120 1 127 0 0 0\. 0.;
36, 10 didivoice4.WAV 60\. 21 120 1 127 0 0 0\. 0.;
37, 10 didig4s.WAV 60\. 21 120 1 127 0 0 0\. -7.03;
38, 2 PASSI.WAV 60\. 53 71 1 127 0 0 0\. 0.;
39, 2 PORTA.WAV 60\. 72 79 1 127 0 0 0\. -16.;
40, 2 "PAGES CUT.WAV" 60\. 80 88 1 127 0 0 0\. -24.;
41, 2 "VENTO ULULU.WAV" 60\. 89 120 1 127 0 0 0\. -36.;
42, 1 "1 D pp clean looped.WAV" 60\. 21 45 1 127 0 0 0\. 22.;
43, 1 "2 G pp looped.WAV" 60\. 46 57 1 127 0 0 0\. 5.;
44, 1 "3 C# pp looped.WAV" 60\. 58 65 1 127 0 0 0\. -1.;
45, 1 "3 A pp cleanloope.WAV" 60\. 66 73 1 127 0 0 0\. -9.;
46, 1 "4 F pp looped.WAV" 60\. 74 78 1 127 0 0 0\. -17.;
47, 1 "4 Ab pp looped.WAV" 60\. 79 83 1 127 0 0 0\. -20.;
48, 1 "5 Eb pp clean looped.WAV" 60\. 84 120 1 127 0 0 0\. -28.;
49, 8 "1 D pp clean looped.WAV" 60\. 21 45 1 127 0 0 0\. 22.;
50, 8 "2 G pp looped.WAV" 60\. 46 57 1 127 0 0 0\. 5.;
51, 8 "3 C# pp looped.WAV" 60\. 58 65 1 127 0 0 0\. -1.;
52, 8 "3 A pp cleanloope.WAV" 60\. 66 73 1 127 0 0 0\. -9.;
53, 8 "4 F pp looped.WAV" 60\. 74 78 1 127 0 0 0\. -17.;
54, 8 "4 Ab pp looped.WAV" 60\. 79 83 1 127 0 0 0\. -20.;
55, 8 "5 Eb pp clean looped.WAV" 60\. 84 120 1 127 0 0 0\. -28.;
56, 10 "TR SDII jetee_in_SU_TR.WAV" 60\. 21 120 1 127 0 0 0\. 0.;
57, 10 "sampTG mib1.WAV" 60\. 21 45 1 127 0 0 0\. 21.;
58, 10 "sampTG la2.c.WAV" 60\. 46 60 1 127 0 0 0\. 3.;
59, 10 "samplTG fa3.WAV" 60\. 61 68 1 127 0 0 0\. -5.;
60, 10 "sampTG do4.WAV" 60\. 69 79 1 127 0 0 0\. -12.;
61, 10 "sampTG b4.WAV" 60\. 80 90 1 127 0 0 0\. -23.;
62, 10 "sampTG sib5.WAV" 60\. 91 120 1 127 0 0 0\. -34.;
63, 1 "Piano plucked A#00.WAV" 62\. 21 28 1 127 0 0 0\. 36\. -6;
64, 1 "Piano plucked A#0.WAV" 60\. 29 34 1 127 0 0 0\. 29\. -6;
65, 1 "Piano plucked D2.WAV" 60\. 35 40 1 127 0 0 0\. 22\. -6;
66, 1 "Piano plucked G#2.WAV" 60\. 41 47 1 127 0 0 0\. 16\. -6;
67, 1 "Piano plucked D#3.WAV" 60\. 48 54 1 127 0 0 0\. 9\. -6;
68, 1 "Piano plucked A#3.WAV" 60\. 55 62 1 127 0 0 0\. 2\. -6;
69, 1 "Piano plucked F4 .WAV" 60\. 63 70 1 127 0 0 0\. -5\. -6;
70, 1 "Piano plucked B4 .WAV" 60\. 71 82 1 127 0 0 0\. -11\. -6;
71, 1 "Piano plucked G5.WAV" 60\. 83 120 1 127 0 0 0\. -19\. -6;
72, 1 "Piano harmonics A2.WAV" 60\. 21 72 1 127 0 0 0\. 3.;
73, 1 "Piano harmonics D#3.WAV" 60\. 73 120 1 127 0 0 0\. -3.;
74, 11 "3 C# pp looped.WAV" 60\. 46 120 1 127 0 0 0\. -1.;
75, 1 "3 C# pp looped.WAV" 60\. 21 120 1 127 0 0 0\. -1.;
76, 3 "3 C# pp looped.WAV" 60\. 21 120 1 127 0 0 0\. -1.;
77, 8 "3 C# pp looped.WAV" 60\. 21 120 1 127 0 0 0\. -1.;
78, 9 RespIN1.WAV 60\. 46 59 1 127 0 0 0\. 10.;
79, 9 RespOUT2.WAV 60\. 60 81 1 127 0 0 0\. -4.;
80, 9 sifflet-1.WAV 60\. 84 88 1 127 0 0 0\. -28.;
81, 9 sifflet2.WAV 60\. 89 91 1 127 0 0 0\. -29.;
82, 5 Rhodes-f-A2.WAV 57\. 21 120 1 127 0 0 0\. 0\. -6.7;
83, 10 tdutdi.WAV 60\. 21 120 1 127 0 0 0\. 0.;
84, 4 TENORfa3.WAV 60\. 63 65 1 127 0 0 0\. -5.15;
85, 4 TENORsol3.WAV 60\. 64 75 1 127 0 0 0\. -7.31;
86, 10 "Trrr vari.WAV" 60\. 21 120 1 127 0 0 0\. 0.;
87, 10 VIBRTconsLuiATKS.c.WAV 60\. 21 120 1 127 0 0 0\. 0.;
88, 5 FadiesTenlooped.WAV 60\. 54 120 1 127 0 0 0\. -6.;
89, 1 "vla attres2 44100.WAV" 60\. 21 120 1 127 0 0 0\. 1.93;
90, 10 "vla attres2 44100.WAV" 60\. 21 120 1 127 0 0 0\. 1.93;
91, 2 VLAloop3ascena.WAV 60\. 21 52 1 127 0 0 0\. 9.;
92, 6 VENTICELLOVV.WAV 60\. 21 120 1 127 0 0 0\. -4\. 6.;
93, 6 "CORO 6 LOOP.WAV" 60\. 21 120 1 127 0 0 0\. -9\. 0.;
94, 6 RESPANIVIESO.WAV 60\. 21 57 1 127 0 0 0\. 12\. 6.;
95, 6 "CLYMIB4 -L.WAV" 60\. 21 63 1 127 0 0 0\. -15\. 6.;
96, 6 "CLYFAD4 -L.WAV" 60\. 64 65 1 127 0 0 0\. -18\. 2.;
97, 6 "CLYLA4 -L.WAV" 60\. 66 120 1 127 0 0 0\. -21\. 0.;
98, 6 "CLCMIB3 -L.WAV" 60\. 21 65 1 127 0 0 0\. -3\. 4.;
99, 6 "CLCFAD3 -L.WAV" 60\. 66 68 1 127 0 0 0\. -6\. -7.;
100, 6 "CLCLA3 -L.WAV" 60\. 69 71 1 127 0 0 0\. -9\. -5.;
101, 6 "CLCDO4 -L.WAV" 60\. 72 74 1 127 0 0 0\. -12\. -6;
102, 6 "CLCMIB4 -L.WAV" 60\. 73 75 1 127 0 0 0\. -15\. -6;
103, 6 "CLCFAD4 -L.WAV" 60\. 76 120 1 127 0 0 0\. -18\. 6.;