Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

ノーコードで音声ファイルの「文字書き起こし」ができる仕組みを作ってみた

こんにちわ!デザインアーキテクトの のりじ こと松本です。

最近は、自分で撮影した動画を「YouTube」などの動画投稿サービスに公開する人が増えていますよね。動画に字幕を付けたい場合、通常は音声を聞きながら自力で書き起こすという作業を手動で行うと思いますが、現在は色々と便利なサービスがリリースされています。
以前、以下の記事をASCIIさんに寄稿しました。

この仕組みは、動画に「字幕」を付けるための「.vtt」形式(WebVTT:Web Video Text Tracksフォーマット)のテキストファイルを自動で書き出します。これを流用することで、動画だけでなく音声データからもカンタンに文字起こしできるのでは?という話しになり、実際やってみました。
※本記事は寄稿記事のフォロー的な内容になります。

音声データの文字起こしを試すことになった経緯

「音声から文字起こししてブログを書こうと思っているんだけど、文字起こしをLogicAppとかで出来ない?」とシャチョーから無茶振り…違う、依頼があってこの仕組みを思い出しまして。
「もしかして動画だけじゃなく音声データでも書き起こしに流用できるのでは?」となって実際に使ってみました。
ちなみに、今回利用したのはmp3形式の音声データ(対談形式で長さは60分)です。

作成するワークフロー

今回はAzure Logic Appsで2つのワークフローを作成する必要があります。

f:id:noriji_m:20210604153126j:plain
Azure Logic Appsワークフロー

  • video-indexer:OneDriveの指定フォルダに追加された動画ファイルを自動的にVideo Indexerにアップロードし、インデックスを作成する
  • video-caption:上記video-indexerフローの結果を利用し、vtt形式のファイルを自動生成して、指定のOneDriveフォルダに保存する

本記事では、Video Indexerコネクタのポイントになる部分のみを記載します。 細かい設定は寄稿記事に記載していますので、そちらを参考にしていただけますと。

ポイント1:OneDriveトリガーの仕様に注意

今回はトリガーに「OneDriveコネクタ」を使用しています。
便利なトリガーではあるのですが、「50MBを超えるファイルの場合は処理をスキップする」という制限があります。 コレに該当した場合、厄介なことに「なぜトリガーが動かないのか?」が一切ログにも残りません…。
ですので、もしOneDriveコネクタをトリガーに使うワークフローで「トリガーが起動しない」という状況になった場合は、処理しようとしているファイル容量を確認してみるのをオススメします。
さて、今回依頼された音声データ(mp3)も50MBを超えるものだったので「トリガーが起動しない」問題に初めは悩まされました…。
このような場合は、データを細かく切り分けるのが対策になるのかな?と。
私は今回、Web上で編集が行える「Audio Cutter」というサービスを利用して音声ファイルを2つに分けました。直感的に利用できたのでオススメです。

ポイント2:video-indexerワークフロー

f:id:noriji_m:20210604153156j:plain
video-indexerワークフロー

Video Indexerコネクタ「Upload video and index」の設定のうち、mp3などの音声データでもvttデータを出力できるようにするには以下の2箇所が。

  1. Video Language:「Auto」を指定
  2. Indexing Preset:「AudioOnly」を指定

ポイント3:video-captionワークフロー

f:id:noriji_m:20210604153217j:plain
video-indexerワークフロー

Video Indexerコネクタ「Get Video index」と「Get Video Captions」の設定のうち、Captions Languageは必ず「Japanese」を選択します。ここを設定しないと出力されるvttファイルの中身がめちゃくちゃになります…(実験済み)

以上の設定を行うことで、音声データの文字の書き起こしも可能になります。

出力結果

f:id:noriji_m:20210604153235j:plain
vttファイル

なかなかの精度で「文字起こし」できているのでははないかな?と。
このように、vttファイルは発言の時間も表示されるので、おかしいな?と思う部分を音声から拾えるので修正作業もカンタンになります。
動画の字幕作成はもちろん、会議の議事録など音声データの書き起こしにも是非活用してみてください!