Table des matières:

Reconnaissance vocale à l'aide de l'API Google Speech et de Python : 4 étapes
Reconnaissance vocale à l'aide de l'API Google Speech et de Python : 4 étapes

Vidéo: Reconnaissance vocale à l'aide de l'API Google Speech et de Python : 4 étapes

Vidéo: Reconnaissance vocale à l'aide de l'API Google Speech et de Python : 4 étapes
Vidéo: Google Keynote (Google I/O ‘23) 2024, Novembre
Anonim
Reconnaissance vocale à l'aide de l'API Google Speech et de Python
Reconnaissance vocale à l'aide de l'API Google Speech et de Python

Reconnaissance de la parole

La reconnaissance vocale fait partie du traitement du langage naturel qui est un sous-domaine de l'intelligence artificielle. Pour le dire simplement, la reconnaissance vocale est la capacité d'un logiciel informatique à identifier des mots et des phrases dans le langage parlé et à les convertir en texte lisible par l'homme. Il est utilisé dans plusieurs applications telles que les systèmes d'assistants vocaux, la domotique, les chatbots vocaux, les robots à interaction vocale, l'intelligence artificielle, etc.

Il existe différentes API (Application Programming Interface) pour reconnaître la parole. Ils proposent des services gratuits ou payants. Ceux-ci sont:

  • CMU Sphinx
  • Reconnaissance vocale Google
  • API Google Cloud Speech
  • Wit.ai
  • Reconnaissance vocale Microsoft Bing
  • API Houndify
  • IBM Speech To Text
  • Détection des mots clés Snowboy

Nous utiliserons ici la reconnaissance vocale Google, car elle ne nécessite aucune clé API. Ce didacticiel vise à fournir une introduction à l'utilisation de la bibliothèque de reconnaissance vocale Google sur Python à l'aide d'un microphone externe tel que ReSpeaker USB 4-Mic Array de Seeed Studio. Bien qu'il ne soit pas obligatoire d'utiliser un microphone externe, même le microphone intégré d'un ordinateur portable peut être utilisé.

Étape 1: matrice de 4 micros USB ReSpeaker

Réseau de 4 micros USB ReSpeaker
Réseau de 4 micros USB ReSpeaker
Réseau de 4 micros USB ReSpeaker
Réseau de 4 micros USB ReSpeaker
Réseau de 4 micros USB ReSpeaker
Réseau de 4 micros USB ReSpeaker

Le ReSpeaker USB Mic est un appareil à quatre microphones conçu pour les applications d'IA et de voix, qui a été développé par Seeed Studio. Il dispose de 4 microphones omnidirectionnels intégrés hautes performances conçus pour capter votre voix de n'importe où dans la pièce et de 12 indicateurs LED RVB programmables. Le micro USB ReSpeaker prend en charge les systèmes d'exploitation Linux, macOS et Windows. Les détails peuvent être trouvés ici.

Le ReSpeaker USB Mic est livré dans un joli emballage contenant les éléments suivants:

  • Un mode d'emploi
  • Réseau de micros USB ReSpeaker
  • Câble Micro USB vers USB

Nous sommes donc prêts à commencer.

Étape 2: Installer les bibliothèques requises

Pour ce tutoriel, je suppose que vous utilisez Python 3.x.

Installons les bibliothèques:

pip3 installer SpeechRecognition

Pour macOS, vous devrez d'abord installer PortAudio avec Homebrew, puis installer PyAudio avec pip3:

brasser installer portaudio

Nous exécutons la commande ci-dessous pour installer pyaudio

pip3 installer pyaudio

Pour Linux, vous pouvez installer PyAudio avec apt:

sudo apt-get installer python-pyaudio python3-pyaudio

Pour Windows, vous pouvez installer PyAudio avec pip:

pip installer pyaudio

Créer un nouveau fichier python

nano get_index.py

Collez sur get_index.py l'extrait de code ci-dessous:

importer 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('maxInputChannels ')) > 0: print ("Identifiant du périphérique d'entrée ", i, " - ", p.get_device_info_by_host_api_device_index(0, i).get('name'))

Exécutez la commande suivante:

python3 get_index.py

Dans mon cas, la commande donne la sortie suivante à l'écran:

Identifiant du périphérique d'entrée 1 - Réseau de micros ReSpeaker 4 (UAC1.0)

Identifiant du périphérique d'entrée 2 - Microphone MacBook Air

Changez device_index en numéro d'index selon votre choix dans l'extrait de code ci-dessous.

importer la reconnaissance vocale en tant que sr

r = sr. Recognizer() speech = sr. Microphone(device_index=1) avec la parole comme source: print("dis quelque chose !…") audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, language = 'en-US') print("Vous avez dit: " + recog) except sr. UnknownValueError: print("Google Speech Recognition n'a pas pu comprendre l'audio") except sr. RequestError as e: print ("Impossible de demander les résultats du service de reconnaissance vocale Google; {0}".format(e))

L'index de l'appareil a été choisi 1 car ReSpeaker 4 Mic Array sera la source principale.

Étape 3: Text-to-speech en Python avec la bibliothèque Pyttsx3

Il existe plusieurs API disponibles pour convertir du texte en parole en python. L'une de ces API est pyttsx3, qui est à mon avis le meilleur package de synthèse vocale disponible. Ce package fonctionne sous Windows, Mac et Linux. Consultez la documentation officielle pour voir comment cela se fait.

Installer le packageUtilisez pip pour installer le package.

pip installer pyttsx3

Si vous êtes sous Windows, vous aurez besoin d'un package supplémentaire, pypiwin32, dont il aura besoin pour accéder à l'API vocale native de Windows.

pip installer pypiwin32

Convertir le texte en discours python scriptVous trouverez ci-dessous l'extrait de code pour le texte en parole à l'aide de pyttsx3:

importer pyttsx3

moteur = pyttsx3.init()

engine.setProperty('rate', 150) # Pourcentage de vitesse

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

engine.say("Bonjour tout le monde!")

engine.runAndWait()

Étape 4: Tout assembler: Créer une reconnaissance vocale avec Python à l'aide de l'API de reconnaissance vocale Google et de la bibliothèque Pyttsx3

Le code ci-dessous est responsable de la reconnaissance de la parole humaine à l'aide de la reconnaissance vocale Google et de la conversion du texte en parole à l'aide de la bibliothèque pyttsx3.

importer la reconnaissance vocale en tant que sr

import pyttsx3 engine = pyttsx3.init() engine.setProperty('rate', 200) engine.setProperty('volume', 0.9) r = sr. Recognizer() speech = sr. Microphone(device_index=1) avec la parole comme source: audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, language = 'en-US') print("Vous avez dit: " + recog) engine.say(" Vous avez dit: " + recog) engine.runAndWait() except sr. UnknownValueError: engine.say("Google Speech Recognition n'a pas pu comprendre l'audio") engine.runAndWait() except sr. RequestError as e: engine.say("Could not demander les résultats du service de reconnaissance vocale Google; {0}".format(e)) engine.runAndWait()

Il imprime la sortie sur le terminal. En outre, il sera également converti en discours.

Vous avez dit: Londres est la capitale de la Grande-Bretagne

J'espère que vous comprenez mieux maintenant le fonctionnement de la reconnaissance vocale en général et, surtout, comment l'implémenter à l'aide de l'API Google Speech Recognition avec Python.

Si vous avez des questions ou des commentaires? Laissez un commentaire ci-dessous. Restez à l'écoute!

Conseillé: