** Comment transcrire l'audio d'un fichier WAV avec l'API Google Cloud Speech-to-Text **. [Article sur la transcription d'un fichier FLAC](https://qiita.com/knyrc/items/ 7aab521edfc9bfb06625) a été utilisé comme référence pour transcrire le fichier WAV. Avec cette méthode, vous pouvez transcrire ** sans convertir au format FLAC.
** Étant donné que l'API Cloud Speech-to-Text obtient les informations requises pour la transcription à partir des informations d'en-tête du fichier WAV **, il est nécessaire de confirmer à l'avance si l'en-tête du fichier WAV à convertir en voix est normal. Les informations à confirmer dans les informations d'en-tête sont ** s'il s'agit de PCM (fmt_wave_format_type) et de fréquence d'échantillonnage (fmt_samples_per_sec) **.
Si vous souhaitez vérifier les spécifications de l'API Cloud Speech-to-Text, cliquez sur [Recognition Config](https://cloud.google.com/speech-to-text/docs/reference/rpc/google.cloud.speech.v1] dans VS Code. Veuillez accéder à la source de la définition (# google.cloud.speech.v1.RecognitionConfig).
Vérifiez les informations d'en-tête en exécutant le programme écrit dans Article sur la lecture des informations d'en-tête du fichier WAVE avec Python.
--fmt_samples_per_sec: 8000-48000 (16000 est le meilleur) --fmt_wave_format_type: 1 (pointe vers PCM)
Reportez-vous à ici et ** Exportez le fichier WAV à l'aide de l'application "Musique" par défaut de Mac ** Ça a marché!
** [Attention] Les fichiers WAV exportés avec iMovie et les fichiers WAV édités avec QuickTime Player n'ont pas pu être déplacés car les en-têtes ne sont pas normaux! ** **
En gros, reportez-vous à Article sur la transcription des fichiers FLAC et créez une ** clé json **.
** [Attention] Cette fois, le fichier WAV téléversé sur Google Cloud Storage sera transcrit, il est donc nécessaire d'accorder l'accès Cloud Storage au compte de service. **
Ajoutez un visualiseur d'objets de stockage à votre rôle.
Si vous utilisez un compte de service auquel vous n'avez pas accès à Cloud Storage, vous devriez vous mettre en colère:
PermissionDenied: 403 hogehoge does not have storage.objects.get access to the Google Cloud Storage object.
Définissez le chemin du fichier json que vous avez téléchargé précédemment dans la variable d'environnement.
export GOOGLE_APPLICATION_CREDENTIALS=./hoge.json
Veuillez vous reporter à Article sur la transcription d'un fichier FLAC et télécharger le fichier WAV sur Cloud Storage. Si vous regardez l'écran des détails de l'objet, gs Vous pouvez voir le chemin du fichier vers la ressource dans Cloud Storage en commençant par.
Je l'ai créé en me référant à Article sur la transcription des fichiers FLAC.
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)
#Puisqu'il est écrit dans l'en-tête du fichier audio, il n'est pas nécessaire de spécifier la fréquence d'échantillonnage.
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)
Spécifiez le chemin du fichier vers la ressource dans Cloud Storage en commençant par gs: // dans l'argument et exécutez le script.
python transcribe.py gs://hogehoge.wav
Le résultat est une sortie standard et un fichier texte.
Transcript:Si vous pouvez vous inscrire
Confidence: 0.8765763640403748
Transcript:Je pense que c'est mieux d'être là
Confidence: 0.8419854640960693
20201022-010101.txt
Si vous pouvez vous inscrire
Je pense que c'est mieux d'être là
Recommended Posts