INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Spraakherkenning
Spraakherkenning is 'n deel van Natural Language Processing, wat 'n subveld van kunsmatige intelligensie is. Om dit eenvoudig te stel, spraakherkenning is die vermoë van 'n rekenaarprogrammatuur om woorde en frases in gesproke taal te identifiseer en om te skakel in menslike leesbare teks. Dit word gebruik in verskillende toepassings, soos stemassistentstelsels, tuisautomatisering, stemgebaseerde chatbots, stem -interaksie -robot, kunsmatige intelligensie, ens.
Daar is verskillende API's (Application Programming Interface) om spraak te herken. Hulle bied gratis of betaalde dienste aan. Hierdie is:
- CMU Sfinx
- Spraakherkenning deur Google
- Google Cloud Speech API
- Wit.ai
- Microsoft Bing -stemherkenning
- Houndify API
- IBM spraak tot teks
- Snowboy Hotword Detection
Ons sal Google spraakherkenning hier gebruik, aangesien dit geen API -sleutel benodig nie. Hierdie handleiding is daarop gemik om 'n inleiding te gee oor hoe u die Google Speech Recognition-biblioteek op Python kan gebruik met behulp van 'n eksterne mikrofoon, soos ReSpeaker USB 4-Mic Array van Seeed Studio. Alhoewel dit nie verpligtend is om 'n eksterne mikrofoon te gebruik nie, kan selfs 'n ingeboude mikrofoon van 'n skootrekenaar gebruik word.
Stap 1: ReSpeaker USB 4-Mic Array
Die ReSpeaker USB Mic is 'n viermikrofoon-toestel wat ontwerp is vir AI- en spraaktoepassings, wat deur Seeed Studio ontwikkel is. Dit het 4 hoëprestasie, ingeboude omnidirectionele mikrofone wat ontwerp is om u stem vanaf enige plek in die kamer op te neem en 12 programmeerbare RGB LED-aanwysers. Die ReSpeaker USB -mikrofoon ondersteun Linux-, macOS- en Windows -bedryfstelsels. Besonderhede kan hier gevind word.
Die ReSpeaker USB Mic kom in 'n mooi pakket met die volgende items:
- 'N Gebruikersgids
- ReSpeaker USB -mikrofoonreeks
- Mikro -USB na USB -kabel
Ons is dus gereed om te begin.
Stap 2: Installeer vereiste biblioteke
Vir hierdie tutoriaal neem ek aan dat u Python 3.x gebruik.
Kom ons installeer die biblioteke:
pip3 installeer SpeechRecognition
Vir macOS moet u eers PortAudio met Homebrew installeer en dan PyAudio met pip3 installeer:
brou installeer portaudio
Ons loop onder die opdrag om pyaudio te installeer
pip3 installeer pyaudio
Vir Linux kan u PyAudio installeer met apt:
sudo apt-get install python-pyaudio python3-pyaudio
Vir Windows kan u PyAudio met pip installeer:
pip installeer pyaudio
Skep 'n nuwe python -lêer
nano get_index.py
Plak op get_index.py onder die kodefragment:
invoer pyaudio
p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') vir i in range (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i). '))> 0: druk ("Invoertoestel -ID", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' naam '))
Voer die volgende opdrag uit:
python3 get_index.py
In my geval gee die opdrag die volgende uitvoer na die skerm:
Invoertoestel -ID 1 - ReSpeaker 4 Mic Array (UAC1.0)
Invoertoestel -ID 2 - MacBook Air -mikrofoon
Verander device_index na indeksnommer volgens u keuse in die onderstaande kodefragment.
voer spraakherkenning in as sr
r = sr. Recognizer () speech = sr. Microphone (device_index = 1) met toespraak as bron: druk ("sê iets! …") audio = r.adjust_for_ambient_noise (bron) audio = r.listen (bron) probeer: herhaal = r.recognize_google (klank, taal = 'en-US') druk ("U het gesê:" + herken) behalwe sr. UnknownValueError: print ("Google spraakherkenning kon nie klank verstaan nie") behalwe sr. RequestError as e: print ("Kon nie resultate van Google Spraakherkenningsdiens aanvra nie; {0}". Formaat (e))
Toestelindeks is 1 gekies as gevolg van ReSpeaker 4 Mic Array sal die hoofbron wees.
Stap 3: Teks-na-spraak in Python With Pyttsx3 Library
Daar is verskeie API's beskikbaar om teks na spraak in python om te skakel. Een van sulke API's is die pyttsx3, wat na my mening die beste teks-na-spraak pakket is. Hierdie pakket werk in Windows, Mac en Linux. Gaan die amptelike dokumentasie na om te sien hoe dit gedoen word.
Installeer die pakket Gebruik die pip om die pakket te installeer.
pip installeer pyttsx3
As u in Windows is, benodig u 'n ekstra pakket, pypiwin32, wat u benodig om toegang te verkry tot die inheemse Windows -spraak -API.
pip installeer pypiwin32
Skakel teks na spraak python script Hieronder is die kodefragment vir teks na spraak met behulp van pyttsx3:
voer pyttsx3 in
enjin = pyttsx3.init ()
engine.setProperty ('koers', 150) # Spoedpersentasie
engine.setProperty ('volume', 0,9) # Volume 0-1
engine.say ("Hallo, wêreld!")
engine.runAndWait ()
Stap 4: Alles saamvoeg: Spraakherkenning bou met Python met behulp van Google Speech Recognition API en Pyttsx3 Library
Die onderstaande kode is verantwoordelik vir die herkenning van menslike spraak met behulp van Google spraakherkenning en die omskakeling van die teks in spraak met behulp van die pyttsx3 -biblioteek.
voer spraakherkenning in as sr
invoer pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () speech = sr. Microphone (device_index = 1) met spraak as bron: audio = r.adjust_for_ambient_noise (bron) audio = r.listen (bron) probeer: recog = r.recognize_google (klank, taal = 'en-US') druk ("Jy het gesê:" + herken) engine.say (" U het gesê: " + herken) engine.runAndWait () behalwe sr. UnknownValueError: engine.say (" Google spraakherkenning kon nie klank verstaan nie ") engine.runAndWait () behalwe sr. RequestError as e: engine.say (" Kon nie versoek resultate van Google Spraakherkenningsdiens; {0} ". formaat (e)) engine.runAndWait ()
Dit druk die uitvoer op die terminaal uit. Dit sal ook in spraak omskep word.
U het gesê: Londen is die hoofstad van Groot -Brittanje
Ek hoop dat u nou 'n beter begrip het van hoe spraakherkenning in die algemeen werk, en die belangrikste is hoe u dit kan implementeer met behulp van Google Speech Recognition API met Python.
As u enige vrae of terugvoer het? Gee 'n opmerking hieronder. Bly ingeskakel!