Sisällysluettelo:

Puheentunnistus Google Speech API: n ja Pythonin avulla: 4 vaihetta
Puheentunnistus Google Speech API: n ja Pythonin avulla: 4 vaihetta

Video: Puheentunnistus Google Speech API: n ja Pythonin avulla: 4 vaihetta

Video: Puheentunnistus Google Speech API: n ja Pythonin avulla: 4 vaihetta
Video: Curious Beginnings | Critical Role: THE MIGHTY NEIN | Episode 1 2024, Marraskuu
Anonim
Puheentunnistus Google Speech API: n ja Pythonin avulla
Puheentunnistus Google Speech API: n ja Pythonin avulla

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 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 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: