[PYTHON] Sprachtranskriptionsverfahren mit der Google Cloud Speech API

Zweck

Artikel zur Transkription von Sprache mit der Google Cloud Speech API als eines der Mittel zum Speichern aufgezeichneter Tonquellen als Textdaten durch Teilnahme an englischen Vorträgen und Konferenzen items / 659bde4cdc8ce5c78e29) war hilfreich, daher werde ich die folgende Prozedur neu organisieren (Prozedurnotiz).

Vorbereitungen

Verfahren

1. Rufen Sie den Konsolenbildschirm auf

Wechseln Sie zur URL der Google Cloud-Plattform (https://cloud.google.com/?hl=ja) und drücken Sie Konsole öffnen, um den Konsolenbildschirm aufzurufen.

Anmeldebildschirm der Google Cloud Platform-Konsole: スクリーンショット 2017-09-16 11.55.30.png

Konsolenbildschirm: スクリーンショット 2017-09-16 11.56.12.png

2. Aktivieren Sie die Google Cloud Speech API

Wählen Sie oben links im Konsolenbildschirm Tools & Services> APIs & Services> Libraries aus, wählen Sie Speech API aus der Liste der APIs aus und klicken Sie auf Enable, um die Google Speech API zu aktivieren.

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

API-Listenbildschirm スクリーンショット 2017-09-16 12.02.19.png

API aktivieren ([Deaktivieren] wird angezeigt, da es bereits aktiviert ist) スクリーンショット 2017-09-16 12.02.58.png

Sie können die Aktivierung der Google Speech-API unter [APIs und Dienste]> [Dashboard] überprüfen: スクリーンショット 2017-09-16 12.19.01.png

3. API-Anmeldeinformationen erstellen (Dienstkontoschlüssel erstellen)

Wählen Sie links [API und Dienste]> [Anmeldeinformationen]> [Anmeldeinformationen erstellen]> [Dienstkontoschlüssel] aus, legen Sie einen geeigneten [Dienstkontonamen] fest (hier als arkbbb angenommen) und klicken Sie auf die Schaltfläche Erstellen. Drücken Sie, um die JSON-Datei herunterzuladen.

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

Bildschirm zur Erstellung des Dienstkontoschlüssels: スクリーンショット 2017-09-16 12.09.51.png

4. API-Authentifizierung mit Google Cloud Shell (JSON-Upload und Registrierung von Umgebungsvariablen für den Dienstkontoschlüssel)

Starten Sie Google Cloud Shell mit der Schaltfläche Google Cloud Shell oben rechts auf dem Konsolenbildschirm der Google Cloud Platform, laden Sie den in 3. erhaltenen JSON hoch und legen Sie ihn in der Umgebungsvariablen fest.

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

JSON-Upload: スクリーンショット 2017-09-16 12.25.45.png

Befehl zum Einstellen der Umgebungsvariablen


$ export GOOGLE_APPLICATION_CREDENTIALS=[3.JSON-Name erhalten in].json

5. Sprachdaten hochladen

Laden Sie die vorbereiteten Sprachdaten in Google Cloud Storage hoch. Wählen Sie zunächst oben links auf dem Bildschirm [Extras und Dienste]> [Speicher]> [Browser] aus, erstellen Sie einen Bucket mit [Bucket erstellen], doppelklicken Sie auf den erstellten Bucket und klicken Sie auf [Datei hochladen] für Audiodaten. Hochladen.

Wechseln Sie zum Bildschirm "Google Cloud Storage": スクリーンショット 2017-09-16 12.28.57.png

Erstellen eines Buckets (Bucket-Name und andere Einstellungen sind im Text enthalten): スクリーンショット 2017-09-16 12.30.19.png

Hochladen von Dateien in den Bucket: スクリーンショット 2017-09-16 12.36.32.png

6. Transkriptionsausführung Erstellung eines Python-Skripts

Erstellen Sie ein Python-Skript für die Transkriptionsausführung in Google Cloud Shell.

Python-Dateibearbeitungsbefehl (Editor nach Belieben)


$ nano transcribe.py

Python-Skript für die Transkription (für englische Stimme):

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)

Wenn Sie Japanisch transkribieren möchten, ändern Sie die folgende Zeile:

language_code='en-US')

language_code='ja-JP')

7. Sprachtranskription durchführen

Führen Sie die Transkription mit dem folgenden Befehl in der Google Cloud Console aus.

$ python transcribe.py gs://Eimername/Name der Sprachdaten.flac

8. Ausführungsergebnis

Wenn Sie die mit dem Befehl ls in der Google Cloud Console erstellte Datei nach der Ausführung überprüfen, wird eine Textdatei mit dem Namen [output * .txt] erstellt, damit Sie sie öffnen und das Ergebnis überprüfen können. Das Ergebnis für die ersten 1-2 Minuten war unten. Wenn Sie es zusammen mit [Tonquelle] anhören (https://drive.google.com/file/d/0B3tWAndMrYtoSGdRcGtJbnA1SW8/view?usp=sharing), gibt es einige Fehler, aber Sie können sehen, dass es größtenteils transkribiert ist.

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

Die tatsächlichen Ergebnisdaten sind übrigens hier

wichtiger Punkt

Referenz

Impressionen

Recommended Posts

Sprachtranskriptionsverfahren mit der Google Cloud Speech API
Sprachtranskriptionsverfahren mit Python und Google Cloud Speech API
Automatische Sprachtranskription mit Google Cloud Speech API
Google Cloud Speech API im Vergleich zu Amazon Transcribe
Streaming-Spracherkennung mit der Google Cloud Speech API
Streamen Sie die Spracherkennung mithilfe der gRPC-API von Google Cloud Speech mit Python3 auf dem Mac!
Ich habe versucht, die Google Cloud Vision-API zu verwenden
[GoogleCloudPlatform] Verwenden Sie die Google Cloud-API mit der API-Clientbibliothek
Sprachdateierkennung durch Google Speech API v2 mit Python
Untersuchung der Beziehung zwischen Sprachvorverarbeitung und Transkriptionsgenauigkeit in der Google Cloud Speech API
Spracherkennung von WAV-Dateien mit der Google Cloud Speech API Beta
Versuchen Sie, Lebensmittelfotos mithilfe der Google Cloud Vision-API zu beurteilen
Lassen Sie uns die Super Resolution API mithilfe der Google Cloud Platform veröffentlichen
Drucken Sie PDF mit Google Cloud Print. (GoogleAPI)
Ich habe versucht, die Docomo-Spracherkennungs-API und die Google Speech-API in Java zu verwenden
Google Cloud Vision API-Beispiel für Python
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
Verwenden Sie die Google Cloud Vision-API von Python
Bildersammlung mit der benutzerdefinierten Such-API von Google
Erstellen einer Google-Tabelle mit der Python / Google Data-API
Transkribieren Sie WAV-Dateien mit der Cloud Speech API
So zeigen Sie eine Karte mit der Google Map API (Android) an
Vorgehensweise zur Verwendung der WEG-API von TeamGant (mit Python)
Transkription von YouTube-Videos mit GCPs Cloud Speech-to-Text
Verwendung der Google Cloud Translation API
Bis Sie die Google Speech API verwenden können
Laden Sie eine JPG-Datei mit der Google Drive-API in Python hoch
[Python] Abrufen von Insight-Daten mithilfe der Google My Business-API
Analysieren mit Google Colaboratory mithilfe der Kaggle-API
Ich habe die Google Cloud Vision-API zum ersten Mal ausprobiert
Die Geschichte des Erstellens einer Datenbank mithilfe der Google Analytics-API
Spielen Sie mit der YouTube Data API v3 mit dem Google API Python Client