Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Rozpoznávanie reči
Rozpoznávanie reči je súčasťou spracovania prirodzeného jazyka, ktoré je podoborom umelej inteligencie. Zjednodušene povedané, rozpoznávanie reči je schopnosť počítačového softvéru identifikovať slová a frázy v hovorenom jazyku a previesť ich na text čitateľný pre ľudí. Používa sa v niekoľkých aplikáciách, ako sú systémy hlasového asistenta, domáca automatizácia, hlasové chatboty, robot interagujúci s hlasom, umelá inteligencia atď.
Na rozpoznávanie reči existujú rôzne rozhrania API (Application Programming Interface). Ponúkajú služby buď bezplatné alebo platené. Sú to tieto:
- CMU Sfinga
- Rozpoznávanie reči Google
- Google Cloud Speech API
- Wit.ai
- Rozpoznávanie hlasu Microsoft Bing
- Houndify API
- Reč IBM na text
- Detekcia kľúčových slov Snowboy
Tu budeme používať Rozpoznávanie reči Google, pretože nevyžaduje žiadny kľúč API. Tento tutoriál má poskytnúť úvod do toho, ako používať knižnicu rozpoznávania reči Google v Pythone pomocou externého mikrofónu, akým je napríklad ReSpeaker USB 4-Mic Array od Seeed Studio. Aj keď nie je povinné používať externý mikrofón, je možné použiť dokonca aj vstavaný mikrofón prenosného počítača.
Krok 1: ReSpeaker USB 4-Mic Array
ReSpeaker USB Mic je zariadenie so štyrmi mikrofónmi určené pre AI a hlasové aplikácie, ktoré bolo vyvinuté spoločnosťou Seeed Studio. Má 4 vysokovýkonné, vstavané všesmerové mikrofóny navrhnuté tak, aby zachytili váš hlas odkiaľkoľvek v miestnosti, a 12 programovateľných RGB LED indikátorov. Mikrofón ReSpeaker USB podporuje operačné systémy Linux, macOS a Windows. Podrobnosti nájdete tu.
Mikrofón ReSpeaker USB je dodávaný v peknom balení obsahujúcom nasledujúce položky:
- Užívateľská príručka
- Mikrofónne pole ReSpeaker USB
- Kábel micro USB na USB
Sme teda pripravení začať.
Krok 2: Nainštalujte požadované knižnice
V tomto návode budem predpokladať, že používate Python 3.x.
Nainštalujme si knižnice:
pip3 nainštalujte SpeechRecognition
V prípade systému macOS budete najskôr musieť nainštalovať PortAudio s Homebrew a potom nainštalovať PyAudio s pip3:
brew install portaudio
Na inštaláciu pyaudio spustíme príkaz
pip3 nainštalujte pyaudio
V systéme Linux môžete nainštalovať PyAudio pomocou apt:
sudo apt-get install python-pyaudio python3-pyaudio
V systéme Windows môžete nainštalovať PyAudio pomocou pip:
pip install pyaudio
Vytvorte nový súbor pythonu
nano get_index.py
Prilepte na útržok kódu get_index.py nižšie:
import pyaudio
p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') pre i v rozsahu (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i)get '))> 0: print ("ID vstupného zariadenia", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' name '))
Spustite nasledujúci príkaz:
python3 get_index.py
V mojom prípade príkaz poskytuje na obrazovku nasledujúci výstup:
Vstupné zariadenie s ID 1 - ReSpeaker 4 Mic Array (UAC1.0)
Input Device id 2 - MacBook Air Microphone
Zmeňte zariadenie_index na indexové číslo podľa vlastného výberu v nižšie uvedenom úryvku kódu.
importovať rozpoznávanie reči ako sr
r = sr. Recognizer () reč = sr. Mikrofón (device_index = 1) s rečou ako zdrojom: print („povedz niečo!…“) audio = r.adjust_for_ambient_noise (zdroj) audio = r.listen (zdroj) skús: rozpozn = r.recognize_google (audio, language = 'en-US') print ("Povedali ste:" + rozpoznanie) okrem sr. UnknownValueError: print ("Rozpoznávanie reči Google nemôže rozumieť zvuku") okrem sr. RequestError ako e: print („Nebolo možné požadovať výsledky od služby Google Speech Recognition; {0}“. Formát (e))
Index zariadenia bol zvolený 1, pretože hlavným zdrojom bude ReSpeaker 4 Mic Array.
Krok 3: Prevod textu na reč v Pythone s knižnicou Pyttsx3
V pythone je k dispozícii niekoľko rozhraní API na prevod textu na reč. Jedným z takýchto API je pyttsx3, čo je podľa mňa najlepší dostupný balík prevodu textu na reč. Tento balík funguje v systémoch Windows, Mac a Linux. V oficiálnej dokumentácii zistíte, ako sa to robí.
Inštalácia balíka Na inštaláciu balíka použite pip.
pip install pyttsx3
Ak ste v systéme Windows, budete potrebovať ďalší balík pypiwin32, ktorý bude potrebovať na prístup k natívnemu rozhraniu API systému Windows.
pip install pypiwin32
Python skript na prevod textu na reč Nasleduje útržok kódu na prevod textu na reč pomocou pyttsx3:
importovať pyttsx3
motor = pyttsx3.init ()
engine.setProperty ('rate', 150) # Percento rýchlosti
engine.setProperty ('hlasitosť', 0,9) # Zväzok 0-1
engine.say („Ahoj, svet!“)
engine.runAndWait ()
Krok 4: Spojenie všetkého: Budovanie rozpoznávania reči v Pythone pomocou rozhrania Google Speech Recognition API a knižnice Pyttsx3
Nasledujúci kód je zodpovedný za rozpoznávanie ľudskej reči pomocou rozpoznávania reči Google a za prevod textu na reč pomocou knižnice pyttsx3.
importovať rozpoznávanie reči ako sr
importovať modul pyttsx3 = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0,9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) with speech as source: audio = r.adjust_for_ambient_noise (zdroj) audio = r.listen (zdroj) skúste: Povedali ste: „ + rozpoznať) engine.runAndWait () okrem sr. UnknownValueError: engine.say („ Rozpoznávanie reči Google nerozumie zvuku “) engine.runAndWait () okrem sr. RequestError ako e: engine.say („ Nedá sa vyžiadať si výsledky od služby Google Speech Recognition; {0} . format (e)) engine.runAndWait ()
Vytlačí výstup na terminál. Tiež sa prevedie na reč.
Povedali ste: Londýn je hlavným mestom Veľkej Británie
Dúfam, že teraz lepšie porozumiete tomu, ako rozpoznávanie reči funguje vo všeobecnosti, a čo je najdôležitejšie, ako ho implementovať pomocou rozhrania Google Speech Recognition API s jazykom Python.
Ak máte akékoľvek otázky alebo pripomienky? Zanechajte komentár nižšie. Zostaňte naladení!