Updated at
Do you notice a mistake?
viol
Detailed staff comes from Brahms, send mail to ressources-contenus@ircam.fr for correction.
comment
Main patch - working with up to Max 8.5.9
82.1 Mo
comment
Audio files for ConcertPatch
2.29 Go
comment
3DVerb Patch - with IR from Chapelle Royale de Versaille
476.24 Mo
"Stabat Mater" is a composition for choir, viola and electronics. It was created with CMBV - aka Centre de Musique Baroque de Versaille - in 2024 at Espace de Projection, IRCAM. It is composed for 5 voices - Soprano, Counter Tenor, Tenor, Baritone, Bass and was premiered with 17 singers.
The electronics contains both fixed medium and realtime electronics. It is spatialized using HOA (6th order) and VBAP (6 speakers or virtual speakers).
The choir and the electronics are reverberated using HOA impulses responses simulating the acoustic reflections of Chapelle Royale de Versaille.
Choir is placed on stage, in front of the audience.
The speaker setup is the HOA implantation of the "Espace de Projection" at IRCAM, in June 2023, plus a circular layout of several large-band speakers around the audience.
HOA layout :
The microphones used for this concert cover two main roles :
For this piece, each singer must have a headset static microphone. Another static microphone is used for Viola da Gamba.
Voices and viola are amplified in speakers in front of the audience. They are also routed to the 3D reverberation bus.
Prior to be routed to the main electronic patch, singers channels are mixed following a per-voice layout (1 - Soprano, 2 - Counter tenor, 3 - Tenor, 4 - Baritone, 5 - Bass, 6 - Viola).
Three material packages are required to reproduce this concert :
Required softwares are - as described in electronic equipment section :
There are two projects in this current documentation :
The piece was performed using 4 computers :
All computers for the performance use RME Digiface DANTE sound devices.
They are all connected to a Yamaha QL5 console, that handles routing in and out for each computers.
Routing from Electronic performance computer :
Routing from console :
The audio inputs of this patch correspond to the microphones of the singers. It is sorted exactly as in the score :
Make sure the correspondance is straight (input 1 to adc 1, input 2 to adc 2...) in the Audio setup of Max.
You can visually monitor the audio inputs in the patch.
The output setup is the following :
Similarly as inputs, outputs must be connected straight (dac 1 to output 1, dac 2 to output 2 ...) in Audio setup of Max.
This patch has 4 inputs.
It corresponds to 4 different takes of the HOA IR of chapelle royale de Versailles :
Selected takes were the ones were the impulse generator was several meters high, as they produce a more natural feeling of reverberation.
For the main patch ConcertPatch, the following setup must be applied :
Sampling rate : 48000Hz
IO Vector size : 128
Signal Vector size : 128
Scheduler in overdrive - ON
Audio interrupt - OFF
For the 3DVerb patch:
Sampling rate : 48000Hz
IO Vector size : 2048
Signal Vector size : 2048
Scheduler in overdrive - ON
Audio interrupt - OFF
The project is self contained.
Be careful to not have duplicates of required externals in your external library paths.
When running the project, a few error messages might appear on the console, these are not relevant and can be discarded. These non-relevant error messages are :
Here is the main view of the concert patch :
The main patch is performing several tasks :
The main patcher of the project contains several parts :
The left section (options, configuration) has several parameters :
Left section also provides buttons to show/hide useful views : matrixes and spats.
Cuelist section provides a set of buttons used in performance and rehearsal :
The bottom section is used for performance control over different amplitudes/volumes as well as some other specific controls :
The second patch 3DVerb is used to process 3D HOA Convolution for IR reverberation of Chapelle Royale de Versailles. It is CPU intensive task, and requires to be processed by a performant computer that only gets assigned this task.
It has 4 inputs and 16 outputs (HOA out - 3rd order).
Each cue after the first cue of each movement is triggered automatically.
Each movement is preceded with 1 bar of click track.
At the end of each movement, the scheduler will stop. It is responsibility to the electronic performer to click "Next" button to trigger next movement once director and singers are ready. Only 2 movements are to be triggered quickly after previous one ends : 5th (no need to wait for director and singers, electronic introduction) and 9th.
The maquette mode can be enabled on the left side of the ConcertPatch. It will matrix inputs to pre-recorded voices. This recording was used during composition process, and is not exactly corresponding to the final score (though, it is mostly accurate). If needed, the maquette direct sound can be routed to outputs (ConcertPatch, plug the "mc.receive~ voices 6" to a dac~).
For performance, we used a BCF2000 to control volumes of the bottom section of ConcertPatch.
We also used another MIDI controller with trigger buttons to quickly access the "Init", "Stop", "Next" buttons of the Cuelist.
In general, amplitude controls are used to adjust dynamics. The Cuelist/Matrices amplitudes should already correspond to the desired dynamics, though it still requires performance control to adjust dynamics with singers.
The cues displayed in the Umenu are written following the convention : M = Movement, T = tape, RT = realtime.
The last movement (9 Quando Corpus) ends with a freeze of spectral analysis on a synthesizer. This freeze can be held more or less 1 minut, and then released by triggering the "Next" button, which will cut and end the performance.
The patch was designed before transition to Max MSP 8.6 which introduced important changes to how externals are compiled. Thus, using it with a newer version than Max 8.5.9 could cause problems to external recognition. Since IRCAM externals were recompiled for 8.6 compatibility, changing the externals to their latest versions should work immediatly.
The ConcertPatch is a Max project, and uses a few externals, making it somehow dependant on the Max MSP ecosystem as well as some IRCAM externals.
The main closed-source dependencies are :
The rest of the essential parts of the patch are based on Csound, and/or could easily be reproduced with Csound or Faust.
The sequencer (cuelist) is a simple scheduler based on :
It could also be easily reproduced as a Csound score, or as a simple timing engine in almost any modern programming environment.
Updated at
Do you notice a mistake?