Inhaltsverzeichnis:

Spracherkennung mit Google Speech API und Python - Gunook
Spracherkennung mit Google Speech API und Python - Gunook

Video: Spracherkennung mit Google Speech API und Python - Gunook

Video: Spracherkennung mit Google Speech API und Python - Gunook
Video: Build A Python Speech Assistant App 2024, Juli
Anonim
Spracherkennung mit Google Speech API und Python
Spracherkennung mit Google Speech API und Python

Spracherkennung

Spracherkennung ist ein Teilgebiet der Natural Language Processing, einem Teilgebiet der Künstlichen Intelligenz. Einfach ausgedrückt ist Spracherkennung die Fähigkeit einer Computersoftware, Wörter und Sätze in gesprochener Sprache zu erkennen und sie in für Menschen lesbaren Text umzuwandeln. Es wird in verschiedenen Anwendungen wie Sprachassistenten, Heimautomatisierung, sprachbasierten Chatbots, sprachinteragierenden Robotern, künstlicher Intelligenz usw. verwendet.

Es gibt verschiedene APIs (Application Programming Interface) zur Erkennung von Sprache. Sie bieten kostenlose oder kostenpflichtige Dienste an. Diese sind:

  • CMU-Sphinx
  • Google-Spracherkennung
  • Google Cloud Speech API
  • Wit.ai
  • Microsoft Bing-Spracherkennung
  • Houndify-API
  • IBM Speech-to-Text
  • Snowboy-Hotword-Erkennung

Wir werden hier die Google Spracherkennung verwenden, da sie keinen API-Schlüssel benötigt. Dieses Tutorial soll eine Einführung in die Verwendung der Google Spracherkennungsbibliothek in Python mit Hilfe eines externen Mikrofons wie dem ReSpeaker USB 4-Mic Array von Seeed Studio geben. Obwohl es nicht zwingend erforderlich ist, ein externes Mikrofon zu verwenden, kann sogar das eingebaute Mikrofon des Laptops verwendet werden.

Schritt 1: ReSpeaker USB 4-Mikrofon-Array

ReSpeaker USB 4-Mikrofon-Array
ReSpeaker USB 4-Mikrofon-Array
ReSpeaker USB 4-Mikrofon-Array
ReSpeaker USB 4-Mikrofon-Array
ReSpeaker USB 4-Mikrofon-Array
ReSpeaker USB 4-Mikrofon-Array

Das ReSpeaker USB Mic ist ein Quad-Mikrofon-Gerät für KI- und Sprachanwendungen, das von Seeed Studio entwickelt wurde. Es verfügt über 4 integrierte, omnidirektionale Hochleistungsmikrofone, die Ihre Stimme von überall im Raum aufnehmen können, und 12 programmierbare RGB-LED-Anzeigen. Das ReSpeaker USB-Mikrofon unterstützt Linux-, macOS- und Windows-Betriebssysteme. Einzelheiten finden Sie hier.

Das ReSpeaker USB Mic wird in einem schönen Paket geliefert, das die folgenden Artikel enthält:

  • Ein Benutzerhandbuch
  • ReSpeaker USB-Mikrofon-Array
  • Micro-USB-zu-USB-Kabel

Wir sind also startklar.

Schritt 2: Erforderliche Bibliotheken installieren

Für dieses Tutorial gehe ich davon aus, dass Sie Python 3.x verwenden.

Lassen Sie uns die Bibliotheken installieren:

pip3 installieren Spracherkennung

Für macOS müssen Sie zuerst PortAudio mit Homebrew und dann PyAudio mit pip3 installieren:

brauen installieren portaudio

Wir führen den folgenden Befehl aus, um pyaudio zu installieren

pip3 installiere pyaudio

Unter Linux können Sie PyAudio mit apt installieren:

sudo apt-get install python-pyaudio python3-pyaudio

Unter Windows können Sie PyAudio mit pip installieren:

pip installiere pyaudio

Erstellen Sie eine neue Python-Datei

nano get_index.py

Fügen Sie auf get_index.py das folgende Code-Snippet ein:

pyaudio importieren

p = pyaudio. PyAudio() info = p.get_host_api_info_by_index(0)numdevices = info.get('deviceCount') für i im Bereich(0, numdevices): if (p.get_device_info_by_host_api_device_index(0, i).get('maxInputChannels ')) > 0: print ("Geräte-ID eingeben", i, " - ", p.get_device_info_by_host_api_device_index(0, i).get('name'))

Führen Sie den folgenden Befehl aus:

python3 get_index.py

In meinem Fall gibt der Befehl die folgende Ausgabe auf dem Bildschirm aus:

Eingabegeräte-ID 1 - ReSpeaker 4 Mic Array (UAC1.0)

Eingabegeräte-ID 2 - MacBook Air Mikrofon

Ändern Sie device_index gemäß Ihrer Wahl im folgenden Code-Snippet in eine Indexnummer.

Spracherkennung als sr importieren

r = sr. Recognizer() language = sr. Microphone(device_index=1) mit Sprache als Quelle: print("Sag etwas!…") audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, language = 'en-US') print("Sie sagten: " + recog) außer sr. UnknownValueError: print("Google Spracherkennung konnte Audio nicht verstehen") außer sr. RequestError als e: print ("Konnte keine Ergebnisse vom Google-Spracherkennungsdienst anfordern; {0}".format(e))

Geräteindex wurde 1 gewählt, da ReSpeaker 4 Mic Array als Hauptquelle dienen wird.

Schritt 3: Text-to-Speech in Python mit der Pyttsx3-Bibliothek

Es gibt mehrere APIs, um in Python Text in Sprache umzuwandeln. Eine dieser APIs ist pyttsx3, meiner Meinung nach das beste verfügbare Text-to-Speech-Paket. Dieses Paket funktioniert unter Windows, Mac und Linux. Sehen Sie in der offiziellen Dokumentation nach, wie dies geschieht.

Paket installierenVerwenden Sie pip, um das Paket zu installieren.

pip installiere pyttsx3

Wenn Sie sich in Windows befinden, benötigen Sie ein zusätzliches Paket, pypiwin32, das für den Zugriff auf die native Windows-Sprach-API benötigt wird.

pip installieren pypiwin32

Konvertieren von Text-in-Sprache-Python-SkriptUnten ist der Codeausschnitt für Text-in-Sprache mit pyttsx3:

pyttsx3 importieren

Engine = pyttsx3.init()

engine.setProperty('rate', 150) # Geschwindigkeit in Prozent

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

engine.say("Hallo Welt!")

engine.runAndWait()

Schritt 4: Alles zusammenfügen: Erstellen der Spracherkennung mit Python unter Verwendung der Google Spracherkennungs-API und der Pyttsx3-Bibliothek

Der folgende Code ist dafür verantwortlich, menschliche Sprache mithilfe der Google-Spracherkennung zu erkennen und den Text mithilfe der pyttsx3-Bibliothek in Sprache umzuwandeln.

Spracherkennung als sr importieren

import pyttsx3 engine = pyttsx3.init() engine.setProperty('rate', 200) engine.setProperty('volume', 0.9) r = sr. Recognizer() language = sr. Microphone(device_index=1) mit Sprache als Quelle: audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, language = 'en-US') print("Sie sagten: " + recog) engine.say(" Sie sagten: " + recog) engine.runAndWait() außer sr. UnknownValueError: engine.say("Google Spracherkennung konnte Audio nicht verstehen") engine.runAndWait() außer sr. RequestError as e: engine.say("Konnte nicht Ergebnisse vom Google-Spracherkennungsdienst anfordern; {0}".format(e)) engine.runAndWait()

Es druckt die Ausgabe auf dem Terminal. Es wird auch in Sprache umgewandelt.

Du hast gesagt: London ist die Hauptstadt von Großbritannien

Ich hoffe, Sie haben jetzt ein besseres Verständnis dafür, wie die Spracherkennung im Allgemeinen funktioniert und vor allem, wie Sie dies mithilfe der Google Speech Recognition API mit Python implementieren können.

Haben Sie Fragen oder Feedback? Hinterlassen Sie unten einen Kommentar. Bleiben Sie dran!

Empfohlen: