Mundarija:

Google Speech API va Python yordamida nutqni aniqlash: 4 qadam
Google Speech API va Python yordamida nutqni aniqlash: 4 qadam

Video: Google Speech API va Python yordamida nutqni aniqlash: 4 qadam

Video: Google Speech API va Python yordamida nutqni aniqlash: 4 qadam
Video: RTX 3090 Ti vs RTX 3060 Ultimate Showdown for Stable Diffusion, ML, AI & Video Rendering Performance 2024, Noyabr
Anonim
Google Speech API va Python yordamida nutqni aniqlash
Google Speech API va Python yordamida nutqni aniqlash

Nutqni aniqlash

Nutqni aniqlash - bu sun'iy intellektning pastki qismi bo'lgan tabiiy tilni qayta ishlashning bir qismi. Oddiy qilib aytganda, nutqni aniqlash - bu kompyuter dasturlarining og'zaki tilda so'z va iboralarni aniqlash va ularni odam o'qiy oladigan matnga aylantirish qobiliyati. U ovozli yordamchi tizimlar, uy avtomatizatsiyasi, ovozli chatbotlar, ovozli o'zaro ta'sirli robot, sun'iy intellekt va boshqalar kabi bir qancha ilovalarda qo'llaniladi.

Nutqni tanib olish uchun turli xil API (Application Programming Interface) mavjud. Ular pullik yoki bepul xizmatlarni taklif qilishadi. Bular:

  • CMU sfenks
  • Google nutqni aniqlash
  • Google Cloud Speech API
  • Wit.ai
  • Microsoft Bing ovozni aniqlash
  • Houndify API
  • IBM matnli nutq
  • Qorqizning kalit so'zini aniqlash

Biz bu erda Google Speech Recognition -dan foydalanamiz, chunki u API kalitini talab qilmaydi. Ushbu qo'llanma, Seeed Studio-dan ReSpeaker USB 4-Mic Array kabi tashqi mikrofon yordamida Python-da Google Nutqni aniqlash kutubxonasidan qanday foydalanish haqida ma'lumot berishga qaratilgan. Tashqi mikrofondan foydalanish majburiy bo'lmasa-da, noutbukning o'rnatilgan mikrofonidan ham foydalanish mumkin.

1-qadam: ReSpeaker USB 4-mikrofon massivi

ReSpeaker USB 4-mikrofon qatori
ReSpeaker USB 4-mikrofon qatori
ReSpeaker USB 4-mikrofon qatori
ReSpeaker USB 4-mikrofon qatori
ReSpeaker USB 4-mikrofon qatori
ReSpeaker USB 4-mikrofon qatori

ReSpeaker USB Mic-bu AI va ovozli ilovalar uchun mo'ljallangan, to'rt mikrofonli qurilma, Seeed Studio tomonidan ishlab chiqilgan. U xonaning istalgan joyidan ovozingizni qabul qilishga mo'ljallangan 4 ta yuqori mahsuldorlikka ega, o'rnatilgan ko'p yo'nalishli mikrofonlar va 12 ta programlanadigan RGB LED indikatoriga ega. ReSpeaker USB mikrofoni Linux, macOS va Windows operatsion tizimlarini qo'llab -quvvatlaydi. Tafsilotlarni bu erda topishingiz mumkin.

ReSpeaker USB mikrofoni quyidagi mahsulotlarni o'z ichiga olgan yaxshi paketga ega:

  • Foydalanuvchi uchun qo'llanma
  • ReSpeaker USB mikrofon qatori
  • Mikro USB - USB kabeli

Shunday qilib, biz boshlashga tayyormiz.

2 -qadam: Kerakli kutubxonalarni o'rnating

Ushbu qo'llanma uchun siz Python 3.x dan foydalanayapsiz deb o'ylayman.

Keling, kutubxonalarni o'rnatamiz:

pip3 SpeechRecognition -ni o'rnating

MacOS uchun avval PortAudio -ni Homebrew bilan, keyin PyAudio -ni pip3 bilan o'rnatishingiz kerak bo'ladi:

brew portaudio -ni o'rnating

Biz pyaudio -ni o'rnatish uchun quyidagi buyruqni bajaramiz

pip3 pyaudio -ni o'rnating

Linux uchun PyAudio -ni apt bilan o'rnatishingiz mumkin:

sudo apt-get python-pyaudio python3-pyaudio ni o'rnating

Windows uchun PyAudio -ni pip bilan o'rnatishingiz mumkin:

pyaudio -ni o'rnatish

Yangi python faylini yarating

nano get_index.py

Get_index.py -ga kod parchasi ostiga qo'ying:

pyaudio import qilish

p = pyaudio. '))> 0: chop etish ("Kirish qurilmasi identifikatori", i, " -", p.get_device_info_by_host_api_device_index (0, i).get ("nomi"))

Quyidagi buyruqni bajaring:

python3 get_index.py

Mening vaziyatimda buyruq ekranga quyidagi chiqishni beradi:

Kirish qurilmasi identifikatori 1 - ReSpeaker 4 mikrofon massivi (UAC1.0)

Kirish qurilmasi identifikatori 2 - MacBook Air mikrofoni

Device_index indeks raqamini quyidagi kod parchasida o'zingiz xohlagan tarzda o'zgartiring.

speech_recognition ni sr sifatida import qilish

r = sr. Recognizer () nutq = sr. Mikrofon (device_index = 1) manba sifatida nutq bilan: chop etish ("nimadir deyish! …") audio = r.adjust_for_ambient_noise (manba) audio = r. tinglash (manba) sinash: recog = r.recognize_google (audio, language = 'en-US') chop etish ("Siz aytdingiz:" + recog ") sr. UnknownValueError tashqari: chop eting (" Google nutqni tanib olish ovozni tushuna olmadi ") sr. RequestError dan tashqari e: chop etish ("Google Nutqni tanish xizmatidan natijalar so'ralmadi; {0}". Format (e))

Qurilmalar indeksi 1 tanlandi, chunki ReSpeaker 4 Mic Array asosiy manba bo'ladi.

3-qadam: Pyttsx3 kutubxonasi bilan Pythonda matndan nutqqa o'tish

Pythonda matnni nutqqa aylantirish uchun bir nechta API mavjud. Bunday API-lardan biri-pyttsx3, bu mening fikrimcha, matndan nutqqa eng yaxshi mavjud. Bu paket Windows, Mac va Linuxda ishlaydi. Bu qanday amalga oshirilganini bilish uchun rasmiy hujjatlarni tekshiring.

Paketni o'rnatish uchun pipni ishlating.

pip o'rnatish pyttsx3

Agar siz Windows -da bo'lsangiz, sizga qo'shimcha Windows pypiwin32 to'plami kerak bo'ladi, u mahalliy Windows nutq API -ga kirishi kerak bo'ladi.

pip o'rnatish pypiwin32

Matnni python skriptiga aylantirish

pyttsx3 import qilish

vosita = pyttsx3.init ()

engine.setProperty ('darajasi', 150) # Tezlik foizi

engine.setProperty ('tovush', 0,9) # 0-1 jild

engine.say ("Salom, dunyo!")

vosita.runAndWait ()

4 -qadam: Hammasini bir joyga to'plash: Google Speech Recognition API va Pyttsx3 kutubxonasi yordamida Python yordamida nutqni aniqlashni yaratish

Quyidagi kod Google Speech Recognition yordamida nutqni tanib olish va pyttsx3 kutubxonasi yordamida matnni nutqqa aylantirish uchun javobgardir.

speech_recognition ni sr sifatida import qilish

manba sifatida nutq bilan: audio = r. Siz aytdingiz: " + recog" engine.runAndWait () sr. UnknownValueError bundan mustasno: engine.say ("Google Nutqni Tanish Ovozni Tushunolmadi") engine.runAndWait () sr. RequestError tashqari e: engine.say ("Mumkin emas) Google Nutqni aniqlash xizmatidan natijalarni so'rash; {0} ". format (e)) engine.runAndWait ()

U terminalda chiqishni chop etadi. Bundan tashqari, u nutqqa aylanadi.

Siz aytdingiz: London Buyuk Britaniyaning poytaxti

Umid qilamanki, siz nutqni aniqlash umuman qanday ishlashini yaxshiroq tushunasiz va eng muhimi, Python bilan Google Speech Recognition API yordamida buni qanday amalga oshirish kerak.

Agar sizda biron bir savol yoki fikringiz bo'lsa? Quyida izoh qoldiring. Yangiliklarni kuzatib boring, xabardor bo'lib boring; Biz bilan qoling!

Tavsiya: