7

Pracuję nad aplikacją na iOS, która obsługuje sztuczną inteligencję opartą na głosie; Oznacza to, że ma pobierać głos z mikrofonu, przekształcić go w tekst, wysłać do agenta AI, a następnie wysłać zwracany tekst przez głośnik. Mam wszystko działa, ale za pomocą przycisku, aby rozpocząć i zatrzymać nagrywanie mowy (SpeechKit do rozpoznawania głosu, API.AI dla AI, Amazon's Polly dla wyjścia).Wykrywanie aktywności głosu z wejścia mikrofonowego w systemie iOS

Potrzebuję tego, aby mikrofon zawsze był włączony i automatycznie uruchamiał się i zatrzymywał zapis głosu użytkownika podczas jego rozpoczynania i kończenia. Ta aplikacja jest opracowywana na niekonwencjonalny kontekst, w którym nie będzie dostępu do ekranu dla użytkownika (ale będą mieć wysokiej klasy mikrofon do strzelania do zapisywania ich tekstu).

Moje badania sugerują, że ten kawałek układanki jest znany jako "Wykrywanie aktywności głosu" i wydaje się być jednym z najtrudniejszych kroków w całym systemie AI opartym na głosie.

Mam nadzieję, że ktoś może dostarczyć trochę prostego kodu (Swift), aby to zaimplementować samodzielnie, lub wskazać mi drogę do porządnych bibliotek/zestawów SDK, które mogę wdrożyć w tym projekcie.

Odpowiedz

2

Do dobrej implementacji algorytmu VAD można użyć py-webrtcvad.

Jest to interfejs Pythona dla kodu C, można po prostu zaimportować pliki C z projektu i używać ich od Swift.

+0

Dzięki! Właściwie to mam już ręce na porcie iOS tej biblioteki, ale jeszcze nie do końca zrozumiałem, jak zastosować go do buforów wychodzących z mikrofonu, zamiast wskazywać go na istniejący plik audio ... Dowolny poradnik? Próbki kodu? –

+0

API przetwarzane klatka po klatce, więc nie powinno być problemu z przetwarzaniem buforów. –

Powiązane problemy