7

Ich entwickle eine iOS-App, die sprachbasierte AI unterstützt. d. h., es ist beabsichtigt, Spracheingabe vom Mikrofon zu nehmen, es in Text umzuwandeln, es an einen AI-Agenten zu senden und dann den zurückgesandten Text durch den Lautsprecher auszugeben. Ich habe alles funktioniert, obwohl ich einen Knopf benutze, um die Sprachaufnahme zu starten und zu beenden (SpeechKit für die Spracherkennung, API.AI für die AI, Amazon Polly für die Ausgabe).Sprachaktivitätserkennung über Mikrofoneingang unter iOS

Das Stück, das ich brauche, ist das Mikrofon immer eingeschaltet zu haben und die Aufnahme der Stimme des Benutzers automatisch zu starten und zu stoppen, wenn sie anfangen zu sprechen. Diese App wird für einen unorthodoxen Kontext entwickelt, wo es keinen Zugang zum Bildschirm für den Benutzer gibt (aber sie werden ein High-End-Shotgun-Mikrofon haben, um ihren Text aufzunehmen).

Meine Forschung schlägt vor, dieses Teil des Puzzles bekannt als "Voice Activity Detection" und scheint einer der härtesten Schritte in der gesamten Stimme-basierte KI-System zu sein.

Ich hoffe, jemand kann entweder einige einfache (Swift) Code, um dies selbst zu implementieren, oder zeigen Sie mir in Richtung einiger anständiger Bibliotheken/SDKs, die ich in diesem Projekt implementieren kann.

Antwort

2

Für eine gute Implementierung des VAD-Algorithmus können Sie py-webrtcvad verwenden.

Es ist eine Python-Schnittstelle für C-Code, Sie können einfach C-Dateien aus dem Projekt importieren und sie von Swift verwenden.

+0

Danke! Ich habe eigentlich schon einen iOS-Port dieser Bibliothek in die Finger bekommen, aber ich habe noch nicht herausgefunden, wie man ihn auf Puffer anwenden kann, die aus dem Mikrofon kommen, anstatt nur auf eine vorhandene Audiodatei zu zeigen ... Any Hinweise? Codebeispiele? –

+0

Die API wurde Frame für Frame verarbeitet, daher sollte es kein Problem bei der Verarbeitung von Puffern geben. –