Werk2024
Julius
Hardop praten met een Romein. Whisper luistert mee, GPT-4 verzint het antwoord, ElevenLabs spreekt het uit. Zonder knop.
- Rol
- Alles zelf: idee, ontwerp, bouw
- Jaar
- 2024
- Techniek
- JavaScript · Whisper · GPT-4 · ElevenLabs · Web Audio API
Geschiedenis leer je meestal uit teksten over mensen die je nooit hoort. Dit is de omgekeerde poging: je stelt gewoon een vraag, hardop, en er komt antwoord.
De hele keten draait in de browser. De microfoon gaat via getUserMedia naar MP3, die MP3 naar Whisper voor transcriptie, de tekst naar GPT-4 dat in de rol blijft, en het antwoord komt als gestreamde spraak terug van ElevenLabs.
Het lastigste was de knop weghalen. Push-to-talk werkt prima, alleen voert niemand dan een gesprek. Dus meet de app het volumeniveau van je microfoon om te horen wanneer je bent uitgesproken. Datzelfde signaal beweegt de mond van het personage, wat me een hoop animatiewerk scheelde.
Waar uiteindelijk de meeste tijd in ging: wachttijd wegwerken. Een stilte van een seconde leest als een storing en niet als nadenken, dus alles wat gestreamd kon worden, streamt.
Hoe het werkt
- Je praat
- Volume bepaalt wanneer je klaar bent
- Whisper maakt er tekst van
- GPT-4 antwoordt in de rol
- ElevenLabs streamt de spraak terug