Cookie-Hinweis
Wir verwenden Cookies, um den Datenverkehr auf unserer Website zu analysieren und Ihr Nutzungserlebnis zu verbessern. Sie können Analyse-Cookies akzeptieren oder ablehnen.
Als Freelancer hat man die besten Ideen im Auto oder auf der Baustelle, genau dann, wenn Tippen nicht geht. Deshalb hat BillableMe Sprachnotizen bekommen: Man spricht ein To-do, eine Erinnerung oder eine Notiz ein, und eine halbe Minute später steht der Text dabei, durchsuchbar. So bin ich vorgegangen.
Die App nimmt mit dem record-Package in AAC (m4a) auf, fragt die Mikrofonberechtigung an und lässt sofort eine Kategorie, eine Markierung und einen Titel wählen. Die Datei geht als Multipart-Upload an die NestJS-API. Ab diesem Moment steht die Notiz in der Liste, mit dem Status „wird verarbeitet“.
Die API speichert die Audiodatei auf einem gemeinsamen Volume, legt einen Datensatz in PostgreSQL an und stellt einen Job in eine Bull-Warteschlange in Redis. Der HTTP-Aufruf ist damit im Bruchteil einer Sekunde erledigt. Ein Worker übernimmt den Job, ruft den Transkriptionsdienst auf und versucht es bei einem Fehler bis zu drei Mal erneut, mit steigender Wartezeit. Der Status wechselt von pending über processing zu completed oder failed.
Die Transkription selbst erfolgt in einem kleinen FastAPI-Service mit OpenAI Whisper. Ich habe das base-Modell gewählt: 74 MB, etwa 30 Sekunden pro Minute Audio auf einer CPU und völlig ausreichend für gesprochene Notizen auf Niederländisch und Englisch. Die Modellgröße ist eine Umgebungsvariable, sodass ich auf small oder medium hochskalieren kann, wenn die Hardware es zulässt. ffmpeg ist im Container enthalten, um m4a zu dekodieren.
Sobald der Text in der Datenbank steht, zeigt die App ihn unter der Notiz an. Die Aufnahme lässt sich mit 0,75- bis 1,5-facher Geschwindigkeit abspielen, die Notiz bearbeiten, nach Kategorie oder Zeitraum filtern und in den Transkriptionen suchen.
small-Modell ist auf der CPU dreimal langsamer als base; für kurze gesprochene Notizen war base völlig ausreichend.Möchten Sie eine ähnliche KI-Funktion in Ihrer eigenen App? Nehmen Sie Kontakt auf.