Een vertaalsysteem dat meeloopt in Discord zelf. Iedere spreker houdt zijn eigen audiostream en krijgt ondertiteling in zijn eigen taal. Dat werkt ook als mensen door elkaar heen praten. Discord geeft die losse streams niet zomaar af, dus daarvoor is de client zelf onderzocht. Het wordt dagelijks gebruikt om met internationale teams te praten en te gamen.

Applicatie
Volgt
Volgt
Volgt
Iedereen zijn eigen taal, gewoon in Discord
Voor internationale teams is taal vaak het enige wat een gesprek nog in de weg zit. Er bestaat genoeg software die audio kan ondertitelen, maar zodra meerdere mensen tegelijk praten wordt het al snel één grote audiostroom. Dan weet je niet meer wie wat zegt en kun je ook niet per persoon bepalen welke taal er nodig is.
Daarom bouwde ik een vertaalsysteem dat de afzonderlijke audiostreams binnen Discord gebruikt. Iedere spreker blijft daarmee herkenbaar en kan zijn eigen vertaaltaal krijgen. Praat iemand Duits en iemand anders Engels, dan verschijnen hun gesprekken afzonderlijk als ondertiteling in beeld. Ook wanneer ze door elkaar heen praten.
Omdat het rechtstreeks bovenop Discord werkt, hoeven gebruikers niet naar een apart platform. Ze kunnen blijven praten, samenwerken, gamen of samen een film kijken zoals ze gewend zijn. De vertaling loopt op de achtergrond mee.
De grootste uitdaging zat niet in de vertaling, maar in het verkrijgen van de juiste audio. Discord biedt geen normale koppeling waarmee je de individuele audiostream van iedere deelnemer kunt uitlezen. Om daar toch bij te komen moest de applicatie technisch worden onderzocht tot op het niveau waarop Discord de audio intern verwerkt.
Daarvoor heb ik delen van de client gedecompileerd en de werking op assemblyniveau gedebugd, zodat het systeem op het juiste punt kon aansluiten en iedere audiostream afzonderlijk kon verwerken. Dat maakte dit een van de technisch lastigere projecten die ik heb gebouwd.
Uiteindelijk werkte het zoals bedoeld. Losse sprekers, losse vertalingen en ondertiteling die tijdens een normaal Discord-gesprek blijft meelopen. Het systeem wordt inmiddels dagelijks gebruikt om met internationale teams te communiceren en samen te gamen zonder dat iedereen dezelfde taal hoeft te spreken.



