Satura rādītājs:

Runas atpazīšana, izmantojot Google runas API un Python: 4 soļi
Runas atpazīšana, izmantojot Google runas API un Python: 4 soļi

Video: Runas atpazīšana, izmantojot Google runas API un Python: 4 soļi

Video: Runas atpazīšana, izmantojot Google runas API un Python: 4 soļi
Video: How To Install Python, Setup Virtual Environment VENV, Set Default Python System Path & Install Git 2024, Decembris
Anonim
Runas atpazīšana, izmantojot Google Speech API un Python
Runas atpazīšana, izmantojot Google Speech API un Python

Runas atpazīšana

Runas atpazīšana ir daļa no dabiskās valodas apstrādes, kas ir mākslīgā intelekta apakšnozare. Vienkārši sakot, runas atpazīšana ir datora programmatūras spēja noteikt vārdus un frāzes runātajā valodā un pārvērst tos par cilvēkiem lasāmu tekstu. To izmanto vairākās lietojumprogrammās, piemēram, balss palīgu sistēmās, mājas automatizācijā, balss tērzēšanas robotos, balss mijiedarbojošos robotos, mākslīgajā intelektā utt.

Runas atpazīšanai ir dažādas API (lietojumprogrammu programmēšanas saskarne). Tie piedāvā bezmaksas vai maksas pakalpojumus. Šie ir:

  • CMU Sfinksa
  • Google runas atpazīšana
  • Google Cloud Speech API
  • Wit.ai
  • Microsoft Bing balss atpazīšana
  • Houndify API
  • IBM runas teksts
  • Sniega puiša karsto vārdu noteikšana

Šeit mēs izmantosim Google runas atpazīšanu, jo tai nav nepieciešama API atslēga. Šīs apmācības mērķis ir sniegt ievadu par to, kā lietot Google runas atpazīšanas bibliotēku Python, izmantojot ārēju mikrofonu, piemēram, ReSpeaker USB 4-Mic Array no Seeed Studio. Lai gan ārējā mikrofona izmantošana nav obligāta, var izmantot pat klēpjdatora iebūvēto mikrofonu.

1. darbība. 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 ir četrmikrofonu ierīce, kas paredzēta AI un balss lietojumprogrammām, un to izstrādāja Seeed Studio. Tam ir 4 augstas veiktspējas iebūvēti daudzvirzienu mikrofoni, kas paredzēti balss uztveršanai no jebkuras vietas telpā, un 12 programmējami RGB LED indikatori. ReSpeaker USB mikrofons atbalsta Linux, macOS un Windows operētājsistēmas. Sīkāka informācija atrodama šeit.

ReSpeaker USB mikrofons ir iekļauts jaukā iepakojumā, kurā ir šādi priekšmeti:

  • Lietotāja rokasgrāmata
  • ReSpeaker USB mikrofona masīvs
  • Mikro USB uz USB kabeli

Tāpēc mēs esam gatavi sākt.

2. darbība: instalējiet nepieciešamās bibliotēkas

Šajā apmācībā es pieņemu, ka izmantojat Python 3.x.

Instalēsim bibliotēkas:

pip3 instalēt SpeechRecognition

Operētājsistēmā macOS vispirms instalējiet PortAudio ar Homebrew un pēc tam instalējiet PyAudio ar pip3:

brūvēt instalēt portaudio

Mēs izpildām komandu zemāk, lai instalētu pyaudio

pip3 instalējiet pyaudio

Linux gadījumā PyAudio var instalēt ar apt:

sudo apt-get instalēt python-pyaudio python3-pyaudio

Operētājsistēmai Windows PyAudio var instalēt ar pip:

pip instalēt pyaudio

Izveidojiet jaunu python failu

nano get_index.py

Ielīmējiet uz get_index.py zem koda fragmenta:

importēt pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') i diapazonā (0, numdevices): ja (p.get_device_info_by_host_api_device_index (0, i).get ('maxInput '))> 0: print ("Ievades ierīces ID", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' nosaukums '))

Palaidiet šādu komandu:

python3 get_index.py

Manā gadījumā komanda ekrānā dod šādu izvadi:

Ievades ierīces ID 1 - ReSpeaker 4 Mic Array (UAC1.0)

Ievades ierīces ID 2 - MacBook Air mikrofons

Mainiet device_index uz indeksa numuru pēc jūsu izvēles zemāk esošajā koda fragmentā.

importēt runas atpazīšanu kā sr

r = s. Recognizer () runa = sr. Mikrofons (device_index = 1) ar runu kā avotu: drukāt ("pateikt kaut ko! …") audio = r.adjust_for_ambient_noise (avots) audio = r.listen (avots) mēģināt: recog = r.recognize_google (audio, language = 'lv-ASV') print ("Jūs teicāt:" + recog), izņemot sr. UnknownValueError: print ("Google runas atpazīšana nevarēja saprast audio"), izņemot sr. RequestError kā e: print ("Nevarēja pieprasīt rezultātus no Google runas atpazīšanas pakalpojuma; {0}". Formāts (e))

Ierīces indekss tika izvēlēts 1, jo ReSpeaker 4 Mic Array būs galvenais avots.

3. darbība. Teksta pārvēršana runā Python, izmantojot Pyttsx3 bibliotēku

Ir pieejamas vairākas API, lai python pārvērstu tekstu runā. Viena no šādām API ir pyttsx3, kas, manuprāt, ir labākā pieejamā teksta-runas pakotne. Šī pakotne darbojas operētājsistēmās Windows, Mac un Linux. Pārbaudiet oficiālo dokumentāciju, lai redzētu, kā tas tiek darīts.

Instalējiet paketi Izmantojiet pip, lai instalētu paketi.

pip instalēt pyttsx3

Ja izmantojat sistēmu Windows, jums būs nepieciešama papildu pakotne pypiwin32, kas tai būs nepieciešama, lai piekļūtu vietējai Windows runas API.

pip instalējiet pypiwin32

Teksta pārvēršana runas python skriptā Zemāk ir koda fragments tekstam runā, izmantojot pyttsx3:

importēt pyttsx3

dzinējs = pyttsx3.init ()

engine.setProperty ('likme', 150) # Ātruma procenti

engine.setProperty ('tilpums', 0,9) # Sējums 0-1

engine.say ("Sveika, pasaule!")

engine.runAndWait ()

4. solis: apvienojiet visu: izveidojiet runas atpazīšanu, izmantojot Python, izmantojot Google runas atpazīšanas API un Pyttsx3 bibliotēku

Zemāk esošais kods ir atbildīgs par cilvēka runas atpazīšanu, izmantojot Google runas atpazīšanu, un teksta pārvēršanu runā, izmantojot pyttsx3 bibliotēku.

importēt runas atpazīšanu kā sr

importēt pyttsx3 motoru = pyttsx3.init () engine.setProperty ('likme', 200) engine.setProperty ('tilpums', 0,9) r = sr.: audio = r.adjust_for_ambient_noise (avots) audio = r.listen (avots) try: recog = r.recognize_google (audio, language = 'en-US') print ("Jūs teicāt:" + recog) engine.say (" Jūs teicāt: " + recog) engine.runAndWait () izņemot sr. UnknownValueError: engine.say (" Google runas atpazīšana nevarēja saprast audio ") engine.runAndWait () izņemot sr. RequestError kā e: engine.say (" Nevarēja pieprasīt rezultātus no Google runas atpazīšanas pakalpojuma; {0} ". format (e)) engine.runAndWait ()

Tas izdrukā izvadi terminālī. Turklāt tas tiks pārvērsts arī runā.

Jūs teicāt: Londona ir Lielbritānijas galvaspilsēta

Es ceru, ka jums tagad ir labāka izpratne par runas atpazīšanas darbību kopumā un, pats galvenais, kā to ieviest, izmantojot Google runas atpazīšanas API kopā ar Python.

Ja jums ir kādi jautājumi vai atsauksmes? Atstājiet komentāru zemāk. Sekojiet līdzi!

Ieteicams: