** So transkribieren Sie WAV-Datei-Audio mit der Google Cloud Speech-to-Text-API ** [Artikel zum Transkribieren von FLAC-Dateien](https://qiita.com/knyrc/items/ 7aab521edfc9bfb06625) wurde als Referenz zum Transkribieren der WAV-Datei verwendet. Mit dieser Methode können Sie ** transkribieren, ohne in das FLAC-Format zu konvertieren.
Klicken Sie hier, um den Code anzuzeigen
** Da die Cloud Speech-to-Text-API die für die Transkription erforderlichen Informationen aus den Header-Informationen der WAV-Datei erhält **, muss im Voraus bestätigt werden, ob der Header der in Voice zu konvertierenden WAV-Datei normal ist. Die in den Headerinformationen zu bestätigenden Informationen sind ** ob es sich um PCM (fmt_wave_format_type) und Abtastfrequenz (fmt_samples_per_sec) ** handelt.
Wenn Sie die Spezifikationen der Cloud Speech-to-Text-API überprüfen möchten, klicken Sie im VS-Code auf Recognition Config. Bitte springen Sie zur Definitionsquelle (# google.cloud.speech.v1.RecognitionConfig).
Überprüfen Sie die Header-Informationen, indem Sie das in Artikel zum Lesen der Header-Informationen der WAVE-Datei mit Python beschriebene Programm ausführen.
--fmt_samples_per_sec: 8000-48000 (16000 ist das Beste) --fmt_wave_format_type: 1 (zeigt auf PCM)
Siehe hier und ** WAV-Datei mit Macs Standard-App "Musik" exportieren ** Es funktionierte!
** [Achtung] Mit iMovie exportierte WAV-Dateien und mit QuickTime Player bearbeitete WAV-Dateien konnten nicht verschoben werden, da die Header nicht normal sind! ** ** **
Lesen Sie im Wesentlichen Artikel zum Transkribieren von FLAC-Dateien und erstellen Sie einen ** json-Schlüssel **.
** [Achtung] Dieses Mal wird die in Google Cloud Storage hochgeladene WAV-Datei transkribiert. Daher muss Cloud Storage-Zugriff auf das Dienstkonto gewährt werden. **
Fügen Sie Ihrer Rolle einen Speicherobjekt-Viewer hinzu.
Wenn Sie ein Dienstkonto verwenden, auf das Sie keinen Cloud-Speicherzugriff haben, sollten Sie sich ärgern:
PermissionDenied: 403 hogehoge does not have storage.objects.get access to the Google Cloud Storage object.
Legen Sie den Pfad der zuvor heruntergeladenen JSON-Datei zur Umgebungsvariablen fest.
export GOOGLE_APPLICATION_CREDENTIALS=./hoge.json
Lesen Sie den Artikel zum Transkribieren der FLAC-Datei und laden Sie die WAV-Datei in den Cloud-Speicher hoch Sie können den Dateipfad zur Ressource in Cloud Storage ab beginnen.
Ich habe es unter Bezugnahme auf Artikel zum Transkribieren von FLAC-Dateien erstellt.
transcribe.py
# # !/usr/bin/env python
# coding: utf-8
import argparse
import datetime
def transcribe(gcs_uri):
from google.cloud import speech_v1 as speech
from google.cloud.speech_v1 import types
client = speech.SpeechClient()
audio = types.RecognitionAudio(uri=gcs_uri)
#Da es in den Header der Audiodatei geschrieben ist, muss die Abtastfrequenz nicht angegeben werden.
config = types.RecognitionConfig(language_code='ja-JP')
operation = client.long_running_recognize(config, audio)
operationResult = operation.result()
now = datetime.datetime.now()
print('Waiting for operation to complete...')
with open('./{}.txt'.format(now.strftime("%Y%m%d-%H%M%S")), mode='w') as f:
for result in operationResult.results:
print("Transcript: {}".format(result.alternatives[0].transcript))
print("Confidence: {}".format(result.alternatives[0].confidence))
f.write('{}\n'.format(result.alternatives[0].transcript))
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument(
'path', help='cloud storage path start with gs://')
args = parser.parse_args()
transcribe(args.path)
Geben Sie den Dateipfad zur Ressource in Cloud Storage an, beginnend mit gs: // im Argument, und führen Sie das Skript aus.
python transcribe.py gs://hogehoge.wav
Das Ergebnis wird als Standardausgabe und als Textdatei ausgegeben.
Transcript:Wenn Sie sich registrieren können
Confidence: 0.8765763640403748
Transcript:Ich denke, es ist besser, dort zu sein
Confidence: 0.8419854640960693
20201022-010101.txt
Wenn Sie sich registrieren können
Ich denke, es ist besser, dort zu sein
Recommended Posts