Latency scenario’s bij immersive concerten

Volgend op het artikel rond Latency als struikelblok bij digitale toepassingen, wilden we hier een aantal praktische scenario’s schetsen van latency. We gebruiken daar vooral de VMX use case in de Ancienne Belgique Club met de shows van Pothamus en WITT. Daar gebruikten we een software engine en was latency dus zoals uitgelegd extra belangrijk, zeker bij de show van Pothamus.

Zij zijn namelijk een volledige liveband met drums, bas, gitaar en vocals. Als er teveel vertraging op het geluid zit, dat voel je als publiek dat dat niet klopt. Denk maar aan de vertraging tussen het geluid van de drums dat akoestisch van het podium komt en wat via microfoons versterkt wordt en door de speakers klinkt.
Daarnaast wil je ook dat de monitoring van de muzikanten niet vertraagd is en dat eventueel geluid dat terugkomt op het podium vanuit de zaal ook niet desoriënterend werkt.


Latency per toestel in de AB Club

Hieronder volgen een aantal berekeningen van de latency in verschillende signal flows tijdens de AB concerten. We hebben per hardwaretoestel gezocht wat de interne latency is en de latency voor de verwerking van geluid (bij interfaces) of uitwisselen van data (bij Dante).

Bij de latency als gevolg van buffers gaan we uit van een minimum, omdat andere componenten zoals USB-kabels nog extra vertraging toevoegen.
Bij Dante gaan we uit van een maximum latency omdat audiopakketten vroeger kunnen aankomen dan de ingestelde waarde.
Bij sommige toestellen geeft de fabrikant zelf de (maximum) latency aan, vaak omschreven als de internal delay of signal delay.

  1. Yamaha DM7 FOH mengtafel
    • Dante latency: 0.5ms
    • Interne latency (signal delay genoemd): maximum 1.5ms.
  2. Mac Mini via Digiface Dante voor Pro Tools (reverb plugin en backing tracks)
    • Dante latency: 0.5ms
    • Pro Tools latency: 5.3ms in 1 richting (buffer size 256)
  3. Mac Studio via Digiface Dante voor SPAT Revolution
    • Dante latency: 0.5ms
    • SPAT Revolution latency: 6.25ms (block size 128)
  4. Lake LM44 voor aansturen FOH speakersysteem van AB
    • Dante latency: 1ms
    • Interne latency (product propagation delay): minder dan 1ms
  5. 8 Powersoft Ottocanali versterkers
    • Dante latency: 1ms
  6. Digico S21 monitoring mengtafel
    • Dante latency: 1ms
  7. KLANG Konductor binaural monitoring engine
    • Dante latency: 1ms
  8. Sennheiser EM6000 receiver voor microfoons
    • Interne latency: 3ms
  9. DAE Windows voor audio analyse visuals
    • Dante latency: 4ms (Dante Virtual Soundcard)
  10. 2 Grace Designs m108 preamps voor captatie
    • Dante latency: 1ms
  11. REC-laptop Steven
    • Dante latency: 4ms (Dante Virtual Soundcard)


Latency scenario’s in AB Club

Van microfoon tot luidspreker

Als we de signaalweg volgen van microfoon tot luidsprekers, dan komen we op de volgende schatting voor de latency:

  • Indien er draadloze microfoons gebruikt worden (enkel bij WITT), is er 3ms latency in het ontvangen en uitsturen van het signaal via de Sennheiser EM6000 receivers.
  • Microfoons worden binnengehaald in de Yamaha DM7 mengtafel voor voorversterking, EQ en compressie en dergelijke. Interne latency is maximum 1.5ms.
  • Het signaal van de DM7 wordt via Dante direct-out uitgestuurd naar de Digiface Dante van de SPAT Revolution computer. Beide devices hebben 0.5ms ingesteld als Dante latency, dus maximum 0.5ms latency hier.
  • De microfoons worden gepositioneerd in de SPAT Revolution immersive engine. Minimum 6.25ms latency hier.
  • De output van SPAT gaat naar de Lake LM44 voor de speakers van de AB zelf (links, rechts, subs) en de Ottocanali versterkers voor onze aanvullende immersive speakers. Beide outputs staan op 1ms latency bij Dante, dus maximum 1ms latency.
  • (De LM44 en Ottocanali hebben minder dan 1ms interne latency, maar we hebben geen exacte waardes dus we kunnen ze niet meetellen.)

Dat geeft dus op 48kHz zo’n 1.5+0.5+6.25+1 = 9.25ms vertraging tussen bekabelde microfoon en speaker, of 12.25ms in het geval van draadloze microfoons (bij WITT). Dat ligt rond de grens van merkbare vertraging, maar wij hebben zelf weinig ervan opgemerkt. Beide waarden zijn misschien ook iets hoger dan de echte vertraging omdat de latencywaarden van de Dante-verbindingen en de Yamaha DM7 als maxima aangegeven zijn die bijna nooit gehaald worden.

De grootste impact komt dus duidelijk van SPAT, maar dankzij een voldoende krachtige computer (Mac Studio M1 Max) en low-latency audio interface (RME Digiface Dante) was deze hoeveelheid niet nog hoger dan . We hebben ook zoveel mogelijk achtergrondprocessen en grafische vormgeving van Mac zelf hebben uitgezet om CPU te sparen.

Van microfoon tot in-ears

Via een analoge split werkten de front-of-house en monitor tafels onafhankelijk. Zo is er een volledig gescheiden systeem voor de in-ear monitoring. De muzikanten kregen een binaural mix om zo ook immersive op koptelefoon te ervaren.
Als we de signaalweg volgen van microfoon tot de in-ears van de muzikanten, dan komen we op de volgende schatting voor de latency:

  • Indien er draadloze microfoons gebruikt worden (enkel bij WITT), is er 3ms latency in het ontvangen en uitsturen van het signaal via de Sennheiser EM6000 receivers.
  • Microfoons worden binnengehaald in de Digico S21 mengtafel voor voorversterking, EQ en compressie en dergelijke. Interne latency is maximum 2ms op 48kHz.
  • Het signaal van de S21 wordt daarna via Dante direct-out uitgestuurd naar de KLANG konductor. Beide devices hebben 1.0ms ingesteld als Dante latency, dus maximum 1.0ms latency hier.
  • De microfoons worden gepositioneerd in de KLANG binaural engine. Interne latency is 0.25ms hier.
  • De output van KLANG gaat terug naar de S21. Beide toestellen staan op 1.0ms, dus maximum 1.0ms.
  • Van de S21 gaat het signaal naar de Sennheiser EW IEM G4 transmitter om de in-ears aan te sturen. Hiervoor is geen latency bekend.

Dat geeft dus op 48kHz zo’n 2+1+0.25+1 = 4.25ms van microfoon tot in-ears indien er geen draadloze microfoons gebruikt worden.
Bij WITT komt daar nog 3ms extra bij via de Sennheiser EM6000, zodat je 7.25ms hebt. Dit zijn prima waarden. We hebben van de muzikanten geen opmerkingen gekregen over de latency, wat ook altijd een goed teken is.

Latency van backing tracks

Bij WITT werd gebruik gemaakt van backing tracks. De signaalweg voor die backing tracks is iets anders dan die van een microfoonsignaal.

  • Audio van Pro Tools wordt uitgestuurd via de Digiface Dante. Daar zit sowieso een output buffer tussen en dat voegt minimum 5.3ms toe op de gekozen buffer size 256.
  • De Digiface Dante zal dan uitsturen naar de Yamaha DM7 voor de front-of-house en de Digico S21 voor de monitoring. Dat voegt bij de DM7 maximum een halve ms toe en bij de S21 maximum 1ms.
  • Verder verloopt alles hetzelfde als bij de vorige scenario’s.

Die extra vertraging van 5.8 à 6.3ms wordt niet echt meegerekend omdat dat vertraagd signaal de referentie is waarop gezongen wordt.

Latency van reverb

We gebruikten onze eigen immersive reverb plugin (7.1.4, 12 kanalen) in Pro Tools tijdens de shows. Die werd aangestuurd vanuit de mengtafel.
De processor van de Mac Studio M1 Max vereiste een buffergrootte van 256 samples in Pro Tools. In een mix context, waarbij je signalen naar de reverb stuurt die al in Pro Tools zitten en niet nog eens via de interface worden aangestuurd, konden we een buffer van 32 samples gebruiken.
Een schatting van de signaalweg van een microfoonsignaal dat de reverb aanstuurt tot de uiteindelijke reverbklank in de speakers:

  • Microfoon gaat door Yamaha DM7 mengtafel voor voorversterking, EQ en compressie en dergelijke. Via een send wordt die uitgestuurd richting de reverb plugin. Interne latency is maximum 1.5ms.
  • Het signaal van de reverb send op de DM7 wordt via Dante direct-out uitgestuurd naar de Digiface Dante van de Pro Tools Mac. Beide devices hebben 0.5ms ingesteld als Dante latency, dus maximum 0.5ms latency hier.
  • De reverb wordt binnengehaald in Pro Tools door de input buffer op 256 samples. Dat geeft 5.33ms latency. De reverb processt het signaal met een verwaarloosbare latency. Dat signaal wordt dan uit Pro Tools richting SPAT gestuurd door een output buffer, dus dat geeft nog eens 5.33ms. Minimum 10.66ms latency hier.
  • Het signaal van Pro Tools wordt via 1 Digiface Dante uitgestuurd naar de Digiface Dante van de SPAT Revolution Mac. Beide devices hebben 0.5ms ingesteld als Dante latency, dus maximum 0.5ms latency hier.
  • De reverb wordt gepositioneerd in de SPAT Revolution immersive engine. Minimum 6.25ms latency hier.
  • Via Dante wordt de output van SPAT naar de Lake LM44 gestuurd (links, rechts, subs) en de Ottocanali speakers (rest van speakers). Beide outputs staan op 1ms latency, dus maximum 1ms latency.
  • (De LM44 en Ottocanali hebben minder dan 1ms interne latency, maar we hebben geen exacte waardes dus we kunnen ze niet meetellen.)

Dat brengt ons op een totaal van 1.5+0.5+10.66+0.5+6.25+1 = 9.25+11.16 = 20.41ms latency. Dat is meer dan een verdubbeling tegenover het droog signaal dat 9.25ms latency had. We beschouwen dit nog steeds niet als een probleem omdat de latency hier gezien kan worden als een (pre)delay, wat bijna steeds wenselijk is voor reverb. 10ms extra vertraging van de galm geeft meer ruimte voor het droge signaal zonder galm en vergroot het gevoel van ruimte enigszins. In de reverb plugin voegden we zelfs nog 30ms extra predelay toe om het signaal nog verder te vertragen.


Latency per toestel bij UNWRAP @ Wilde Westen

Onze eerste iteratie van een immersive concert tijdens Unwrap was veel simpeler dan die in de AB. Enkel WITT speelde met backing tracks, er was geen aparte Pro Tools met reverb, geen binaural monitoring. We beschouwen maar 1 scenario voor latency, zijnde latency die van microfoon tot speakers. Die signaalketen was hetzelfde als die van de AB (LINK NAAR MATERIAALLIJST) maar we waren toen nog niet

  • Latency SPAT: minimum 13.33ms (buffer size 640 samples).


Latency per toestel in de AB Club

Hieronder volgen een aantal berekeningen van de latency in verschillende signal flows tijdens de AB concerten. We hebben per hardwaretoestel gezocht wat de interne latency is en de latency voor de verwerking van geluid (bij interfaces) of uitwisselen van data (bij Dante).

Bij de latency als gevolg van buffers gaan we uit van een minimum, omdat andere componenten zoals USB-kabels nog extra vertraging toevoegen.
Bij Dante gaan we uit van een maximum latency omdat audiopakketten vroeger kunnen aankomen dan de ingestelde waarde.
Bij sommige toestellen geeft de fabrikant zelf de (maximum) latency aan, vaak omschreven als de internal delay of signal delay.

  1. Yamaha DM7 FOH mengtafel
    • Dante latency: 0.5ms
    • Interne latency (signal delay genoemd): maximum 1.5ms.
  2. Mac Mini via Digiface Dante voor Pro Tools (reverb plugin en backing tracks)
    • Dante latency: 0.5ms
    • Pro Tools latency: 5.3ms in 1 richting (buffer size 256)
  3. Mac Studio via Digiface Dante voor SPAT Revolution
    • Dante latency: 0.5ms
    • SPAT Revolution latency: 6.25ms (block size 128)
  4. Lake LM44 voor aansturen FOH speakersysteem van AB
    • Dante latency: 1ms
    • Interne latency (product propagation delay): minder dan 1ms
  5. 8 Powersoft Ottocanali versterkers
    • Dante latency: 1ms
  6. Digico S21 monitoring mengtafel
    • Dante latency: 1ms
  7. KLANG Konductor binaural monitoring engine
    • Dante latency: 1ms
  8. Sennheiser EM6000 receiver voor microfoons
    • Interne latency: 3ms
  9. DAE Windows voor audio analyse visuals
    • Dante latency: 4ms (Dante Virtual Soundcard)
  10. 2 Grace Designs m108 preamps voor captatie
    • Dante latency: 1ms
  11. REC-laptop Steven
    • Dante latency: 4ms (Dante Virtual Soundcard)


Latency scenario’s in AB Club

Van microfoon tot luidspreker

Als we de signaalweg volgen van microfoon tot luidsprekers, dan komen we op de volgende schatting voor de latency:

  • Indien er draadloze microfoons gebruikt worden (enkel bij WITT), is er 3ms latency in het ontvangen en uitsturen van het signaal via de Sennheiser EM6000 receivers.
  • Microfoons worden binnengehaald in de Yamaha DM7 mengtafel voor voorversterking, EQ en compressie en dergelijke. Interne latency is maximum 1.5ms.
  • Het signaal van de DM7 wordt via Dante direct-out uitgestuurd naar de Digiface Dante van de SPAT Revolution computer. Beide devices hebben 0.5ms ingesteld als Dante latency, dus maximum 0.5ms latency hier.
  • De microfoons worden gepositioneerd in de SPAT Revolution immersive engine. Minimum 6.25ms latency hier.
  • De output van SPAT gaat naar de Lake LM44 voor de speakers van de AB zelf (links, rechts, subs) en de Ottocanali versterkers voor onze aanvullende immersive speakers. Beide outputs staan op 1ms latency bij Dante, dus maximum 1ms latency.
  • (De LM44 en Ottocanali hebben minder dan 1ms interne latency, maar we hebben geen exacte waardes dus we kunnen ze niet meetellen.)

Dat geeft dus op 48kHz zo’n 1.5+0.5+6.25+1 = 9.25ms vertraging tussen bekabelde microfoon en speaker, of 12.25ms in het geval van draadloze microfoons (bij WITT). Dat ligt rond de grens van merkbare vertraging, maar wij hebben zelf weinig ervan opgemerkt. Beide waarden zijn misschien ook iets hoger dan de echte vertraging omdat de latencywaarden van de Dante-verbindingen en de Yamaha DM7 als maxima aangegeven zijn die bijna nooit gehaald worden.

De grootste impact komt dus duidelijk van SPAT, maar dankzij een voldoende krachtige computer (Mac Studio M1 Max) en low-latency audio interface (RME Digiface Dante) was deze hoeveelheid niet nog hoger dan . We hebben ook zoveel mogelijk achtergrondprocessen en grafische vormgeving van Mac zelf hebben uitgezet om CPU te sparen.