[PYTHON] Automatische Sprachtranskription mit Google Cloud Speech API

Ein Traum davon, Tonquellen für Konferenzen und Interviews automatisch zu transkribieren

Die API wurde im August 2017 aktualisiert, um bis zu 3 Stunden Audio zu ermöglichen. Ich habe versucht, Audiodaten in eine TXT-Datei zu konvertieren. Die Umgebung verwendet die Cloud-Konsole von GCP, die auch unterwegs verwendet werden kann, sodass sie automatisch transkribiert werden kann, sobald ein Interview geführt wird.

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

Umwelt, Sprache usw.

Sprach-API aktivieren

Aktivieren Sie die Sprach-API unter Bezugnahme auf die unten stehende URL. Kostenlos für bis zu 60 Minuten Sprache. Danach werden Ihnen alle 15 Sekunden 0,6 Cent berechnet. Wenn Sie jedoch zum ersten Mal die Google Cloud Platform verwenden, erhalten Sie 300 US-Dollar, gültig für ein Jahr (Stand August 2017). https://cloud.google.com/speech/docs/getting-started

Erstellen Sie die Authentifizierungsinformationen in der Dienstkonto-Schlüsseldatei (JSON-Format).

API-Authentifizierung mit Google Cloud Shell

Starten Sie Google Cloud Shell und laden Sie die JSON-Datei zur Authentifizierung in der oberen rechten Ecke hoch.

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

Authentifizieren Sie sich nach dem Hochladen mit der JSON-Datei.

python


$ export GOOGLE_APPLICATION_CREDENTIALS=hogehoge.json

Audiodatei erstellen

Es ist nicht möglich, MP3 oder AAC so wie es ist zu verwenden, und es ist notwendig, es in ein kompatibles Format zu konvertieren. Ich habe verschiedene Dinge ausprobiert, aber die folgenden Einstellungen werden empfohlen.

(Referenz: Online-Konvertierungsdienst) https://audio.online-convert.com/convert-to-flac

Umwandlung

Laden Sie die FLAC-Datei in Google Cloud Strage hoch. Klicken Sie hier, um zu erfahren, wie Sie Google Cloud Storage erstellen https://cloud.google.com/storage/docs/quickstart-console?hl=ja

Ich habe die Python-Datei direkt in die Shell hochgeladen. Ich bin kein Hauptingenieur, also während ich mir das Tutorial ansehe ...

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)

Führen Sie abschließend die folgenden Schritte aus und warten Sie eine Weile, bis die Konvertierung abgeschlossen ist.

python


$ python transcribe.py gs://Eimername/testmusic.flac

Hinweis

python


config = types.RecognitionConfig(
        encoding=enums.RecognitionConfig.AudioEncoding.FLAC,
        sample_rate_hertz=16000, #Fügen Sie diese Zeile hinzu
        language_code='ja-JP')

python


sudo pip install --upgrade google-cloud-speech

Genauigkeit (Eindruck)

Dinge, die nicht mit Genauigkeit zusammenhängen

Dinge im Zusammenhang mit Genauigkeit

Es ist überraschend, dass der Nachhall des Raumes die Genauigkeit erheblich beeinflusst. Geräusche wie Klimaanlagengeräusche beeinträchtigten die Genauigkeit nicht, selbst wenn sie ziemlich laut waren. Es kann leicht zu trennen sein.

Recommended Posts

Automatische Sprachtranskription mit Google Cloud Speech API
Streaming-Spracherkennung mit der Google Cloud Speech API
Sprachtranskriptionsverfahren mit der Google Cloud Speech API
Sprachtranskriptionsverfahren mit Python und Google Cloud Speech API
Spracherkennung von WAV-Dateien mit der Google Cloud Speech API Beta
Google Cloud Speech API im Vergleich zu Amazon Transcribe
Transkribieren Sie WAV-Dateien mit der Cloud Speech API
Untersuchung der Beziehung zwischen Sprachvorverarbeitung und Transkriptionsgenauigkeit in der Google Cloud Speech API
Einführung der Google Map API mit Schienen
Streamen Sie die Spracherkennung mithilfe der gRPC-API von Google Cloud Speech mit Python3 auf dem Mac!
Google Cloud Vision API-Beispiel für Python
Sprachauthentifizierung und Transkription mit Raspberry Pi 3 x Julius x Watson (Rede zu Text)
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
Verwenden Sie die Google Cloud Vision-API von Python
[GCP] Betreiben Sie Google Cloud Storage mit Python
Transkription von Bildern mit der Vision API von GCP
Holen Sie sich Urlaub mit der Google Kalender-API
Automatisches Follow-Back mit Streaming-API mit Tweepy
Probleme mit den Ausgabeergebnissen mit der Cloud Vision-API von Google
Textextraktion mit GCP Cloud Vision API (Python3.6)
Ich habe "License OCR" mit der Google Vision API ausprobiert
Ich habe versucht, die Google Cloud Vision-API zu verwenden
Verwendung der Google Cloud Translation API
Bis Sie die Google Speech API verwenden können
Ich habe "Receipt OCR" mit der Google Vision API ausprobiert
[GoogleCloudPlatform] Verwenden Sie die Google Cloud-API mit der API-Clientbibliothek
Erhalten Sie Datenbeschriftungen, indem Sie bei der Vorschau von Bildern mit Rails eine Verknüpfung mit der Google Cloud Vision-API herstellen
Einfache Buchregistrierung mit Google Books API und Rails
Erstellen Sie eine Tweet-Heatmap mit der Google Maps-API
Eine Geschichte, die mit ein wenig Einfallsreichtum mit Google Cloud Storage verknüpft ist
Nutzung von Google Cloud Storage (GCS) durch "GAE / Py"
Analysieren mit Google Colaboratory mithilfe der Kaggle-API
Sprachdateierkennung durch Google Speech API v2 mit Python
Hochladen auf ein freigegebenes Laufwerk mit Google Drive API V3
Eine Geschichte über das Lesen eines Bilderbuchs durch Synthetisieren von Sprache mit COTOHA API und Cloud Vision API