CasualTranscriber で Whisper を使った音声認識には、2 つの利用法があります。一つは、開いているファイルに読み込んだメディアファイルの音声を認識させる方法、もう一つは、複数のメディアファイルを一括に処理する方法です。この機能を利用するには、Whisper のインストールにある指示に従って、Whisper をインストールする必要があります。すでに Homebrew を使って Python をインストールした上で Whisper をインストールしてある場合は、CasualTranscriber が Whisper を認識するため、新たなインストールは不要です。
メニューの書き起こしにある Whisper でファイルの音声を認識を選ぶと、開いているファイルに読み込まれているメディアファイルの音声を書き起こすことができます。
まずは、設定の音声認識で、Whisper の設定をします。標準では、small もしくはインストールされた最小のモデル、認識言語としては English、テキスト区切りはデフォルトが選ばれているので、英語の音声であれば、設定を変更せずに、とりあえずの音声認識を実行することができます。
モデルは、インストールしたモデルが選択できます。認識言語は、モデルが .en でなければ、対応しているどの言語でも書き起こすことができますが、精度は言語によって異なることが予想されます。モデルは、上記の通り大きくなるほど認識精度が上がりますが、処理時間もかかります。ただし、large の turbo モデルは、small よりも処理速度が速いとされています。
テキスト区切りは、タイムスタンプを挿入する区切りの設定です。標準では、Whisper がタイムスタンプと共に書き出した出力を、そのまま CasualTranscriber のタイムスタンプに変換します。
デフォルトは、Whisper のデフォルト出力の区切りごとにタイムスタンプに入れて表示します。必ずしもタイムスタンプが区切りの発話の開始と一致するとは限りません。
デフォルト (詳細) は、Whisper のデフォルト出力の区切りごとにタイムスタンプに入れて表示します。単語ごとの開始時間を元にしているので、おおよそ区切りの開始とタイムスタンプが一致します。
デフォルト (単語リンク) は、単語ごとの音声開始時間の出力をもとに、すべての単語にタイムスタンプがリンクとして埋め込まれた形で表示されます。
句読点区切り (詳細) は、デフォルトの区切り出力を基に、文末記号で指定した記号で区切りが終わる部分までを一まとめにします。文末記号除外文字列で指定した単語は文の終わりとして認識されません。文末記号をつけた状態でコンマ区切りで入力してください
句読点区切り (単語) は、Whisper には単語ごとに開始・終了の時間を付与して書き出すオプションがあり、それを基に、文末記号で指定した記号までを一区切りとしてタイムスタンプを付与します。基本的には文ごとに区切られる結果となります。句読点区切り (単語) には、区切り閾値というオプションがあり、これにチェックを入れると、句読点以外にも、指定した秒数以上に空白部分が長かったところで区切り (タイムスタンプ) が入ります。これは、Whisper は文の区切りと認識していなくても、そこで文が区切れる可能性があるということや、長い沈黙の部分が可視化されるようにするためのオプションで、通常の書き起こしで使うことは想定していません。
また、一番上のデフォルト以外の区切りオプションを選んだ際にわずかな時間でも区切りの間が開くとタイムスタンプが 2 つ入るので、タイムスタンプスキップ閾値 (デフォルトは 0.1 秒) で秒数を指定するとその秒数未満の空白行のタイムスタンプの終了時間のスタンプは省略されます。
デフォルト (単語リンク) では、次のようにすべての単語にタイムリンクが埋め込まれるので、単語をクリックするとその単語の発話時間に移動します。厳密には多少ずれますが、おおよそその単語の部分になります。
バッチ処理は、複数のメディアファイルを一括して Whisper で処理するモードで、メニューのウインドウにある Whisper バッチ書き起こしを選ぶと、Whisper バッチ書き起こしパネルが表示されます。
処理したいメディアファイルをテーブルにドラッグ&ドロップして、オプションを選び開始をクリックします。パネル上のオプションは、モデルと認識言語に関しては、設定の音声認識にあるオプションと連動しています。
ファイル形式は、次の形式を選ぶことができます。
CT RTF: CasualTranscriber のタイムスタンプが入った形式の RTF ファイルで書き出します。CasualTranscriber の書類にファイルを読み込んで音声認識をさせたものと同じ形式になります。
all: txt, vtt, srt, tsv, json のすべての形式で書き出します。
txt: プレインテキスト形式で区切りごとに改行が入った形になります。
vtt/srt: 共に字幕ファイルのフォーマットで、ほぼ同じですが、区切りのタイムコードの部分で、vtt は、小数点がピリオド、srt はコンマになります。また、srt では、タイムコードの区切りごとに番号が付与されます。
tsv: tab-separated value という名の通り、タブ区切りのテキストでの出力で、区切り部分の開始・終了時間がミリ秒で、それに続いて書き起こしたテキストがタブ区切りのテキストとして出力されます。
json: json 形式の出力で、さまざまな情報が記録されます。バッチオプションで単語ごとのタイムスタンプにチェックを入れると、単語ごとの開始・終了時間も記録されます。