Onderdeel van De stappen tot een immersive digital audio twin.
Lees zeker eerst hoe we het recreëren van de zaal aanpakten in Een immersive audio twin – de zaal.
Hoe maak je een interactief dynamisch model?
Hier gebruiken we het woord ‘engine’ vaak, wat verwarrend is omdat die term zowel binnen gaming als immersive audio gebruikt wordt. We hebben geprobeerd het onderscheid zo duidelijk mogelijk te maken.
Met de simulatie van de ruimte hebben we 1 aspect van de digital audio twin. Maar het eindresultaat moet een dynamische real-time audio game-engine zijn die reageert op handelingen van de luisteraar.
Hoewel we in het begin planden een DAW te manipuleren tot zo’n dynamische game-engine, werd al snel duidelijk dat zowel ontwikkeling als gebruik zeer omslachtig zouden zijn. Tegelijkertijd bestaat er geen audio middleware die plugins in VST/AudioUnits/AAX-formaat kunnen draaien, laat staan in immersive. Dus een klassieke game-engines vielen ook af.
Waar we eigenlijk naar op zoek waren, was een immersive live-engine zoals gebruikt voor concerten, maar waar parameters zoals positie van de luisteraar en van bronnen in konden veranderen. Onze plugin werd daar weer de dealbreaker, omdat immersive engines momenteel geen plugins ondersteunen. Wilden we genoeg flexibiliteit voor de communicatie met de visuele kant, dan zouden we eigenlijk nog een extra verwerkingslaag rond die immersive engine moeten steken. We vonden eigenlijk snel daarna een redelijk elegante oplossing: een immersive engine in een Max for Live device steken.
Max, Spat en Ableton
Max (soms Max/MSP genoemd) is een visuele programmeertaal, origineel ontwikkeld voor interactieve muziekcompositie door onderzoeksinstituut IRCAM in Parijs.
Zoals bij een modulaire synthesizer, verbind je met kabels basiscomponenten voor signaalverwerking. Op die manier bouw je complexe blokdiagrammen op, patchers genoemd. Je kan Max op zichzelf gebruiken, of patchers via Max for Live devices gebruiken in Ableton Live (in de Suite-versie). Zo kan je zelf tools voor muziekcompositie ontwikkelen zonder programmeerkennis en er in Ableton Live mee werken.
Max biedt veel modules aan voor manipulatie van audio, video, tekst en meer. Daarnaast worden plugins en concepten als Open Sound Control, MIDI, FFT en meer ondersteund. Met behulp van pakketten van externe ontwikkelaars kan je naar behoeven de functionaliteit van jouw Max verder uitbreiden, en daarbij ook meteen die van jouw Ableton Live.
Eén extern pakket wordt al sinds de jaren ’90 ontwikkeld: IRCAM Spat∼. Het deelt dezelfde bouwstenen als de Flux:: SPAT Revolution immersive engine (onze favoriete engine), maar in Max kan je al deze bouwstenen op je eigen manier combineren en zo je eigen immersive engine bouwen. Het pakket is gratis; met een aankoop van Max of Ableton Live Suite kan je er meteen mee aan de slag.
De digital twin ontleed
Nu de tools en visie duidelijk zijn, ontleden we de digital twin volgens functie.
In Max bouwden we een patcher die audio van Ableton Live en OSC-berichten van de game engine ontvangt en verwerkt. Daarin zitten 3 subpatchers:
- Controle patcher: OSC-berichten (en aan te passen instellingen uit de hoofdpatcher) komen hier aan. Op basis van de data worden de 2 andere subpatchers aangestuurd, alsook starten en stoppen van audio in Ableton Live.
- Convolution reverb patcher: hierin zitten de impulse responses van 2 ruimtes – De Kreun en de balzaal van d’Hane Steenhuyse. De controle patcher geeft aan hoe en wanneer daartussen gewisseld moet worden. Audio input komt van Ableton Live via Max for Live devices. Audio output gaat naar de Spat∼ patcher.
- Spat∼ patcher: een binaural audio engine, voor gebruik op koptelefoon, in dit geval met VR-bril. Hierin worden de positie en oriëntatie van audiobronnen en de luisteraar in de ruimte ingesteld. De convolution reverb wordt als een 3D-audiobron rondom geplaatst. Via de controle patcher worden real-time wijzigingen van positie en oriëntatie doorgestuurd, zodat lokalisatie van bronnen overeenkomt met wat in de game engine gezien wordt. Audio input komt van Ableton Live via Max for Live devices en de convolution patcher. Audio output gaat naar de hoofdpatch, die die via Max for Live terug naar Ableton stuurt.
Audio zit in Ableton Live. Via het externe Max for Live-pakket Audio Routes, kunnen we multichannel audio van verschillende tracks in Ableton naar 1 Max for Live patcher sturen. Zo heeft de patcher genoeg inputkanalen voor immersive. De binaural output van de patcher komt terug in Ableton binnen en gaat simpelweg uit via de koptelefoon.
Hoe plaats je een artiest in de digital twin?
We namen een performance van het stuk “Allegro” (K282 III) van Mozart op, gespeeld door pianist Tom Beghin. Hij speelde op een Stein-piano, een accurate recreatie van een piano die Mozart bespeelde.
Om hem in de digital twin te plaatsen, waren er 2 implicaties voor hoe we met ruimtelijkheid moesten omgaan:
Akoestiek
De reverb plugin zou de akoestiek, dus de reflecties van het geluid van de piano in de ruimte, moeten voorzien. Daarom was het belangrijk om geen hoorbare akoestiek in de opname te hebben, want dat zou interfereren.
We namen de piano daarom op in een droge (sterk akoestisch gedempte) booth bij MotorMusic in Mechelen. Dit was een gekke situatie voor de pianist, want bij klassiek is de ruimte een belangrijk deel van de opname, bijna een instrument op zich.
Uitstraling van geluid
Als de piano op een bepaalde positie staat met een specifieke oriëntatie, dan wil je dat dat juist klinkt. In klassieke opnames is de conventie dat de hoge tonen links in het klankbeeld zitten en de lage tonen rechts. Dat doet men door rechts van de pianist halverwege de piano de microfoons te plaatsen.
Maar in een digital twin waar je rond de piano kan bewegen als luisteraar, wil je dat die uitstraling van het geluid overal waarheidsgetrouw is. Als je namelijk achter de pianist of links halverwege de piano gaat staan, zijn de lage tonen aan de linkerkant van het klavier en de hoge tonen rechts, het omgekeerde van de conventie.
We kozen voor een immersive OCT-3D microfoonopstelling, aangevuld met een AB-koppel. We exporteerden geen mix, maar juist de individuele microfoonsporen. Die werden gepositioneerd in Spat∼ om de uitstraling van het geluid zo realistisch mogelijk te krijgen. We speelden de audio af in Ableton Live, om nog enkele heilige huisjes af te breken.