Sisällysluettelo:
- Vaihe 1: ReSpeaker USB 4-Mic Array
- Vaihe 2: Asenna tarvittavat kirjastot
- Vaihe 3: Teksti puheeksi Pythonissa Pyttsx3-kirjaston avulla
- Vaihe 4: Yhdistä kaikki: puheentunnistuksen luominen Pythonilla käyttämällä Googlen puheentunnistusliittymää ja Pyttsx3 -kirjastoa
Video: Puheentunnistus Google Speech API: n ja Pythonin avulla: 4 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Puheentunnistus
Puheentunnistus on osa luonnollista kielenkäsittelyä, joka on tekoälyn osa -alue. Yksinkertaisesti sanottuna puheentunnistus on tietokoneohjelmiston kyky tunnistaa puhutun kielen sanat ja lauseet ja muuntaa ne ihmisen luettavaksi tekstiksi. Sitä käytetään useissa sovelluksissa, kuten ääniavustajajärjestelmissä, kodin automaatiossa, äänipohjaisissa chatboteissa, puhevaikutteisessa robotissa, tekoälyssä jne.
On olemassa erilaisia sovellusliittymiä (Application Programming Interface) puheen tunnistamiseen. Ne tarjoavat palveluja joko maksutta tai maksutta. Nämä ovat:
- CMU Sphinx
- Googlen puheentunnistus
- Google Cloud Speech -sovellusliittymä
- Wit.ai
- Microsoft Bingin äänentunnistus
- Houndify API
- IBM: n puhe tekstiksi
- Lumipojan hotword -tunnistus
Käytämme täällä Googlen puheentunnistusta, koska se ei vaadi sovellusliittymäavainta. Tämän opetusohjelman tarkoituksena on antaa johdanto siitä, miten Google-puheentunnistuskirjastoa käytetään Pythonissa ulkoisen mikrofonin avulla, kuten Seeed Studion ReSpeaker USB 4-Mic Array. Vaikka ulkoisen mikrofonin käyttäminen ei ole pakollista, voidaan käyttää jopa kannettavan tietokoneen sisäänrakennettua mikrofonia.
Vaihe 1: ReSpeaker USB 4-Mic Array
ReSpeaker USB Mic on Seeed Studion kehittämä, tekoäly- ja äänisovelluksiin suunniteltu nelimikrofonilaite. Siinä on 4 korkean suorituskyvyn sisäänrakennettua monisuuntaista mikrofonia, jotka on suunniteltu vastaanottamaan äänesi mistä tahansa huoneesta, ja 12 ohjelmoitavaa RGB-LED-ilmaisinta. ReSpeaker USB -mikrofoni tukee Linux-, macOS- ja Windows -käyttöjärjestelmiä. Yksityiskohdat löytyvät täältä.
ReSpeaker USB Mic on mukava paketti, joka sisältää seuraavat kohteet:
- Käyttöopas
- ReSpeaker USB Mic Array
- Micro -USB -USB -kaapeli
Joten olemme valmiita aloittamaan.
Vaihe 2: Asenna tarvittavat kirjastot
Tässä opetusohjelmassa oletan, että käytät Python 3.x.
Asennetaan kirjastot:
pip3 asenna SpeechRecognition
MacOS: ssa sinun on ensin asennettava PortAudio ja Homebrew ja sitten PyAudio ja pip3:
hauduta asenna portaudio
Suoritamme alla olevan komennon asentaaksesi pyaudio
pip3 asenna pyaudio
Linuxissa voit asentaa PyAudion apt:
sudo apt-get install python-pyaudio python3-pyaudio
Windowsissa voit asentaa PyAudion pip:
pip asenna pyaudio
Luo uusi python -tiedosto
nano get_index.py
Liitä alla olevaan koodinpätkään get_index.py:
tuoda pyaudio
p = pyaudio. '))> 0: print ("Syöttölaitteen tunnus", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' nimi '))
Suorita seuraava komento:
python3 get_index.py
Minun tapauksessani komento antaa seuraavan tuloksen näytölle:
Syöttölaitteen tunnus 1 - ReSpeaker 4 Mic Array (UAC1.0)
Syöttölaitteen tunnus 2 - MacBook Air -mikrofoni
Muuta device_index indeksinumeroksi valintasi mukaan alla olevassa koodinpätkässä.
tuo puheen_tunnistus nimellä sr
r = sr. Recognizer () puhe = sr. Mikrofoni (device_index = 1) ja puhe lähteenä: print ("sano jotain!…") audio = r.adjust_for_ambient_noise (lähde) audio = r.listen (lähde) try: recog = r.recognize_google (audio, language = 'en-US') print ("Sanoit:" + tunnistus) paitsi sr. UnknownValueError: print ("Google-puheentunnistus ei voinut ymmärtää ääntä") paitsi sr. RequestError kuten e: print ("Ei voitu pyytää tuloksia Googlen puheentunnistuspalvelusta; {0}". Muoto (e))
Laiteindeksi valittiin 1, koska ReSpeaker 4 Mic Array on päälähde.
Vaihe 3: Teksti puheeksi Pythonissa Pyttsx3-kirjaston avulla
Käytettävissä on useita sovellusliittymiä tekstin muuttamiseksi puheeksi pythonissa. Yksi tällaisista sovellusliittymistä on pyttsx3, joka on mielestäni paras käytettävissä oleva teksti puheeksi -paketti. Tämä paketti toimii Windowsissa, Macissa ja Linuxissa. Tarkista virallisesta dokumentaatiosta, miten tämä tehdään.
Asenna paketti Asenna paketti pipillä.
pip asenna pyttsx3
Jos käytät Windowsia, tarvitset lisäpaketin, pypiwin32, jonka se tarvitsee käyttääkseen Windows -puheliittymää.
pip asenna pypiwin32
Muunna teksti puheeksi python -skripti Alla on koodinpätkä tekstistä puheeksi pyttsx3: lla:
Tuo pyttsx3
moottori = pyttsx3.init ()
engine.setProperty ('rate', 150) # Nopeusprosentti
engine.setProperty ('tilavuus', 0,9) # Äänenvoimakkuus 0-1
engine.say ("Hei, maailma!")
engine.runAndWait ()
Vaihe 4: Yhdistä kaikki: puheentunnistuksen luominen Pythonilla käyttämällä Googlen puheentunnistusliittymää ja Pyttsx3 -kirjastoa
Alla oleva koodi vastaa ihmisen puheen tunnistamisesta Googlen puheentunnistuksen avulla ja tekstin muuntamisesta puheeksi pyttsx3 -kirjaston avulla.
tuo puheen_tunnistus nimellä sr
Tuo pyttsx3 moottori = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () puhe = sr. Mikrofoni (device_index = 1) puheena lähteenä: audio = r.adjust_for_ambient_noise (lähde) audio = r.listen (lähde) try: recog = r.recognize_google (audio, language = 'en-US') print ("Sanoit:" + recog) engine.say (" Sanoit: " + tunnista) engine.runAndWait () paitsi sr. UnknownValueError: engine.say (" Google -puheentunnistus ei voi ymmärtää ääntä ") engine.runAndWait () paitsi sr. RequestError kuten e: engine.say (" Ei voinut pyytää tuloksia Googlen puheentunnistuspalvelusta; {0} ". format (e)) engine.runAndWait ()
Se tulostaa tuloksen päätelaitteeseen. Lisäksi se muunnetaan puheeksi.
Sanoit: Lontoo on Ison -Britannian pääkaupunki
Toivon, että ymmärrät nyt paremmin, miten puheentunnistus toimii yleensä ja mikä tärkeintä, miten se toteutetaan käyttämällä Google -puheentunnistusliittymää Pythonin kanssa.
Jos sinulla on kysyttävää tai palautetta? Jätä kommentti alle. Pysy kanavalla!
Suositeltava:
Muiden kuin englanninkielisten näppäimistöasettelujen oppiminen Pythonin avulla: 8 vaihetta
Pythonin käyttö muiden kuin englanninkielisten näppäimistöasettelujen oppimiseen: Hei, olen Julien! Olen tietojenkäsittelytieteen opiskelija ja näytän tänään, kuinka voit käyttää Pythonia opettaaksesi itsellesi muun kuin englannin kielen näppäimistöasettelun. Nykyään paljon kielten oppimista tapahtuu verkossa, ja yksi asia, johon ihmiset voivat vastata
Puheentunnistus Arduinolla (Bluetooth + LCD + Android): 6 vaihetta
Puheentunnistus Arduinolla (Bluetooth + LCD + Android): Tässä projektissa aiomme tehdä puheentunnistuksen Arduinon, Bluetooth-moduulin (HC-05) ja LCD: n avulla. rakennetaan oma puheentunnistuslaitteesi
Suuntautumisen opiskelu Raspberry Pi: n ja MXC6226XU: n avulla Pythonin avulla: 6 vaihetta
Suuntautumisen opiskelu Raspberry Pi: n ja MXC6226XU: n avulla Pythonin avulla: Äänet ovat yksinkertaisesti osa ajoneuvon työskentelyä. Hyvin viritetyn ajoneuvomoottorin humina on upea ääni. Renkaiden kulutuspinnat nurisevat tietä vasten, tuuli huutaa peilien, muovikappaleiden ja kojelaudan kappaleiden ympäri
Kiihtyvyyden seuranta Raspberry Pi: n ja AIS328DQTR: n avulla Pythonin avulla: 6 vaihetta
Kiihtyvyyden seuranta Raspberry Pi: n ja AIS328DQTR: n avulla Pythonin avulla: Kiihtyvyys on rajallinen, mielestäni joidenkin fysiikan lakien mukaan.- Terry Riley Gepardi käyttää hämmästyttävää kiihtyvyyttä ja nopeita nopeuden muutoksia jahtaessaan. Nopein olento rannalla silloin tällöin käyttää huipputahdiaan saaliin saamiseen
Kiihtyvyyden vaihtelujen seuranta Raspberry Pi: n ja MMA7455: n avulla Pythonin avulla: 6 vaihetta
Kiihtyvyyden vaihtelujen seuranta Raspberry Pi: n ja MMA7455: n avulla Pythonin avulla: En kompastunut, testasin painovoimaa. Se toimii edelleen … Esitys kiihtyvästä avaruussukkulastä selvensi, että sukkulan korkeimmassa kohdassa oleva kello valitsee nopeammin kuin tukikohdan painovoima -ajan laajenemisen vuoksi. Jonkin verran