Cookie Melding
Wij gebruiken cookies om ons websiteverkeer te analyseren en uw ervaring te verbeteren. U kunt analytische cookies accepteren of weigeren.
Als freelancer krijg je de beste ideeën in de auto of op de werf, net wanneer typen niet lukt. Daarom kreeg BillableMe spraaknotities: je spreekt een to-do, herinnering of notitie in, en een halve minuut later staat de tekst erbij, doorzoekbaar. Zo heb ik dat aangepakt.
De app neemt op met het record-package in AAC (m4a), vraagt de microfoonpermissie en laat je meteen een categorie, een vlag en een titel kiezen. Het bestand gaat als multipart-upload naar de NestJS-API. Vanaf dat moment staat de notitie in de lijst, met de status “wordt verwerkt”.
De API bewaart het audiobestand op een gedeeld volume, maakt een record aan in PostgreSQL en zet een job op een Bull-wachtrij in Redis. De HTTP-call is daarmee klaar in een fractie van een seconde. Een worker pikt de job op, roept de transcriptiedienst aan en probeert het bij een fout tot drie keer opnieuw met oplopende wachttijd. De status gaat van pending naar processing naar completed of failed.
De transcriptie zelf gebeurt in een kleine FastAPI-service met OpenAI Whisper. Ik koos het base-model: 74 MB, ongeveer 30 seconden per minuut audio op een CPU, en ruim voldoende voor gesproken notities in het Nederlands en het Engels. De modelgrootte is een omgevingsvariabele, zodat ik kan opschalen naar small of medium als de hardware het toelaat. ffmpeg zit mee in de container om m4a te decoderen.
Zodra de tekst in de databank staat, toont de app hem onder de notitie. Je kan de opname afspelen op 0,75 tot 1,5 keer de snelheid, de notitie bewerken, filteren per categorie of periode en zoeken in de transcripties.
small-model is op CPU drie keer trager dan base; voor korte gesproken notities was base ruim voldoende.Wil je een gelijkaardige AI-functie in je eigen app? Neem contact op.