İçindekiler:

Google Speech API ve Python Kullanarak Konuşma Tanıma: 4 Adım
Google Speech API ve Python Kullanarak Konuşma Tanıma: 4 Adım

Video: Google Speech API ve Python Kullanarak Konuşma Tanıma: 4 Adım

Video: Google Speech API ve Python Kullanarak Konuşma Tanıma: 4 Adım
Video: Speech Recognition in Python: #4 (Konuşma Tanıma Dersleri) | Hacettepe AI Club 2024, Temmuz
Anonim
Google Speech API ve Python Kullanarak Konuşma Tanıma
Google Speech API ve Python Kullanarak Konuşma Tanıma

Konuşma tanıma

Konuşma Tanıma, Yapay Zekanın bir alt alanı olan Doğal Dil İşlemenin bir parçasıdır. Basitçe ifade etmek gerekirse, konuşma tanıma, bir bilgisayar yazılımının konuşulan dilde kelimeleri ve cümleleri tanımlama ve bunları insan tarafından okunabilir metne dönüştürme yeteneğidir. Sesli asistan sistemleri, ev otomasyonu, ses tabanlı chatbotlar, sesle etkileşimli robot, yapay zeka vb. birçok uygulamada kullanılmaktadır.

Konuşmayı tanımak için farklı API'ler (Uygulama Programlama Arayüzü) vardır. Ücretsiz veya ücretli hizmetler sunarlar. Bunlar:

  • CMU Sfenks
  • Google Konuşma Tanıma
  • Google Bulut Konuşma API'sı
  • Wit.ai
  • Microsoft Bing Ses Tanıma
  • Houndify API'si
  • IBM Speech To Text
  • Snowboy Özel Kelime Tespiti

Herhangi bir API anahtarı gerektirmediğinden burada Google Konuşma Tanıma'yı kullanacağız. Bu eğitim, Seeed Studio'dan ReSpeaker USB 4-Mic Array gibi harici mikrofon yardımıyla Python'da Google Konuşma Tanıma kitaplığının nasıl kullanılacağına dair bir giriş sağlamayı amaçlamaktadır. Harici mikrofon kullanmak zorunlu olmamakla birlikte, dizüstü bilgisayarın dahili mikrofonu bile kullanılabilir.

1. Adım: ReSpeaker USB 4-Mic Array

ReSpeaker USB 4-Mic Dizisi
ReSpeaker USB 4-Mic Dizisi
ReSpeaker USB 4-Mic Dizisi
ReSpeaker USB 4-Mic Dizisi
ReSpeaker USB 4-Mic Dizisi
ReSpeaker USB 4-Mic Dizisi

ReSpeaker USB Mic, Seeed Studio tarafından geliştirilen AI ve ses uygulamaları için tasarlanmış dört mikrofonlu bir cihazdır. Sesinizi odanın herhangi bir yerinden almak için tasarlanmış 4 adet yüksek performanslı, dahili çok yönlü mikrofona ve 12 adet programlanabilir RGB LED göstergeye sahiptir. ReSpeaker USB mikrofonu Linux, macOS ve Windows işletim sistemlerini destekler. Ayrıntılar burada bulunabilir.

ReSpeaker USB Mic, aşağıdaki öğeleri içeren güzel bir pakette gelir:

  • bir kullanım kılavuzu
  • ReSpeaker USB Mikrofon Dizisi
  • Mikro USB'den USB'ye Kablo

Yani başlamaya hazırız.

2. Adım: Gerekli Kitaplıkları Yükleyin

Bu eğitim için Python 3.x kullandığınızı varsayacağım.

Kütüphaneleri kuralım:

pip3 SpeechRecognition'ı kurun

macOS için, önce Homebrew ile PortAudio'yu kurmanız ve ardından pip3 ile PyAudio'yu kurmanız gerekecek:

demlemek portaudio yüklemek

pyaudio'yu kurmak için aşağıdaki komutu çalıştırıyoruz

pip3 pyaudio yükleyin

Linux için PyAudio'yu apt ile kurabilirsiniz:

sudo apt-get kurulum python-pyaudio python3-pyaudio

Windows için PyAudio'yu pip ile kurabilirsiniz:

pip kurulum pyaudio

Yeni bir piton dosyası oluşturun

nano get_index.py

Get_index.py'ye kod parçacığının altına yapıştırın:

pyaudio'yu içe aktar

p = pyaudio. PyAudio() bilgi = p.get_host_api_info_by_index(0)numdevices = info.get('deviceCount') i in range(0, numdevices): if (p.get_device_info_by_host_api_device_index(0, i).get('maxInput) ')) > 0: print ("Giriş Aygıtı kimliği ", i, " - ", p.get_device_info_by_host_api_device_index(0, i).get('name'))

Aşağıdaki komutu çalıştırın:

python3 get_index.py

Benim durumumda komut ekrana aşağıdaki çıktıyı verir:

Giriş Aygıtı kimliği 1 - ReSpeaker 4 Mic Array (UAC1.0)

Giriş Aygıtı kimliği 2 - MacBook Air Mikrofon

Aşağıdaki kod parçacığında istediğiniz gibi device_index dizin numarasına değiştirin.

konuşma_recognition'ı sr olarak içe aktar

r = sr. Recognizer() konuşma = sr. Microphone(device_index=1) kaynak olarak konuşma ile: print("bir şey söyle!…") audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) deneyin: recog = r.recognize_google(ses, dil = 'en-US') print("Dediniz: " + recog) sr. UnknownValueError: print("Google Speech Recognition sesi anlayamadı") hariç e: print olarak sr. RequestError ("Google Konuşma Tanıma hizmetinden sonuçlar istenemedi; {0}".format(e))

ReSpeaker 4 Mic Array ana kaynak olacağı için cihaz indeksi 1 seçilmiştir.

Adım 3: Python'da Pyttsx3 Kitaplığı ile Metinden Konuşmaya

Python'da metni konuşmaya dönüştürmek için kullanılabilecek birkaç API vardır. Bu tür API'lerden biri, bence mevcut en iyi metinden konuşmaya paketi olan pyttsx3'tür. Bu paket Windows, Mac ve Linux'ta çalışır. Bunun nasıl yapıldığını görmek için resmi belgelere bakın.

Paketi kurun Paketi kurmak için pip kullanın.

pip kurulumu pyttsx3

Windows kullanıyorsanız, yerel Windows konuşma API'sine erişmek için ihtiyaç duyacağı pypiwin32 adlı ek bir pakete ihtiyacınız olacaktır.

pip kurulumu pypiwin32

Metni konuşmaya dönüştürme python script Aşağıda, pyttsx3 kullanarak metinden konuşmaya yönelik kod pasajı verilmiştir:

pyttsx3'ü içe aktar

motor = pyttsx3.init()

motor.setProperty('rate', 150) # Hız yüzdesi

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

motor.say("Merhaba dünya!")

motor.runAndWait()

Adım 4: Hepsini Bir Araya Getirmek: Google Konuşma Tanıma API'sini ve Pyttsx3 Kitaplığını Kullanarak Python ile Konuşma Tanıma Oluşturma

Aşağıdaki kod, Google Speech Recognition kullanarak insan konuşmasını tanımaktan ve pyttsx3 kitaplığını kullanarak metni konuşmaya dönüştürmekten sorumludur.

konuşma_recognition'ı sr olarak içe aktar

import pyttsx3 engine = pyttsx3.init() engine.setProperty('rate', 200) engine.setProperty('volume', 0.9) r = sr. Recognizer() konuşma = sr. Microphone(device_index=1) kaynak olarak konuşma ile: audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, dil = 'en-US') print("Demiştiniz: " + tanı) engine.say(" Dedin ki: " + recog) engine.runAndWait() sr. UnknownValueError hariç: engine.say("Google Speech Recognition sesi anlayamadı") engine.runAndWait() hariç sr. RequestError as e: engine.say("Yapılamadı Google Konuşma Tanıma hizmetinden istek sonuçları; {0}".format(e)) engine.runAndWait()

Çıktıyı terminalde yazdırır. Ayrıca, konuşmaya da dönüştürülecektir.

Londra'nın Büyük Britanya'nın başkenti olduğunu söylediniz.

Artık konuşma tanımanın genel olarak nasıl çalıştığını ve en önemlisi, bunu Python ile Google Konuşma Tanıma API'sini kullanarak nasıl uygulayacağınızı daha iyi anladığınızı umuyorum.

Herhangi bir sorunuz veya geri bildiriminiz varsa? Aşağıda bir yorum bırakın. Bizi izlemeye devam edin!

Önerilen: