Sisukord:

Kõnetuvastus Google Speech API ja Pythoni abil: 4 sammu
Kõnetuvastus Google Speech API ja Pythoni abil: 4 sammu

Video: Kõnetuvastus Google Speech API ja Pythoni abil: 4 sammu

Video: Kõnetuvastus Google Speech API ja Pythoni abil: 4 sammu
Video: MJC Stream: Видишь енота? А он есть! Главное об ML и компьютерном зрении 2024, November
Anonim
Kõnetuvastus Google Speech API ja Pythoni abil
Kõnetuvastus Google Speech API ja Pythoni abil

Kõnetuvastus

Kõnetuvastus on loomuliku keele töötlemise osa, mis on tehisintellekti alamvaldkond. Lihtsustatult öeldes on kõnetuvastus arvutitarkvara võime tuvastada kõnekeeles sõnu ja fraase ning teisendada need inimestele loetavaks tekstiks. Seda kasutatakse mitmetes rakendustes, nagu hääleabisüsteemid, koduautomaatika, häälpõhised vestlusrobotid, häälega interakteeruv robot, tehisintellekt jne.

Kõne tuvastamiseks on olemas erinevad API -d (Application Programming Interface). Nad pakuvad tasuta või tasulisi teenuseid. Need on:

  • CMU Sfinks
  • Google'i kõnetuvastus
  • Google'i pilvkõne API
  • Wit.ai
  • Microsoft Bingi häältuvastus
  • Houndify API
  • IBM -i kõne kõneks
  • Lumepoisi tegevussõna tuvastamine

Kasutame siin Google'i kõnetuvastust, kuna see ei nõua API -võtit. Selle õpetuse eesmärk on tutvustada, kuidas kasutada Google'i kõnetuvastusteeki Pythonis välise mikrofoni abil, näiteks SeeStuudi ReSpeaker USB 4-Mic Array. Kuigi välise mikrofoni kasutamine ei ole kohustuslik, saab kasutada isegi sülearvuti sisseehitatud mikrofoni.

Samm: ReSpeaker USB 4-Mic Array

ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array
ReSpeaker USB 4-Mic Array

ReSpeaker USB Mic on nelja mikrofoniga seade, mis on loodud tehisintellekti ja häälerakenduste jaoks ning mille töötas välja Seeed Studio. Sellel on 4 suure jõudlusega sisseehitatud universaalset mikrofoni, mis on mõeldud teie hääle vastuvõtmiseks kõikjal ruumis, ja 12 programmeeritavat RGB LED-indikaatorit. ReSpeaker USB -mikrofon toetab Linuxi, macOS -i ja Windowsi operatsioonisüsteeme. Üksikasjad leiate siit.

ReSpeaker USB Mic on kenas pakendis, mis sisaldab järgmisi esemeid:

  • Kasutusjuhend
  • ReSpeaker USB -mikrofoni massiiv
  • Mikro -USB -kaabel

Nii et oleme valmis alustama.

Samm: installige nõutavad teegid

Selle õpetuse jaoks eeldan, et kasutate Python 3.x.

Paigaldame raamatukogud:

pip3 installige kõnetuvastus

MacOS -i jaoks peate esmalt installima PortAudio koos Homebrew'iga ja seejärel installima PyAudio koos pip3 -ga:

pruulige install portaudio

Pyaudio installimiseks käivitame allpool käsu

pip3 install pyaudio

Linuxi jaoks saate PyAudio installida koos apt:

sudo apt-get install python-pyaudio python3-pyaudio

Windowsi jaoks saate PyAudio installida pip abil:

pip install pyaudio

Looge uus pythoni fail

nano get_index.py

Kleepige koodilõigu alla get_index.py:

impordi pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') i jaoks vahemikus (0, arvseadmed): if (p.get_device_info_by_host_api_device_index (0, i).get ('maxInput '))> 0: print ("Sisendseadme ID", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' nimi '))

Käivitage järgmine käsk:

python3 get_index.py

Minu puhul annab käsk ekraanile järgmise väljundi:

Sisendseadme ID 1 - ReSpeaker 4 Mic Array (UAC1.0)

Sisendseadme ID 2 - MacBook Airi mikrofon

Muutke seadme_indeks indeksnumbriks vastavalt oma valikule allolevas koodilõigus.

importi kõnetuvastust kui sr

r = sr. äratundja () kõne = sr. mikrofon (seadme_indeks = 1), mille allikas on kõne: print ("ütle midagi! …") audio = r.adjust_for_ambient_noise (allikas) audio = r.listen (allikas) try: recog = r.recognize_google (audio, language = 'en-US') print ("Sa ütlesid:" + tunnista), välja arvatud sr. UnknownValueError: print ("Google'i kõnetuvastus ei saanud heliga aru"), välja arvatud sr. RequestError nagu e: print ("Ei saanud Google'i kõnetuvastusteenusest tulemusi küsida; {0}". Vorming (e))

Seadmeindeks valiti 1, kuna peamine allikas on ReSpeaker 4 Mic Array.

3. samm: tekst kõneks Pythonis koos Pyttsx3 koguga

Pythonis teksti kõneks teisendamiseks on saadaval mitmeid API -sid. Üks sellistest API-dest on pyttsx3, mis on minu arvates parim saadaolev tekst kõneks pakett. See pakett töötab Windowsis, Macis ja Linuxis. Vaadake ametlikku dokumentatsiooni, et näha, kuidas seda tehakse.

Paketi installimiseks kasutage paketti pip.

pip install pyttsx3

Kui kasutate Windowsi, vajate lisapaketti pypiwin32, mis vajab juurdepääsu Windowsi kohalikule kõne API -le.

pip installi pypiwin32

Teisendage tekst kõneks pythoni skriptiks Allpool on koodilõik teksti muutmiseks kõneks pyttsx3 abil:

impordi pyttsx3

mootor = pyttsx3.init ()

engine.setProperty ('määr', 150) # Kiiruse protsent

engine.setProperty ('maht', 0,9) # Köide 0-1

engine.say ("Tere, maailm!")

engine.runAndWait ()

Samm 4: kõik kokku panemine: kõnetuvastuse loomine Pythoni abil, kasutades Google'i kõnetuvastuse API -d ja Pyttsx3 raamatukogu

Allolev kood vastutab inimkõne tuvastamise eest Google'i kõnetuvastuse abil ja teksti teisendamise kõneks pyttsx3 raamatukogu abil.

importi kõnetuvastust kui sr

import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0,9) r = sr. Recognizer () kõne = sr. Mikrofon (device_index = 1), mille allikas on kõne: audio = r.adjust_for_ambient_noise (allikas) audio = r.listen (allikas) try: recog = r.recognize_google (audio, language = 'en-US') print ("Sa ütlesid:" + recog) engine.say (" Ütlesite: " + Recog) engine.runAndWait (), välja arvatud sr. UnknownValueError: engine.say (" Google'i kõnetuvastus ei saanud heli aru ") engine.runAndWait () välja arvatud sr. RequestError nagu e: engine.say (" Ei saanud küsida tulemusi Google'i kõnetuvastusteenusest; {0} ". format (e)) engine.runAndWait ()

See prindib väljundi terminalile. Samuti muudetakse see kõneks.

Ütlesite: London on Suurbritannia pealinn

Loodan, et teil on nüüd parem arusaam kõnetuvastuse toimimisest üldiselt ja mis kõige tähtsam - kuidas seda rakendada, kasutades Pythoniga Google'i kõnetuvastuse API -d.

Kui teil on küsimusi või tagasisidet? Jäta kommentaar allpool. Püsige lainel!

Soovitan: