Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python

La reconnaissance vocale des fichiers vocaux est effectuée à l'aide des services Google.

environnement

· Python3.5 64bits par Anaconda ・ Win10 -Le fichier audio est WAV. J'ai juste besoin de le convertir avec sox séparément.

Package à installer

SpeechRecognition https://github.com/Uberi/speech_recognition C'est un package qui facilite l'utilisation de divers services cloud de reconnaissance vocale. Haute fonctionnalité. pyaudio Il semble nécessaire que la reconnaissance vocale fonctionne. google-api-python-client Ce package est utilisé lors du détournement de l'exemple de source de reconnaissance vocale, donc installez-le. pydub Utilisé pour séparer les fichiers audio dans des sections silencieuses. pip install pydub est. FFMPEG Je ne sais pas pourquoi je dois l'installer, http://chachay.hatenablog.com/entry/2016/10/03/215841 Je fais comme écrit.

Pour utiliser l'API Speech de Google v2

approximativement, http://qiita.com/lethe2211/items/7c9b1b82c7eda40dafa9 Je pense que c'est vrai. Il est gênant qu'il ne sorte que si vous rejoignez ML.

point important

Si le fichier audio est trop long, je ne sais pas quelle en est la cause (au 11 janvier 2017), mais j'obtiens une erreur. Dans mon environnement, le résultat d'un fichier audio d'environ 10 secondes est renvoyé, mais lorsqu'il atteint 20 secondes, une erreur se produit.

Lors de l'utilisation de l'exemple de reconnaissance vocale, Essayez d'ajuster le temps avec une durée comme ʻaudio = r.record (source, durée = 10`) et vérifiez le résultat. S'il est long, vous obtiendrez une erreur, non?

Division des fichiers dans la partie silencieuse

fondamentalement, http://chachay.hatenablog.com/entry/2016/10/03/215841 C'est comme suit.

Lorsque vous essayez de reconnaître la voix avec l'API Google Speech v2, si le fichier est volumineux, une erreur se produit (bien que la cause soit inconnue), il s'agit donc d'une tentative de diviser le fichier en parties silencieuses pour la reconnaissance.

Source lors de l'exécution de la reconnaissance vocale

J'utilise différentes bibliothèques et j'effectue la conversion de données entre elles via des fichiers wav, donc je pense qu'il y a beaucoup de gaspillage, mais je posterai la source.

Importez, je pense qu'il y a quelque chose d'inutile, alors veuillez l'omettre le cas échéant.

import speech_recognition as sr
from os import path
from googleapiclient import discovery
import httplib2
import base64, json
import urllib
import os
from pydub import AudioSegment
from pydub.silence import split_on_silence


if __name__ == '__main__':
    r = sr.Recognizer()
    audio_data = []
    sound = AudioSegment.from_file('./filename.wav', format='wav')
    chunks = split_on_silence(sound, min_silence_len=1500, silence_thresh=-30, keep_silence=500)
    
    for chunk in chunks:
        chunk.export('./temp.wav', format='wav')
        AUDIO_FILE = path.join(path.dirname(path.realpath(__file__)), "temp.wav") 

        with sr.AudioFile(AUDIO_FILE) as source:
            audio = r.record(source)
            audio_data.append(audio)
    for audio in audio_data:
        try:
            print("Google Speech Recognition thinks you said " + r.recognize_google(audio,key='your API key', language='ja'))
        except sr.UnknownValueError:
            print("Google Speech Recognition could not understand audio")
        except sr.RequestError as e:
            print("Could not request results from Google Speech Recognition service; {0}".format(e))

Site de référence

http://chachay.hatenablog.com/entry/2016/10/03/215841 https://pypi.python.org/pypi/SpeechRecognition/

Recommended Posts

Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python
Diffusez la reconnaissance vocale à l'aide de l'API gRPC Google Cloud Speech avec python3 sur Mac!
Reconnaissance vocale par Python MFCC
Importez un fichier JPG à l'aide de l'API Google Drive en Python
Procédure de transcription vocale à l'aide de Python et de l'API Google Cloud Speech
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
Reconnaissance vocale en streaming avec l'API Google Cloud Speech
Créer une feuille de calcul Google à l'aide de l'API Python / Google Data
J'ai essayé d'utiliser l'API de reconnaissance vocale docomo et l'API Google Speech en Java
Exécutez l'API Google Analytics (core v3) en python
Reconnaissance vocale avec Python
[Python] Obtenez des données insight à l'aide de l'API Google My Business
API Web EXE par Python
Reconnaissance de l'âge à l'aide de l'API de Pepper
Conseils relatifs aux API Google Drive (Python)
Gonfler des données textuelles par retranslation à l'aide de Google Traduction en Python
Appelez l'API Bing Image Search v5 depuis Python pour collecter des images
Acquisition de données à l'aide de l'API googlemap de python
[Python] Accédez à l'API Google Translation
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
Détermination du système d'exploitation par Makefile en utilisant Python
Extraire le fichier targz en utilisant python
Reconnaissance faciale à l'aide de l'API de Pepper
Exécutez Ansible à partir de Python à l'aide de l'API
Reconnaissance de caractères manuscrits à l'aide de KNN en Python
[Python] Opération de fichier utilisant l'instruction if
[SEO] Flux / exemple de code lors de l'utilisation de l'API Google Analytics en Python
Utiliser l'API Google Analytics de Python
API Google Cloud Speech et Amazon Transcribe
Exemple d'API Google Cloud Vision pour python
Python: principes de base de la reconnaissance d'image à l'aide de CNN
Fonctionnement de la souris à l'aide de l'API Windows en Python
Python> dictionnaire> values ()> Obtenir toutes les valeurs à l'aide de values ()
Estimation de catégorie à l'aide de l'API de reconnaissance d'image de docomo
Reconnaissance vocale en anglais avec python [speech to text]
Essayez d'utiliser l'API Wunderlist en Python
Essayez d'utiliser l'API Kraken avec Python
[Débutant] Scrapage Web Python facile à comprendre à l'aide de Google Colaboratory
J'ai essayé d'utiliser l'API de données YOUTUBE V3
Python: Application de la reconnaissance d'image à l'aide de CNN
Obtenez les données de l'API Google Fit en Python
Essayez d'utiliser Python avec Google Cloud Functions
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Utiliser l'API Google Cloud Vision de Python
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
Lisez le fichier ligne par ligne avec Python
[Python] Affichage de la progression par barre de progression en utilisant tqdm
Collection d'images à l'aide de l'API Google Custom Search
API de reconnaissance faciale sans serveur conçue avec Python
Implémentation du wrapper Python pour l'API Qiita v2
Reconnaissance de scène par quantité de fonctionnalités GIST en Python
Ajouter une fonction de conversation au robot slack (créé par python) à l'aide de l'API Talk de Recruit
Obtenez une liste d'articles publiés par les utilisateurs avec Python 3 Qiita API v2
[Python] Totale automatiquement le nombre total d'articles publiés par Qiita à l'aide de l'API
Comment afficher la carte à l'aide de l'API Google Map (Android)
Créer un fichier GIF en utilisant Pillow en Python
Synthèse vocale et reconnaissance vocale par Microsoft Project Oxford
[Python] Fractionner un gros fichier Flask en utilisant Blueprint