Simracen is een oefening in databeheer. Of je nu de top bereikt in Spa of de brandstof beheert op Le Mans, je bent voortdurend bezig met het verwerken van telemetrie in je hoofd. Maar voor Gran Turismo 7-spelers op PS5 zijn die gegevens altijd achter een stille muur gebleven. Je krijgt de knoppen op je scherm, maar je mist het enige waar elke echte coureur op vertrouwt: een Race Engineer.
Daarom heb ik RaceVoice gebouwd.
Wat is RaceVoice?
RaceVoice is een op Electron gebaseerde applicatie die ruwe telemetrie omzet in een levende, ademende persoonlijkheid. Het laat u niet alleen zien dat uw banden heet zijn; het vertelt je dat, en afhankelijk van hoe je het hebt ingesteld, is het misschien niet erg beleefd.
De Tech Stack: de code kraken
Het bouwen van een realtime brug tussen een PS5 en een pc is niet eenvoudig. Het project omvatte verschillende lagen van technische uitdagingen:
- UDP-telemetrie-decodering: GT7 zendt telemetrie uit via het netwerk, maar is gecodeerd. Toen Polyphony Digital de v1.50-update uitbracht, moest de gemeenschap zich haasten om de nieuwe coderingssleutels en -compensaties te vinden. RaceVoice gebruikt een aangepaste Salsa20-implementatie om pakketten van 368 bytes op 60 Hz te decoderen.
- Live visualisatie: met behulp van Chart.js geeft de app live pedaalinvoer (gas/rem), G-krachtradars en bandenheatmaps weer. Het is het soort gegevenszichtbaarheid dat normaal gesproken voorbehouden is aan hoogwaardige telemetriesoftware zoals MoTeC, maar toegankelijk is voor de console.
- Het AI-brein (Groq API): Dit is waar het interessant wordt. In plaats van hardgecodeerde regels gebruikt RaceVoice de Groq API om reactief, situationeel commentaar te genereren. Als je voortdurend de rode lijn raakt of te laat remt, past de AI zijn ‘persoonlijkheid’ daarop aan.
- High-Fidelity TTS (Kokoro): Om de robotachtige "navigatie"-stem uit het verleden te vermijden, heb ik de Kokoro-82M ONNX-engine geïntegreerd. Het draait volledig in WASM aan de clientzijde en biedt mensachtige, urgente audiofeedback zonder de latentie van cloudgebaseerde spraak.
"Gordon Ramsay" in de pitlane
De meest gevraagde eigenschap tijdens de ontwikkeling was karakter. Door gebruik te maken van grote taalmodellen kon ik een ‘British Motorsport Slang’-profiel implementeren. We noemen het liefdevol de ‘Gordon Ramsay-modus’.
In plaats van te zeggen: "De temperatuur van de banden is hoog", zou de ingenieur kunnen blaffen: "Je frontrechten zijn absoluut gaar! Zoek het uit, anders zitten we in de muur!" Dit voegt een laag van onderdompeling en urgentie toe, waardoor de race-ervaring van een game verandert in een simulatie met hoge inzet.
Voorbij het dashboard
RaceVoice is meer dan alleen een hulpmiddel; het is een onderzoek naar hoe we AI kunnen gebruiken om koude gegevens menselijker te maken. Door honderden telemetrieframes per seconde te verwerken (van de veerweg tot het brandstofverbruik) en deze in één enkele, tijdige stemprompt te destilleren, overbruggen we de kloof tussen speler en machine.
John Harrison, hoofdingenieur, sofi.digital