Spisu treści:

Rozpoznawanie mowy za pomocą Google Speech API i Pythona: 4 kroki
Rozpoznawanie mowy za pomocą Google Speech API i Pythona: 4 kroki

Wideo: Rozpoznawanie mowy za pomocą Google Speech API i Pythona: 4 kroki

Wideo: Rozpoznawanie mowy za pomocą Google Speech API i Pythona: 4 kroki
Wideo: GTB - rozpoznawanie mowy 2024, Lipiec
Anonim
Rozpoznawanie mowy za pomocą Google Speech API i Pythona
Rozpoznawanie mowy za pomocą Google Speech API i Pythona

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

Macierz 4 mikrofonów USB ReSpeaker
Macierz 4 mikrofonów USB ReSpeaker
Macierz 4 mikrofonów USB ReSpeaker
Macierz 4 mikrofonów USB ReSpeaker
Macierz 4 mikrofonów USB ReSpeaker
Macierz 4 mikrofonów 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: