Spisu treści:
- Krok 1: Macierz 4-mikrofonowa USB ReSpeaker
- Krok 2: Zainstaluj wymagane biblioteki
- Krok 3: Zamiana tekstu na mowę w Pythonie z biblioteką Pyttsx3
- Krok 4: Łączenie wszystkiego w całość: budowanie rozpoznawania mowy za pomocą Pythona przy użyciu Google Speech Recognition API i biblioteki Pyttsx3
Wideo: Rozpoznawanie mowy za pomocą Google Speech API i Pythona: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Rozpoznawanie mowy
Rozpoznawanie mowy jest częścią przetwarzania języka naturalnego, które jest poddziedziną sztucznej inteligencji. Mówiąc prościej, rozpoznawanie mowy to zdolność oprogramowania komputerowego do identyfikowania słów i fraz w języku mówionym i konwertowania ich na tekst czytelny dla człowieka. Jest używany w kilku aplikacjach, takich jak systemy asystentów głosowych, automatyka domowa, chatboty głosowe, robot interakcji głosowej, sztuczna inteligencja itp.
Istnieją różne API (interfejs programowania aplikacji) do rozpoznawania mowy. Oferują usługi bezpłatne lub płatne. To są:
- CMU Sfinks
- Rozpoznawanie mowy Google
- Interfejs API Google Cloud Speech
- Wit.ai
- Rozpoznawanie głosu Microsoft Bing
- Houndify API
- IBM mowy na tekst
- Wykrywanie słów-kluczy Snowboy
Będziemy tutaj używać Google Speech Recognition, ponieważ nie wymaga ono żadnego klucza API. Ten samouczek ma na celu wprowadzenie do korzystania z biblioteki Google Speech Recognition w Pythonie za pomocą zewnętrznego mikrofonu, takiego jak ReSpeaker USB 4-Mic Array firmy Seeed Studio. Chociaż nie jest wymagane użycie zewnętrznego mikrofonu, można użyć nawet wbudowanego mikrofonu laptopa.
Krok 1: Macierz 4-mikrofonowa USB ReSpeaker
ReSpeaker USB Mic to urządzenie z czterema mikrofonami przeznaczone do zastosowań AI i głosowych, które zostało opracowane przez Seeed Studio. Posiada 4 wbudowane mikrofony dookólne o wysokiej wydajności, zaprojektowane do odbierania głosu z dowolnego miejsca w pomieszczeniu oraz 12 programowalnych wskaźników LED RGB. Mikrofon USB ReSpeaker obsługuje systemy operacyjne Linux, macOS i Windows. Szczegóły znajdziesz tutaj.
Mikrofon USB ReSpeaker jest dostarczany w ładnym opakowaniu zawierającym następujące elementy:
- Podręcznik użytkownika
- Macierz mikrofonów USB ReSpeaker
- Kabel Micro USB do USB
Więc jesteśmy gotowi, aby zacząć.
Krok 2: Zainstaluj wymagane biblioteki
W tym samouczku zakładam, że używasz Pythona 3.x.
Zainstalujmy biblioteki:
pip3 zainstaluj Rozpoznawanie mowy
W przypadku macOS najpierw musisz zainstalować PortAudio z Homebrew, a następnie zainstalować PyAudio z pip3:
napar zainstaluj portaudio
Uruchamiamy poniższe polecenie, aby zainstalować pyaudio
pip3 zainstaluj pyaudio
W systemie Linux możesz zainstalować PyAudio z apt:
sudo apt-get zainstaluj python-pyaudio python3-pyaudio
W systemie Windows możesz zainstalować PyAudio za pomocą pip:
pip zainstaluj pyaudio
Utwórz nowy plik Pythona
nano get_index.py
Wklej na get_index.py poniżej fragmentu kodu:
importuj pyaudio
p = pyaudio. PyAudio() info = p.get_host_api_info_by_index(0)numdevices = info.get('deviceCount') for i in range(0, numdevices): if (p.get_device_info_by_host_api_device_index(0, i).get('smaxInputChannel) ')) > 0: print ("Identyfikator urządzenia wejściowego", i, "-", p.get_device_info_by_host_api_device_index(0, i).get('name'))
Uruchom następujące polecenie:
python3 get_index.py
W moim przypadku polecenie daje na ekranie następujące dane wyjściowe:
Identyfikator urządzenia wejściowego 1 - macierz mikrofonów ReSpeaker 4 (UAC1.0)
Identyfikator urządzenia wejściowego 2 - mikrofon MacBook Air
Zmień device_index na numer indeksu zgodnie z wyborem w poniższym fragmencie kodu.
importuj rozpoznawanie mowy jako sr
r = sr. Recognizer() speech = sr. Microphone(device_index=1) z mową jako źródłem: print("powiedz coś!…") audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) spróbuj: recog = r.recognize_google(audio, language = 'en-US') print("Powiedziałeś: " + rozpoznawanie) z wyjątkiem sr. UnknownValueError: print("Rozpoznawanie mowy Google nie może zrozumieć dźwięku") z wyjątkiem sr. RequestError as e: print („Nie można zażądać wyników z usługi rozpoznawania mowy Google; {0}.format(e))
Indeks urządzenia został wybrany 1, ponieważ ReSpeaker 4 Mic Array będzie głównym źródłem.
Krok 3: Zamiana tekstu na mowę w Pythonie z biblioteką Pyttsx3
Dostępnych jest kilka interfejsów API do konwersji tekstu na mowę w Pythonie. Jednym z takich API jest pyttsx3, który jest moim zdaniem najlepszym dostępnym pakietem zamiany tekstu na mowę. Ten pakiet działa w systemach Windows, Mac i Linux. Sprawdź oficjalną dokumentację, aby zobaczyć, jak to się robi.
Zainstaluj pakietUżyj pip, aby zainstalować pakiet.
pip zainstaluj pyttsx3
Jeśli pracujesz w systemie Windows, będziesz potrzebować dodatkowego pakietu, pypiwin32, który będzie potrzebny do uzyskania dostępu do natywnego interfejsu API mowy systemu Windows.
pip zainstaluj pypiwin32
Konwertuj tekst na mowę skrypt Pythona Poniżej znajduje się fragment kodu dla tekstu na mowę za pomocą pyttsx3:
importuj pyttsx3
silnik = pyttsx3.init()
engine.setProperty('rate', 150) # Procent prędkości
engine.setProperty('objętość', 0.9) # Objętość 0-1
engine.say("Witaj świecie!")
silnik.uruchomiczekaj()
Krok 4: Łączenie wszystkiego w całość: budowanie rozpoznawania mowy za pomocą Pythona przy użyciu Google Speech Recognition API i biblioteki Pyttsx3
Poniższy kod odpowiada za rozpoznawanie ludzkiej mowy przy użyciu Google Speech Recognition i konwersję tekstu na mowę przy użyciu biblioteki pyttsx3.
importuj rozpoznawanie mowy jako sr
import pyttsx3 engine = pyttsx3.init() engine.setProperty('rate', 200) engine.setProperty('volume', 0.9) r = sr. Recognizer() speech = sr. Microphone(device_index=1) z mową jako źródłem: audio = r.adjust_for_ambient_noise(źródło) audio = r.listen(źródło) try: recog = r.recognize_google(audio, language = 'en-US') print("Powiedziałeś: " + recog) engine.say(" Powiedziałeś: " + recog) engine.runAndWait() z wyjątkiem sr. UnknownValueError: engine.say("Rozpoznawanie mowy Google nie może zrozumieć dźwięku") engine.runAndWait() z wyjątkiem sr. RequestError jako e: engine.say("Nie można wyniki żądania z usługi Google Speech Recognition; {0}.format(e)) engine.runAndWait()
Wypisuje dane wyjściowe na terminalu. Ponadto zostanie on również zamieniony na mowę.
Powiedziałeś: Londyn to stolica Wielkiej Brytanii
Mam nadzieję, że teraz lepiej rozumiesz, jak ogólnie działa rozpoznawanie mowy, a co najważniejsze, jak zaimplementować to za pomocą interfejsu Google Speech Recognition API z Pythonem.
Masz pytania lub uwagi? Zostaw komentarz poniżej. Czekać na dalsze informacje!
Zalecana:
Rozpoznawanie mowy za pomocą Arduino (Bluetooth + LCD + Android): 6 kroków
Rozpoznawanie mowy z Arduino (Bluetooth + LCD + Android): W tym projekcie zamierzamy wykonać rozpoznawanie mowy za pomocą Arduino, modułu Bluetooth (HC-05) i LCD. zbudujmy własne urządzenie do rozpoznawania mowy
Monitorowanie akceleracji za pomocą Raspberry Pi i AIS328DQTR za pomocą Pythona: 6 kroków
Monitorowanie przyspieszenia za pomocą Raspberry Pi i AIS328DQTR Za pomocą Pythona: Przyspieszenie jest skończone, myślę, że zgodnie z niektórymi prawami fizyki.- Terry Riley Gepard wykorzystuje niesamowite przyspieszenie i szybkie zmiany prędkości podczas pościgu. Najszybsze stworzenie na lądzie od czasu do czasu wykorzystuje swoje najwyższe tempo do łapania zdobyczy. Ten
Śledzenie zmian przyspieszenia za pomocą Raspberry Pi i MMA7455 za pomocą Pythona: 6 kroków
Śledzenie zmian akceleracji za pomocą Raspberry Pi i MMA7455 przy użyciu Pythona: nie potknąłem się, testowałem grawitację. Nadal działa… Reprezentacja przyspieszającego wahadłowca kosmicznego wyjaśniała, że zegar w najwyższym punkcie wahadłowca wybierałby szybszy niż zegar u podstawy z powodu grawitacyjnego rozszerzania się czasu. Trochę
Rozpoznawanie mowy: 12 kroków
Rozpoznawanie mowy: Cześć wszystkim… To jest moja druga instrukcja, którą publikuję. Witam wszystkich… W tej instrukcji nauczę Cię, jak zbudować rozpoznawanie głosu za pomocą tablicy arduino. Myślę więc, że masz doświadczenie z dzikiem arduino
Jak korzystać z narzędzia mowy w systemie Mac OS X 10.5 Leopard: 3 kroki
Jak korzystać z narzędzia mowy w systemie Mac OS X 10.5 Leopard: Jestem wielkim fanem Harry'ego Pottera i zawsze chciałem móc rzucać zaklęcia. Czy nie byłoby fajnie móc kogoś znokautować jednym słowem? A co powiesz na możliwość otwarcia drzwi bez klucza? Potem natknąłem się na tę instrukcję