音声切り分け&文字起こしノートブックの追加機能紹介

以前(1年以上前)に作った音声切り分け&文字起こしのColabノートブックを更新して機能追加&性能Upさせました。

公開してからだいぶ時間が経っちゃいましたが、追加機能の内容も含めて簡単に使い方を解説します。

colab.research.google.com

更新内容

  • faster-whisperを使うようにして文字起こしにかかる時間を短縮
  • Initial promptを入力して固有名詞を認識させやすくする機能を追加
  • 文字起こし結果をファイルに出力する機能を追加
  • その他細かい修正

これまでColabでfaster-whisperを使おうとするとライブラリのバージョンの都合でエラーになっちゃってたんですが、解決策が見つかったので公開できるようになりました。 Colab側のバージョンが勝手に変わったらまた動かなくなる可能性はありますが…
検証はあまりできてないですが、文字起こしにかかる時間は通常のWhisperのだいたい半分くらいになってます。

使い方

使い方自体は変わらないので以前のバージョンを利用したことがある方は同じように使えると思います。

  1. Google Driveに切り分けたい音声ファイル(BGM除去済みのもの)を保存

  2. Googleアカウントにログインした状態でノートブックにアクセス
    colab.research.google.com

  3. ランタイムに接続してGoogle Driveをマウント

  4. 「0.ライブラリのインストール」のセルを実行
    最初に作ったときから使えるモデルが増えています。最新のモデルはlarge-v3っぽいですが、精度はそんなに変わらないらしいのでとりあえずlargeでいいと思います。

  5. パラメータを入力して「1.パラメータ指定」のセルを実行
    必要なパラメータを入力して実行します。

FILE_PATH
音声ファイルのパスを入力します。複数の音声ファイルをまとめて処理したい場合は音声ファイルが入ったフォルダを指定することもできます。

INITIAL_PROMPT
faster-whisperに渡すプロンプトを入力できます。空欄でも問題ありません。
人名などよく出てくる固有名詞を入れておくと、文字起こしで認識されやすくなります(優良誤認回避)。
プロンプトに渡せるトークン数には最大240までという制限があり、大量の単語を与えてもハルシネーション(松本人志現象みたいなバグ)を起こすだけなので、必要最低限の固有名詞を入れておくくらいがお勧めです。

EXPORT_RESULT
チェックを入れると、実行結果がCSVファイルで保存されます。 Google Drive上で開くと、このような形で文字起こしの結果を一覧で確認することができます。

一応音声の開始位置と終了位置のデータ(ミリ秒単位)もあるので、適当に加工すれば動画編集のときの素材探しにも役に立つかもしれません。

また、CSVファイルではよくあることですがExcelで開こうとすると文字化けするので、テキストエディタで開いてShift-JISに変換するなどの対応が必要です。

その他の細かいパラメータはあまり触ることがなさそうだったのでUIからは隠しました。 調整したい場合はセルを開いて直接書き換えることも可能です。

  1. セルの実行完了 元の音声ファイルと同じ場所にフォルダが作成され、文字起こし処理が終わった音声ファイルが保存されます。

実行例

処理時間

わたてん1話(23分40秒)の処理時間を計測してみました。 large-v3のモデルで実行したところ、実行完了までの結果は11分36秒でした

アニメ1クール分の音声であれば2~3時間程度で終わる計算ですね。

プロンプト入力

プロンプトなしとありの場合の比較です。今回入れたプロンプトはキャラ名と呼び名だけ入れています。

プロンプトを入れたことで「みゃー姉」の表記揺れが補正されるようになりました。一方で、区切りにカンマを使ったせいで中途半端に読点が変換されちゃってますね。初めて使うときは短めのファイルを使ってテストしてみるのが良いかもしれません。