Wat we ermee bouwen

Whisper maakt van een formulierveld iets waar een gebruiker tegen kan praten in plaats van in te typen. We koppelen het op twee manieren, afhankelijk van waar de invoer plaatsvindt.

Achter een webfront-end wordt audio in de browser opgenomen, naar een transcriptie-endpoint op de bestaande backend gestuurd, en komt de tekst terug in het veld waarvoor ze werd opgenomen. Binnen een Flutter-app bouwen we Whisper rechtstreeks in de binary in — een GGML-build via FFI — zodat transcriptie op het toestel gebeurt: geen upload, geen heen-en-weer, en het blijft werken zonder enige verbinding.

Waar we het hebben ingezet

Formtastic is waar dit het eerst landde. De webapp roept een nieuw transcriptie-endpoint aan op de bestaande Django-backend in plaats van een aparte service, omdat Django de authenticatie en opslag van het verzoek toch al bezit. De Flutter-apps dragen het model zelf mee, zodat een formulier invullen zonder bereik precies zo werkt als op wifi.

Wanneer we het aanraden

Whisper is de moeite waard overal waar een formulier lange vrijetekstvelden heeft — notities, rapporten, open antwoorden — die traag te typen zijn op een telefoon en natuurlijk om uit te spreken.

Welke integratie zinnig is, hangt af van de client. Een webapp die al een backend heeft wint weinig door modelgewichten naar de browser te dragen, dus een serverendpoint is de kleinere wijziging. Een mobiele app heeft juist baat bij de weg via het toestel wanneer ze offline moet werken of wanneer audio het toestel niet mag verlaten — de afweging is een groter appbestand en rekenwerk op het toestel, in ruil voor nul netwerkafhankelijkheid en niets dat het toestel verlaat.

Audio wordt opgenomen waar de gebruiker aan het typen is, door Whisper getranscribeerd, en de resulterende tekst wordt terug in dat veld gezet. Waar het draait — een backendendpoint of op het toestel in de app — hangt af van de client.
Transcriptie op het toestel blijft werken zonder verbinding en stuurt nooit audio van de telefoon af. We gebruiken het in Flutter-apps via een GGML-build die door FFI draait, tegen de prijs van een groter appbestand en het rekenwerk van het toestel zelf.
De webapp van Formtastic transcribeert via een endpoint op de bestaande Django-backend; de Flutter-apps dragen Whisper op het toestel mee, zodat formulieren ook zonder bereik met de stem ingevuld kunnen worden.