音声文字変換の調査メモ

参考文献

はじめに

音源ファイル

  • 検証プロセス
    • 音源ファイルを入手する
    • 音声文字変換サービスに音源ファイルを読み込み、文字を起こす
    • 文字起こしした結果の精度を確認する
  • 音源ファイル
    • 音が含まれたファイルのことを、音源、音声、音楽等、色んな言い方がある
    • ここでは「音源」と表現する
    • 音源ファイルの種類
      • 非圧縮形式
      • 非可逆圧縮形式
      • 可逆圧縮形式
      • 人間が聞き取れる音は20Hz~20000Hzらしい
    • 音源ファイルの形式
      • mp3、FLAC、ALAC、AAC、VMA
    • チャンネル数は?
      • 音がどの方向から聴こえてくるのかなど、音に空間的な広がりを持たせるためには、複数の音波発生源が必要。
      • 音波発生源の数をチャンネル数と言う。
      • マイクや昔のラジオなどはモノラル(1チャンネル)、CDや一般的なオーディオはステレオ(2チャンネル)です。ホームシアターなどでは臨場感を表現するために5.1チャンネルなど多くのチャンネルが使われている。
      • Googleは複数チャンネルの音声文字変換が可能
      • Amazonは1チャンネルのみ(複数音声の変換も可能で、時系列に書き出せるらしいが1つの音声として認識されたした形で出力される

ストリーミング

  • リアルタイムで文字変換
  • 会議中だとこのAPIが適している
  • Google
    • https://cloud.google.com/speech-to-text/docs/streaming-recognize?hl=ja#speech-streaming-recognize-python
    • en-US -> ja-JP に変えると日本語として読み込める
    • 話者ダイアライゼーション
      • 二人以上の場合このオプションを指定すると、分別ができる
    • データロギングを有効化するしない、のオプションがある
      • Googleにデータを機械学習のために再利用しない設定が可能
      • 精度は不明
      • 有効化すると、利用料金が割引
    • データロギングを利用して拡張モデルを作れる
      • NEXSに特化した学習モデルがつくれる
  • Amazon
    • 日本語対応はまだない(2020/02/28)
    • 8KHz and 16KHz
      • US English (en-US)
      • US Spanish (es-US)
    • 8KHz
      • Australian English (en-AU)
      • British English (en-GB)
      • French (fr-FR)
      • Canadian French (fr-CA)

gcloud api で音声ファルを文字変換

  • 音源ファイル入手
  • mp3ならflacに変える必要
    • sox 41813155-44100-2-37c41ea41088e.mp3 –rate 16k –bits 16 –channels 1 41813155-44100-2-37c41ea41088e.flac
  • Google Storages にバケットを作って、アップする
    • gsutil mb gs://[BUCKET_NAME]/
  • flacファイルを作成したバケットへアップ
    • gsutil cp 41813155-44100-2-37c41ea41088e.flac gs://nzk-speech
  • アップしたflacファイルのアクセス権限をallUsers(読み込み)に変更
    • gsutil acl ch -u AllUsers:R gs://nzk-speech/41813155-44100-2-37c41ea41088e.flac
  • Google transition to speeach API に投げる
    gcloud ml speech recognize-long-running ‘gs://nzk-speech/‘
    –language-code=’ja-JP’
    –sample-rate=16000
    –encoding=flac
    –async
  • 経過を見る
    gcloud ml speech operations describe
  • 結果を見る
    gcloud ml speech operations wait

注意事項

  • オプションに気をつける
    • ファイル内のチャンネル数が複数なのに、APIのチャンネルオプションを「モノラル」と指定してエラーになる