Talaan ng mga Nilalaman:

Pagkilala sa pagsasalita Gamit ang Google Speech API at Python: 4 na Hakbang
Pagkilala sa pagsasalita Gamit ang Google Speech API at Python: 4 na Hakbang

Video: Pagkilala sa pagsasalita Gamit ang Google Speech API at Python: 4 na Hakbang

Video: Pagkilala sa pagsasalita Gamit ang Google Speech API at Python: 4 na Hakbang
Video: Ang trabaho ko ay pagmamasid sa kagubatan at may kakaibang nangyayari dito. 2024, Disyembre
Anonim
Pagkilala sa pagsasalita Gamit ang Google Speech API at Python
Pagkilala sa pagsasalita Gamit ang Google Speech API at Python

Pagkilala sa pagsasalita

Ang Pagkilala sa pagsasalita ay isang bahagi ng Pagproseso ng Likas na Wika na isang subfield ng Artipisyal na Katalinuhan. Sa madaling sabi, ang pagkilala sa pagsasalita ay ang kakayahan ng isang computer software na kilalanin ang mga salita at parirala sa sinasalitang wika at i-convert ang mga ito sa tekstong nababasa ng tao. Ginagamit ito sa maraming mga application tulad ng mga system ng katulong sa boses, pag-aautomat sa bahay, chatbots batay sa boses, robot na nakikipag-ugnay sa boses, artipisyal na intelihensiya atbp.

Mayroong iba't ibang mga API (Application Programming Interface) para sa pagkilala sa pagsasalita. Nag-aalok sila ng mga serbisyo alinman libre o bayad. Ito ang:

  • CMU Sphinx
  • Pagkilala sa Google Speech
  • Google Cloud Speech API
  • Wit.ai
  • Pagkilala sa Microsoft Bing Voice
  • Houndify API
  • IBM Speech To Text
  • Pagtuklas ng Snowboy Hotword

Gagamitin namin ang Pagkilala sa Google Speech dito, dahil hindi ito nangangailangan ng anumang key ng API. Nilalayon ng tutorial na ito na magbigay ng isang panimula sa kung paano gamitin ang library ng pagkilala ng Google Speech sa Python sa tulong ng panlabas na mikropono tulad ng ReSpeaker USB 4-Mic Array mula sa Seeed Studio. Bagaman hindi sapilitan ang paggamit ng panlabas na mikropono, kahit na ang built-in na mikropono ng laptop ay maaaring magamit.

Hakbang 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

Ang ReSpeaker USB Mic ay isang aparatong quad-microphone na dinisenyo para sa mga aplikasyon ng AI at boses, na binuo ng Seeed Studio. Mayroon itong 4 mataas na pagganap, built-in na omnidirectional microphones na idinisenyo upang kunin ang iyong boses mula sa kahit saan sa silid at 12 maipaprograma na mga tagapagpahiwatig ng RGB LED. Sinusuportahan ng ReSpeaker USB mic ang mga operating system ng Linux, macOS, at Windows. Ang mga detalye ay matatagpuan dito.

Ang ReSpeaker USB Mic ay may magandang pakete na naglalaman ng mga sumusunod na item:

  • Isang gabay ng gumagamit
  • ReSpeaker USB Mic Array
  • Micro USB sa USB Cable

Kaya handa na kaming magsimula.

Hakbang 2: I-install ang Kinakailangan na Mga Aklatan

Para sa tutorial na ito, ipagpapalagay ko na gumagamit ka ng Python 3.x.

I-install natin ang mga aklatan:

pip3 i-install ang SpeechRecognition

Para sa macOS, kailangan mo munang i-install ang PortAudio sa Homebrew, at pagkatapos ay i-install ang PyAudio sa pip3:

magluto maglagay ng portaudio

Nagpapatakbo kami sa ibaba ng utos upang mai-install ang pyaudio

pip3 i-install ang pyaudio

Para sa Linux, maaari mong i-install ang PyAudio nang may apt:

sudo apt-get install python-pyaudio python3-pyaudio

Para sa Windows, maaari mong i-install ang PyAudio sa pip:

pip install pyaudio

Lumikha ng isang bagong file ng sawa

nano get_index.py

I-paste sa get_index.py sa ibaba ng snippet ng code:

i-import ang pyaudio

p = pyaudio. PyAudio () info = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') para sa i sa saklaw (0, numdevices): kung (p.get_device_info_by_host_api_device_index (0, i).get ('maxInput '))> 0: print ("Input Device id", i, "-", p.get_device_info_by_host_api_device_index (0, i).get (' name '))

Patakbuhin ang sumusunod na utos:

python3 get_index.py

Sa aking kaso, nagbibigay ang utos ng sumusunod na output sa screen:

Input Device id 1 - ReSpeaker 4 Mic Array (UAC1.0)

Input Device id 2 - MacBook Air Microphone

Baguhin ang device_index sa index number ayon sa iyong napili sa ibaba ng code na snippet.

i-import ang speech_recognition bilang sr

r = sr. Recognizer () pagsasalita = sr. Microphone (aparato_index = 1) na may pagsasalita bilang mapagkukunan: i-print ("say something!…") audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) subukan: recog = r.recognize_google (audio, wika = 'en-US') print ("Sinabi mo:" + recog) maliban sr. UnknownValueError: print ("Hindi maunawaan ng Google Speech Recognition ang audio") maliban sr. RequestError bilang e: print ("Hindi humiling ng mga resulta mula sa serbisyo ng Pagkilala sa Google Speech; {0}". Format (e))

Napili ang index ng aparato 1 dahil sa ReSpeaker 4 Mic Array ay magiging isang pangunahing mapagkukunan.

Hakbang 3: Text-to-speech sa Python With Pyttsx3 Library

Mayroong maraming mga API na magagamit upang mai-convert ang teksto sa pagsasalita sa sawa. Ang isa sa mga naturang API ay ang pyttsx3, na kung saan ay ang pinakamahusay na magagamit na text-to-speech package sa aking palagay. Gumagana ang package na ito sa Windows, Mac, at Linux. Suriin ang opisyal na dokumentasyon upang makita kung paano ito tapos.

I-install ang packageUse pip upang mai-install ang package.

pip install pyttsx3

Kung nasa Windows ka, kakailanganin mo ng isang karagdagang pakete, pypiwin32 kung saan kakailanganin nito upang ma-access ang katutubong Windows speech API.

pip install pypiwin32

I-convert ang teksto sa script na python ng pagsasalita Sa ibaba ay ang code na snippet para sa teksto sa pagsasalita gamit ang pyttsx3:

i-import ang pyttsx3

engine = pyttsx3.init ()

engine.setProperty ('rate', 150) # Bilis ng porsyento

engine.setProperty ('volume', 0.9) # Volume 0-1

engine.say ("Kumusta, mundo!")

engine.runAndWait ()

Hakbang 4: Pagsasama-sama sa Lahat: Pagbuo ng Pagkilala sa pagsasalita Sa Python Gamit ang Google Speech Recognition API at Pyttsx3 Library

Ang code sa ibaba ay responsable para sa pagkilala sa pagsasalita ng tao gamit ang Google Speech Recognition, at pag-convert ng teksto sa pagsasalita gamit ang pyttsx3 library.

i-import ang speech_recognition bilang sr

import pyttsx3 engine = pyttsx3.init () engine.setProperty ('rate', 200) engine.setProperty ('volume', 0.9) r = sr. Recognizer () pagsasalita = sr. Microphone (device_index = 1) na may pagsasalita bilang mapagkukunan: audio = r.adjust_for_ambient_noise (source) audio = r.listen (source) try: recog = r.recognize_google (audio, language = 'en-US') print ("Sinabi mo:" + recog) engine.say (" Sinabi mo: "+ recog) engine.runAndWait () maliban sr. UnknownValueError: engine.say (" Hindi maintindihan ng Google Speech Recognition ang audio ") engine.runAndWait () maliban sr. RequestError bilang e: engine.say (" Hindi humiling ng mga resulta mula sa serbisyo ng Pagkilala sa Google Speech; {0} ". format (e)) engine.runAndWait ()

Nagpi-print ito ng output sa terminal. Gayundin, ito ay gagawing pagsasalita rin.

Sinabi mo: Ang London ay ang kabisera ng Great Britain

Inaasahan kong mayroon kang mas mahusay na pag-unawa sa kung paano gumagana ang pagkilala sa pagsasalita sa pangkalahatan at pinakamahalaga, kung paano ipatupad iyon gamit ang Google Speech Recognition API sa Python.

Kung mayroon kang anumang mga katanungan o puna? Mag-iwan ng komento sa ibaba. Manatiling nakatutok!

Inirerekumendang: