Мазмуну:

Google Speech API жана Python аркылуу сүйлөөнү таануу: 4 кадам
Google Speech API жана Python аркылуу сүйлөөнү таануу: 4 кадам

Video: Google Speech API жана Python аркылуу сүйлөөнү таануу: 4 кадам

Video: Google Speech API жана Python аркылуу сүйлөөнү таануу: 4 кадам
Video: Google Colab - Searching for News with Python! 2024, Ноябрь
Anonim
Google Speech API жана Python аркылуу сүйлөөнү таануу
Google Speech API жана Python аркылуу сүйлөөнү таануу

Кеп таануу

Сүйлөөнү таануу Жасалма интеллектин субфилдики болгон Табигый Тилди Иштетүүнүн бир бөлүгү. Жөнөкөй сөз менен айтканда, сүйлөөнү таануу - бул компьютердик программалардын сүйлөө тилиндеги сөздөрдү жана фразаларды аныктоо жана аларды адам окуй турган текстке айландыруу жөндөмү. Ал үн жардамчы системалары, үйдү автоматташтыруу, үнгө негизделген чатботтор, үн менен иштөөчү робот, жасалма интеллект ж.

Кепти таануу үчүн ар кандай API (Application Programming Interface) бар. Алар акысыз же акы төлөнүүчү кызматтарды сунушташат. Булар:

  • CMU Sphinx
  • Google Кеп Таануу
  • Google Cloud Speech API
  • Wit.ai
  • Microsoft Bing үн таануу
  • Houndify API
  • IBM текстке сүйлөө
  • Snowboy Hotword Detection

Биз бул жерде Google Speech Recognition колдонобуз, анткени ал эч кандай API ачкычын талап кылбайт. Бул окуу куралы, Seeed Studioдогу ReSpeaker USB 4-Mic Array сыяктуу тышкы микрофондун жардамы менен Pythonдогу Google Speech Recognition китепканасын кантип колдонуу керектигин көрсөтүүнү көздөйт. Сырткы микрофонду колдонуу милдеттүү болбосо да, ноутбуктун микрофонун да колдонсо болот.

1-кадам: ReSpeaker USB 4-Mic Array

ReSpeaker USB 4-Мик массиви
ReSpeaker USB 4-Мик массиви
ReSpeaker USB 4-Мик массиви
ReSpeaker USB 4-Мик массиви
ReSpeaker USB 4-Мик массиви
ReSpeaker USB 4-Мик массиви

ReSpeaker USB Mic-бул Seeed Studio тарабынан иштелип чыккан AI жана үн тиркемелери үчүн иштелип чыккан төрт микрофон түзмөгү. Ал 4 жогорку өндүрүмдүүлүккө ээ, бөлмөнүн каалаган жеринен үнүңүздү алуу үчүн иштелип чыккан көп багыттуу микрофондорго жана 12 программалоочу RGB LED индикаторуна ээ. ReSpeaker USB микрофону Linux, macOS жана Windows операциялык тутумдарын колдойт. Чоо -жайын бул жерден тапса болот.

ReSpeaker USB Mic төмөнкү элементтерди камтыган жакшы пакетте келет:

  • Колдонуучу көрсөтмөсү
  • ReSpeaker USB Mic Array
  • Микро USBден USB кабелине

Ошентип, биз баштоого даярбыз.

2 -кадам: Керектүү китепканаларды орнотуңуз

Бул окуу куралы үчүн мен Python 3.x колдонуп жатам деп ойлойм.

Китепканаларды орнотолу:

pip3 SpeechRecognition орнотуу

MacOS үчүн, адегенде PortAudio программасын Homebrew менен, анан PyAudioду pip3 менен орнотушуңуз керек болот:

portaudio орнотуу

Биз pyaudio орнотуу үчүн төмөнкү буйрукту иштетебиз

pip3 pyaudio орнотуу

Linux үчүн, PyAudio'ду apt менен орното аласыз:

sudo apt-get python-pyaudio python3-pyaudio орнотуңуз

Windows үчүн PyAudio пип менен орното аласыз:

пяудиону орнотуу

Жаңы python файлын түзүңүз

nano get_index.py

Get_index.pyге коддун үзүндүсүн чаптаңыз:

pyaudio импорттоо

p = pyaudio. PyAudio () маалымат = p.get_host_api_info_by_index (0) numdevices = info.get ('deviceCount') i үчүн диапазондо (0, numdevices): if (p.get_device_info_by_host_api_device_index (0, i).get (n, i) '))> 0: басып чыгаруу ("Input Device id", i, " -", p.get_device_info_by_host_api_device_index (0, i).get (' name '))

Төмөнкү буйрукту аткарыңыз:

python3 get_index.py

Менин учурда, команда экранга төмөнкү чыгарууну берет:

Киргизүү түзмөгүнүн id 1 - ReSpeaker 4 Mic Array (UAC1.0)

Киргизүү түзмөгүнүн id 2 - MacBook Air микрофону

Device_indexти индекстин номерине төмөнкү коддун үзүндүсүндө тандооңуз боюнча өзгөртүңүз.

speech_recognition sr катары импорттоо

r = sr. Recognizer () сүйлөө = sr. Микрофон (device_index = 1) булак катары сүйлөө менен: басып чыгаруу ("бир нерсе айт! …") аудио = r.adjust_for_ambient_noise (булак) аудио = r. угуу (булак) аракет: recog = r.recognize_google (аудио, тил = 'en-US') басып чыгаруу ("Сиз мындай дедиңиз:" + recog "sr. UnknownValueErrorдон башка: print (" Google Speech Recognition аудиону түшүнө алган жок ") sr. RequestError башка e: print ("Google Кеп Таануу кызматынан жыйынтык сурай алган жок; {0}". Формат (e))

Түзмөк индекси 1 тандалып алынган, анткени ReSpeaker 4 Mic Array негизги булак болуп калат.

3-кадам: Python менен Pyttsx3 китепканасында текстти сүйлөө

Pythonдо текстти сүйлөөгө айландыруу үчүн бир нече API бар. Мындай APIлердин бири pyttsx3, бул менин пикиримде тексттен сүйлөөгө эң жакшы жеткиликтүү пакет. Бул пакет Windows, Mac жана Linuxто иштейт. Муну кантип жасоо үчүн расмий документтерди текшериңиз.

Пакетти орнотуу үчүн пипти колдонуңуз.

pip pyttsx3 орнотуу

Эгерде сиз Windowsто болсоңуз, анда сизге кошумча Windows пакети керек болот, pypiwin32 ал жергиликтүү Windows сүйлөө APIсине кирүү үчүн керек болот.

пип орнотуу pypiwin32

Текстти python скриптине айландырыңыз Төмөндө pyttsx3 аркылуу текстти сүйлөөгө коддун үзүндүсү келтирилген:

pyttsx3 импорттоо

кыймылдаткыч = pyttsx3.init ()

engine.setProperty ('чен', 150) # Ылдамдык пайызы

engine.setProperty ('көлөмү', 0.9) # Көлөмү 0-1

engine.say ("Салам, дүйнө!")

engine.runAndWait ()

4 -кадам: Бардыгын бириктирүү: Google Speech Recognition API жана Pyttsx3 китепканасын колдонуу менен Python менен сүйлөө таанууну куруу

Төмөнкү код Google Speech Recognition аркылуу адамдын сүйлөгөн сөзүн таанууга жана pyttsx3 китепканасынын жардамы менен текстти сүйлөөгө айландырууга жооптуу.

speech_recognition sr катары импорттоо

импорт pyttsx3 кыймылдаткычы = pyttsx3.init () engine.setProperty ('чен', 200) engine.setProperty ('көлөмү', 0.9) r = sr. Recognizer () сүйлөө = sr. Микрофон (device_index = 1) булак катары сүйлөө менен: audio = r.adjust_for_ambient_noise (булак) audio = r.listen (булак) аракет кылыңыз: recog = r.recognize_google (audio, language = 'en-US') print ("Сиз айттыңыз:" + recog) engine.say (" Сиз мындай дедиңиз: " + recog" engine.runAndWait () sr. UnknownValueErrorдон башка: engine.say ("Google Speech Recognition аудиону түшүнө алган жок") engine.runAndWait () sr. RequestErrorден башка e: engine.say ("Болгон жок Google Speech Tanı таануу кызматынан жыйынтык сураңыз; {0} ". format (e)) engine.runAndWait ()

Бул терминалда чыгарууну басып чыгарат. Ошондой эле, ал ошондой эле сүйлөөгө айландырылат.

Сиз айттыңыз: Лондон Улуу Британиянын борбору

Кеп таануу жалпысынан кандайча иштээрин жакшыраак түшүнөсүз деп үмүттөнөм жана эң негизгиси, Python менен Google Speech Recognition API аркылуу муну кантип ишке ашыруу керек.

Эгерде сизде кандайдыр бир суроолор же пикирлер болсо? Төмөндө комментарий калтырыңыз. Бар болуңуз!

Сунушталууда: