[PYTHON] Procédure de transcription vocale à l'aide de l'API Google Cloud Speech

Objectif

Article sur la transcription de la voix à l'aide de l'API Google Cloud Speech comme l'un des moyens de sauvegarder la source sonore enregistrée sous forme de données texte en participant à des cours et conférences en anglais items / 659bde4cdc8ce5c78e29) a été utile, je vais donc réorganiser la procédure ci-dessous (mémo de procédure).

Préparation préalable

procédure

1. Entrez dans l'écran de la console

Accédez à l'URL de Google Cloud Platform (https://cloud.google.com/?hl=ja) et appuyez sur Ouvrir la console pour accéder à l'écran de la console.

Écran de connexion à la console Google Cloud Platform: スクリーンショット 2017-09-16 11.55.30.png

Écran de la console: スクリーンショット 2017-09-16 11.56.12.png

2. Activez l'API Google Cloud Speech

Sélectionnez Outils et services> API et services> Bibliothèque en haut à gauche de l'écran de la console, sélectionnez API Speech dans la liste des API et appuyez sur Activer pour activer l'API Google Speech.

スクリーンショット 2017-09-16 12.00.13.png

Écran de la liste des API スクリーンショット 2017-09-16 12.02.19.png

Activer l'API ([Désactiver] s'affiche car il est déjà activé) スクリーンショット 2017-09-16 12.02.58.png

Vous pouvez vérifier l'activation de l'API Google Speech dans [API et services]> [Tableau de bord]: スクリーンショット 2017-09-16 12.19.01.png

3. Créez les informations d'identification de l'API (créez la clé de compte de service)

Sélectionnez [API et services]> [Credentials]> [Create Credentials]> [Service Account Key] sur la gauche, définissez un [Service Account Name] approprié (supposé être arkbbb ici), puis cliquez sur le bouton Créer. Appuyez sur pour télécharger le fichier JSON.

スクリーンショット 2017-09-16 12.08.54.png

Écran de création de clé de compte de service: スクリーンショット 2017-09-16 12.09.51.png

4. Authentification API avec Google Cloud Shell (téléchargement JSON de clé de compte de service et enregistrement de variable d'environnement)

Démarrez Google Cloud Shell avec le bouton Google Cloud Shell en haut à droite de l'écran de la console Google Cloud Platform, importez le JSON obtenu en 3. et définissez-le dans la variable d'environnement.

Bouton Google Cloud Shell: スクリーンショット 2017-09-16 12.21.39.png

Téléchargement JSON: スクリーンショット 2017-09-16 12.25.45.png

Commande de paramétrage des variables d'environnement


$ export GOOGLE_APPLICATION_CREDENTIALS=[3.Nom JSON obtenu dans].json

5. Télécharger des données vocales

Importez les données vocales préparées dans Google Cloud Storage. Tout d'abord, sélectionnez [Outils et services]> [Stockage]> [Navigateur] en haut à gauche de l'écran, créez un bucket avec [Create Bucket], double-cliquez sur le bucket créé et cliquez sur [Upload File] pour les données audio. Télécharger.

Accédez à l'écran Google Cloud Storage: スクリーンショット 2017-09-16 12.28.57.png

Création d'un bucket (le nom du bucket et les autres paramètres sont dans le texte): スクリーンショット 2017-09-16 12.30.19.png

Téléchargement de fichiers dans le bucket: スクリーンショット 2017-09-16 12.36.32.png

6. Exécution de la transcription Création de scripts Python

Créez un script Python pour l'exécution de la transcription sur Google Cloud Shell.

Commande d'édition de fichier Python (éditeur comme vous le souhaitez)


$ nano transcribe.py

Script Python pour la transcription (pour la voix anglaise):

transcribe.py


# !/usr/bin/env python
# coding: utf-8
import argparse
import io
import sys
import codecs
import datetime
import locale

def transcribe_gcs(gcs_uri):
    from google.cloud import speech
    from google.cloud.speech import enums
    from google.cloud.speech import types
    client = speech.SpeechClient()

    audio = types.RecognitionAudio(uri=gcs_uri)
    config = types.RecognitionConfig(
        sample_rate_hertz=16000,
        encoding=enums.RecognitionConfig.AudioEncoding.FLAC,
        language_code='en-US')

    operation = client.long_running_recognize(config, audio)

    print('Waiting for operation to complete...')
    operationResult = operation.result()

    d = datetime.datetime.today()
    today = d.strftime("%Y%m%d-%H%M%S")
    fout = codecs.open('output{}.txt'.format(today), 'a', 'shift_jis')

    for result in operationResult.results:
      for alternative in result.alternatives:
          fout.write(u'{}\n'.format(alternative.transcript))
    fout.close()

if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description=__doc__,
        formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument(
        'path', help='GCS path for audio file to be recognized')
    args = parser.parse_args()
    transcribe_gcs(args.path)

Si vous souhaitez transcrire le japonais, modifiez la ligne suivante:

language_code='en-US')

language_code='ja-JP')

7. Transcription vocale

Exécutez la transcription avec la commande suivante sur Google Cloud Console.

$ python transcribe.py gs://Nom du godet/Nom des données vocales.flac

8. Résultat de l'exécution

Si vous vérifiez le fichier créé par la commande ls sur la console Google Cloud après son exécution, un fichier texte nommé [output * .txt] sera créé afin que vous puissiez l'ouvrir et vérifier le résultat. Le résultat pour les 1-2 premières minutes était ci-dessous. Si vous l'écoutez avec Sound source, il y a des erreurs, mais vous pouvez voir qu'il est principalement transcrit.

and not.
 We have just attended this big Tatum Outlet
 and we held a pydata event it was actually the first I did it
 and some of these slides are actually problem, says talk to and so at strata we saw many people talking about the Duke talking about Big Data there were looking at using Java in a management
 and there was a whole lot of our versus Python language rewards on Facebook
 the Travis and I were not content with the state of things we saw that python to play a very significant role Travis made the slide that's from The Little Prince that shows a snake swallowing the open
 he was also talking about using compilers make python faster
 it was also not that pilot event that we were very fortunate to have weido been awesome stopping by and we talked to him about things like the matrix multiplication operator we talked about coding expressions and things like that
 and so this actually his picture show does Travis and West McKinney who's the greater pandas and Guido van Rossum
 add
 and we ask we don't fix the packaging problem he told us that we should do it ourselves
 and so we did and that's how it came up with Honda and Anaconda which I think quite elegantly solves the difficult packaging problems for the Scientific Games
 so we accepted the challenge and so for those who don't know what Anaconda is very quickly I'll give you it is basically a very simple way and very reliable way to get final versions of many very popular typical to build packages in libraries in the python ecosystem

À propos, les données de résultat réelles sont ici

point important

référence

Impressions

Recommended Posts

Procédure de transcription vocale à l'aide de l'API Google Cloud Speech
Procédure de transcription vocale à l'aide de Python et de l'API Google Cloud Speech
Transcription vocale automatique avec l'API Google Cloud Speech
API Google Cloud Speech et Amazon Transcribe
Reconnaissance vocale en streaming avec l'API Google Cloud Speech
Diffusez la reconnaissance vocale à l'aide de l'API gRPC Google Cloud Speech avec python3 sur Mac!
J'ai essayé d'utiliser l'API Google Cloud Vision
[GoogleCloudPlatform] Utiliser l'API Google Cloud avec la bibliothèque cliente d'API
Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python
Étude de la relation entre le prétraitement de la voix et la précision de la transcription dans l'API Google Cloud Speech
Reconnaissance vocale des fichiers wav avec Google Cloud Speech API Beta
Essayez de juger des photos de plats à l'aide de l'API Google Cloud Vision
Publions l'API de super résolution à l'aide de Google Cloud Platform
Imprimez un PDF à l'aide de Google Cloud Print. (GoogleAPI)
J'ai essayé d'utiliser l'API de reconnaissance vocale docomo et l'API Google Speech en Java
Exemple d'API Google Cloud Vision pour python
Essayez d'utiliser Python avec Google Cloud Functions
Utiliser l'API Google Cloud Vision de Python
Collection d'images à l'aide de l'API Google Custom Search
Créer une feuille de calcul Google à l'aide de l'API Python / Google Data
Transcrire des fichiers WAV avec l'API Cloud Speech
Comment afficher la carte à l'aide de l'API Google Map (Android)
Procédure pour utiliser l'API WEB de TeamGant (en utilisant python)
Transcription de vidéos YouTube à l'aide de Cloud Speech-to-Text de GCP
Comment utiliser l'API Google Cloud Translation
Jusqu'à ce que vous puissiez utiliser l'API Google Speech
Importez un fichier JPG à l'aide de l'API Google Drive en Python
[Python] Obtenez des données insight à l'aide de l'API Google My Business
Comment analyser avec Google Colaboratory à l'aide de l'API Kaggle
J'ai essayé l'API Google Cloud Vision pour la première fois
L'histoire de la création d'une base de données à l'aide de l'API Google Analytics
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google