Inhoudsopgave:

Spraakherkenning met Google Speech API en Python: 4 stappen
Spraakherkenning met Google Speech API en Python: 4 stappen

Video: Spraakherkenning met Google Speech API en Python: 4 stappen

Video: Spraakherkenning met Google Speech API en Python: 4 stappen
Video: How Does Your Phone Know This Is A Dog? 2024, Juli-
Anonim
Spraakherkenning met Google Speech API en Python
Spraakherkenning met Google Speech API en Python

Spraakherkenning

Spraakherkenning is een onderdeel van natuurlijke taalverwerking, een deelgebied van kunstmatige intelligentie. Simpel gezegd, spraakherkenning is het vermogen van computersoftware om woorden en zinnen in gesproken taal te identificeren en om te zetten in voor mensen leesbare tekst. Het wordt gebruikt in verschillende toepassingen, zoals spraakassistentiesystemen, domotica, spraakgebaseerde chatbots, spraakgestuurde robots, kunstmatige intelligentie en dergelijke.

Er zijn verschillende API's (Application Programming Interface) voor het herkennen van spraak. Ze bieden diensten gratis of betaald aan. Dit zijn:

  • CMU Sphinx
  • Google Spraakherkenning
  • Google Cloud Speech-API
  • Wit.ai
  • Microsoft Bing Spraakherkenning
  • Houndify-API
  • IBM Spraak Naar Tekst
  • Snowboy Hotword-detectie

We zullen hier Google Spraakherkenning gebruiken, omdat er geen API-sleutel voor nodig is. Deze tutorial is bedoeld om een inleiding te geven over het gebruik van de Google Speech Recognition-bibliotheek op Python met behulp van een externe microfoon zoals ReSpeaker USB 4-Mic Array van Seeed Studio. Hoewel het niet verplicht is om een externe microfoon te gebruiken, kan zelfs de ingebouwde microfoon van een laptop worden gebruikt.

Stap 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

De ReSpeaker USB Mic is een quad-microfoonapparaat ontworpen voor AI- en spraaktoepassingen, ontwikkeld door Seeed Studio. Het heeft 4 krachtige, ingebouwde omnidirectionele microfoons die zijn ontworpen om uw stem overal in de kamer op te vangen en 12 programmeerbare RGB LED-indicatoren. De ReSpeaker USB-microfoon ondersteunt Linux-, macOS- en Windows-besturingssystemen. Details zijn hier te vinden.

De ReSpeaker USB Mic wordt geleverd in een mooie verpakking met daarin de volgende items:

  • Een gebruikershandleiding
  • ReSpeaker USB-microfoonarray
  • Micro-USB naar USB-kabel

Dus we zijn klaar om aan de slag te gaan.

Stap 2: Installeer de vereiste bibliotheken

Voor deze tutorial ga ik ervan uit dat je Python 3.x gebruikt.

Laten we de bibliotheken installeren:

pip3 Spraakherkenning installeren

Voor macOS moet je eerst PortAudio met Homebrew installeren en vervolgens PyAudio met pip3 installeren:

brew install portaudio

We voeren onderstaande opdracht uit om pyaudio te installeren

pip3 installeer pyaudio

Voor Linux kun je PyAudio installeren met apt:

sudo apt-get install python-pyaudio python3-pyaudio

Voor Windows kun je PyAudio installeren met pip:

pip installeer pyaudio

Een nieuw python-bestand maken

nano get_index.py

Plak op get_index.py onder het codefragment:

importeer pyaudio

p = pyaudio. PyAudio() info = p.get_host_api_info_by_index(0)numdevices = info.get('deviceCount') for i in range(0, numdevices): if (p.get_device_info_by_host_api_device_index(0, i).get(smaxInputChannel ')) > 0: print ("Invoerapparaat-ID", i, " -", p.get_device_info_by_host_api_device_index(0, i).get('name'))

Voer de volgende opdracht uit:

python3 get_index.py

In mijn geval geeft de opdracht de volgende uitvoer naar het scherm:

Invoerapparaat-ID 1 - ReSpeaker 4 Mic Array (UAC1.0)

Invoerapparaat-ID 2 - MacBook Air-microfoon

Wijzig device_index naar indexnummer volgens uw keuze in het onderstaande codefragment.

spraakherkenning importeren als sr

r = sr. Recognizer() speech = sr. Microphone(device_index=1) met spraak als bron: print("say something!…") audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, language = 'en-US') print("Je zei: " + recog) behalve sr. UnknownValueError: print("Google Speech Recognition kon audio niet begrijpen") behalve sr. RequestError as e: print ("Kan geen resultaten opvragen bij de Google Spraakherkenningsservice; {0}".format(e))

Apparaatindex is 1 gekozen omdat ReSpeaker 4 Mic Array als hoofdbron zal zijn.

Stap 3: Tekst-naar-spraak in Python met Pyttsx3-bibliotheek

Er zijn verschillende API's beschikbaar om tekst in spraak om te zetten in python. Een van dergelijke API's is de pyttsx3, wat naar mijn mening het best beschikbare tekst-naar-spraakpakket is. Dit pakket werkt in Windows, Mac en Linux. Raadpleeg de officiële documentatie om te zien hoe dit wordt gedaan.

Installeer het pakketGebruik pip om het pakket te installeren.

pip installeer pyttsx3

Als je in Windows werkt, heb je een extra pakket nodig, pypiwin32, dat nodig is om toegang te krijgen tot de native Windows-spraak-API.

pip installeer pypiwin32

Converteer tekst naar spraak python-script Hieronder vindt u het codefragment voor tekst naar spraak met pyttsx3:

import pyttsx3

motor = pyttsx3.init()

engine.setProperty('rate', 150) # Snelheidspercentage

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

engine.say("Hallo wereld!")

motor.runAndWait()

Stap 4: Alles samenvoegen: spraakherkenning bouwen met Python met behulp van Google Speech Recognition API en Pyttsx3-bibliotheek

De onderstaande code is verantwoordelijk voor het herkennen van menselijke spraak met behulp van Google Spraakherkenning en het omzetten van de tekst in spraak met behulp van de pyttsx3-bibliotheek.

spraakherkenning importeren als sr

import pyttsx3 engine = pyttsx3.init() engine.setProperty('rate', 200) engine.setProperty('volume', 0.9) r = sr. Recognizer() speech = sr. Microphone(device_index=1) met spraak als bron: audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, language = 'en-US') print("Je zei: " + recog) engine.say(" Je zei: " + herken) engine.runAndWait() behalve sr. UnknownValueError: engine.say("Google Speech Recognition kon audio niet begrijpen") engine.runAndWait() behalve sr. RequestError als e: engine.say("Kon niet resultaten opvragen bij de Google Spraakherkenningsservice; {0}".format(e)) engine.runAndWait()

Het drukt de uitvoer af op de terminal. Het zal ook worden omgezet in spraak.

Je zei: Londen is de hoofdstad van Groot-Brittannië

Ik hoop dat je nu een beter begrip hebt van hoe spraakherkenning in het algemeen werkt en, belangrijker nog, hoe je dat kunt implementeren met behulp van Google Speech Recognition API met Python.

Heeft u vragen of feedback? Laat hieronder een reactie achter. Blijf kijken!

Aanbevolen: