結果を先にいうと、求める精度ではなかったのだけど
もったいないので試した経緯だけ残しておきます。
音声ファイルを用意する
afconvert -f WAVE -d LEI16 -c 1 XXXXX.m4a XXXXX.wav
- 実際の音声のはじめ部分
A: よろしくおねがいします B: よろしくおねがいします A: といってもどうやりましょうね
Google Speech-to-Text を試す
$export GOOGLE_APPLICATION_CREDENTIALS = XXXXX.json
- 音声ファイルをGCSにあげておく
$ gsutil cp XXXXX.wav gs://bucketsXXX/XXXXX.wav
- サンプルコードを手元に落とす
$ git clone https://github.com/googleapis/python-speech.git
- 仮想環境作成し必要なモジュール入れる
$ virtualenv env $ source env/bin/activate $ pip install -r requirements.txt
- サンプルコードに手を加え
- sample_rate_hertz=16000, - language_code="en-US", - model=model, + sample_rate_hertz=48000, + language_code="ja-JP", + #model=model,
- GCS上の音声ファイルをテキスト化してみる
$ python transcribe_model_selection.py gs://bucketsXXX/XXXXX.wav > interview.txt
- 結果
Waiting for operation to complete... -------------------- First alternative of result 0 Transcript: お願いします -------------------- First alternative of result 1 Transcript: 言ってももうやりましょうね -------------------- ・・・・・
Google Speech API を試す
- 非同期で処理
$ gcloud ml speech recognize-long-running 'gs://bucketsXXX/XXXXX.wav' --language-code='ja-JP' --sample-rate=48000 --async Check operation [operations/XXXXXXXXXXXXX] for status. { "name": "XXXXXXXXXXXXX" }
- 下記コマンドで処理状況を確認。
終わっていれば progressPercent が100になりresponseにテキストが返る
$ gcloud ml speech operations describe XXXXXXXXXXXXX { "done": true, "metadata": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata", "lastUpdateTime": "2021-09-XXT09:15:37.404790Z", "progressPercent": 100, "startTime": "2021-09-XXT08:59:39.288851Z", "uri": "gs://bucketsXXX/XXXXX.wav" }, "name": "XXXXXXXXXXXXX", "response": { "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse", "results": [ { "alternatives": [ { "confidence": 0.8462801, "transcript": "お願いします" } ] }, { "alternatives": [ { "confidence": 0.9102794, "transcript": "言ってももうやりましょうね" } ] }, ・・・・・ }
- 結果は同じである
Amazon Transcribeを試す
- 結果
{"jobName":"sample-transcription-job","accountId":"XXXXXXXXXX","results":{"transcripts":[{"transcript":"よろしくお願いしますふーんって・・・・・}
Googleドキュメントの音声入力を試す
- ググるとよく出てきた方法
Virtual Audio Cableなど仮想オーディオで入力を出力に回して、音声ファイルを再生しながら音声入力する方法 - 結果
言ってももうやりましょうね こっちこそ・・・・・
- 途中で止まるので無理だった
結果
テキスト化したものは精度的に使えず、手打ちしたのであった‥
精度原因を探る
- インタビュー形式の2名の音声だったのだが、1名の音声のほうが大きく入っており、そちらばかりテキスト化されていた
- 一人だけの音声なら、もっと精度が良かったのでは
- ずっと話し続けていて区切りのない音声だった
- 区切りが明確な発表形式だったら精度が違ったかもしれない