[PYTHON] Transcription vocale automatique avec l'API Google Cloud Speech

Un rêve de transcrire automatiquement les sources sonores de conférence et d'interview

L'API a été mise à jour en août 2017 pour permettre jusqu'à 3 heures d'audio. J'ai essayé de convertir les données audio en fichier txt. L'environnement utilise la console cloud de GCP, qui peut être utilisée en déplacement, afin qu'il puisse être automatiquement transcrit dès qu'une interview est prise.

※référence http://jp.techcrunch.com/2017/08/15/20170814google-updates-its-cloud-speech-api-with-support-for-more-languages-word-level-timestamps/

Environnement, langue, etc.

Activer l'API Speech

Activez l'API Speech en vous référant à l'URL ci-dessous. Gratuit jusqu'à 60 minutes de voix, après quoi vous serez facturé 0,6 centimes toutes les 15 secondes, mais si vous utilisez Google Cloud Platform pour la première fois, vous recevrez 300 $, qui est valable un an (à partir d'août 2017) https://cloud.google.com/speech/docs/getting-started

Créez les informations d'authentification dans le fichier de clé du compte de service (format JSON).

Authentification API avec Google Cloud Shell

Lancez Google Cloud Shell et importez le fichier JSON pour l'authentification dans le coin supérieur droit.

image2017-8-22_11-46-50.png

Après le téléchargement, authentifiez-vous avec le fichier JSON.

python


$ export GOOGLE_APPLICATION_CREDENTIALS=hogehoge.json

Créer un fichier audio

Il n'est pas possible d'utiliser le mp3 ou le AAC tel quel, et il est nécessaire de le convertir dans un format compatible. J'ai essayé diverses choses, mais les paramètres suivants sont recommandés.

(Référence: service de conversion en ligne) https://audio.online-convert.com/convert-to-flac

conversion

Téléchargez le fichier FLAC dans Google Cloud Strage. Cliquez ici pour savoir comment créer Google Cloud Storage https://cloud.google.com/storage/docs/quickstart-console?hl=ja

J'ai téléchargé le fichier python directement dans le shell. Je ne suis pas un ingénieur principal, alors en regardant le tutoriel, je vais y aller ...

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(
        encoding=enums.RecognitionConfig.AudioEncoding.FLAC,
        language_code='ja-JP')

    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)

Enfin, procédez comme suit et attendez un moment pour terminer la conversion.

python


$ python transcribe.py gs://Nom du godet/testmusic.flac

Mise en garde

python


config = types.RecognitionConfig(
        encoding=enums.RecognitionConfig.AudioEncoding.FLAC,
        sample_rate_hertz=16000, #Ajouter cette ligne
        language_code='ja-JP')

python


sudo pip install --upgrade google-cloud-speech

Précision (impression)

Choses qui ne sont pas liées à la précision

Choses liées à la précision

Il est surprenant que la réverbération de la pièce affecte considérablement la précision. Le bruit tel que le bruit de la climatisation n'affectait pas la précision, même s'il était assez bruyant. Il peut être facile de séparer.

Recommended Posts

Transcription vocale automatique avec l'API Google Cloud Speech
Reconnaissance vocale en streaming avec l'API Google Cloud Speech
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
Reconnaissance vocale des fichiers wav avec Google Cloud Speech API Beta
API Google Cloud Speech et Amazon Transcribe
Transcrire des fichiers WAV avec l'API Cloud Speech
Étude de la relation entre le prétraitement de la voix et la précision de la transcription dans l'API Google Cloud Speech
Présentation de l'API Google Map avec rails
Diffusez la reconnaissance vocale à l'aide de l'API gRPC Google Cloud Speech avec python3 sur Mac!
Exemple d'API Google Cloud Vision pour python
Authentification vocale et transcription avec Raspberry Pi 3 x Julius x Watson (Speech to Text)
Essayez d'utiliser Python avec Google Cloud Functions
Utiliser l'API Google Cloud Vision de Python
[GCP] Exploitez Google Cloud Storage avec Python
Transcription d'images avec l'API Vision de GCP
Obtenez des vacances avec l'API Google Agenda
Suivi automatique à l'aide de l'API de streaming avec Tweepy
Problèmes avec les résultats de sortie avec l'API Cloud Vision de Google
Extraction de texte avec l'API GCP Cloud Vision (Python3.6)
J'ai essayé "License OCR" avec l'API Google Vision
J'ai essayé d'utiliser l'API Google Cloud Vision
Comment utiliser l'API Google Cloud Translation
Jusqu'à ce que vous puissiez utiliser l'API Google Speech
J'ai essayé "Receipt OCR" avec l'API Google Vision
[GoogleCloudPlatform] Utiliser l'API Google Cloud avec la bibliothèque cliente d'API
Obtenez des étiquettes de données en les associant à l'API Google Cloud Vision lors de la prévisualisation d'images avec Rails
Enregistrement facile des livres avec l'API et Rails de Google Livres
Créez une carte thermique de tweet avec l'API Google Maps
Une histoire liée à Google Cloud Storage avec un peu d'ingéniosité
Utilisation de Google Cloud Storage (GCS) par "GAE / Py"
Comment analyser avec Google Colaboratory à l'aide de l'API Kaggle
Reconnaissance vocale des fichiers par l'API Google Speech v2 à l'aide de Python
Transférer vers un Drive partagé avec l'API Google Drive V3
Une histoire de lecture d'un livre d'images en synthétisant la voix avec l'API COTOHA et l'API Cloud Vision