見出し画像

音声認識を使って、AviUtlに字幕を自動で付ける方法(実況動画、ラジオ動画等の字幕付け効率化に)


1.youtubeに限定公開で文字起こししたい動画をアップロード

一旦、字幕をまだ入れていない動画を、youtubeの限定公開でアップロードします。

コツとしては、youtube側の音声認識の制度を上げるため、BGM無しの、声のみのファイルをアップロードすることを推奨します。

2.srtファイル(字幕のテキスト情報のファイル)の抽出

以下のサイトに飛びます。

https://savesubs.com/ja

このサイトで、限定公開した動画のURLを入力して、「ダウンロード」ボタンを押します。
その後表示される「SRT」ボタンを押すと、srtファイル(字幕のテキスト情報のファイル)のダウンロードが開始します


ダウンロードされたファイルの中身

3.字幕の時間の被りをなくす編集(不定形)


前の字幕の終了時間が、次の字幕の開始時間より後の場合、字幕がうまく生成されないので、その被りを無くします。

ここはやや不定形の作業になるので、参考に私のフローを以下に書きます。

私の場合は、googleスプレッドシートを使用し、A列にダウンロードしたファイルの中身を貼り付けます。
そして他の列に、数式を利用して、各字幕時間の【終了時刻】を【次の字幕の開始時間】に置換したデータを作成します(黄色部分)

上の画像のように編集したD列のデータを、元のsrtファイルに上書きします。この際、タブ文字がファイルに混入しないように注意してください。


4.exo(AviUtlの字幕オブジェクト)に変換

3で編集したsrtファイルを、exo(AviUtlの字幕オブジェクト)に変換にするため、以下のサイトで「exo2srt_srt2exo.zip」をダウンロードして解凍

https://crayonzen.kachoufuugetu.net/exo2srt_srt2exo.html


解凍すると、以下のファイルが見えます。

ほとんどの人は現状1920x1080のHULLHDで動画編集していると思いますので 、「srt2exo.bat」を右クリック 等してメモ帳か何かで開き、

上記の部分の
「1280」の部分を「1920」、
「720」の部分を「1080」
に編集して保存して閉じます。

そうしましたら、いよいよAvuUtlの字幕ファイル(exo)の出力です!

さっき編集しました「srt2exo.bat」に、手順3で編集したsrtファイルをドラッグ&ドロップします

⚠️この時、「WindowsによってPCが保護されました」という青いウインドウが出たら、「詳細設定」を押して、「実行」ボタンを押してください。

そうすると下図のコマンドプロンプト画面が現れるので、
①「30 fps~」が表示されたところでEnter(AvuUtl側のプロジェクトのfps値が異なる場合はここでfps値を入力してEnter(入力例:60))、
②「5 layer~」が表示されたところでもEnter、
③「30 fps 5layer~」と表示されたとこで「y」を押してからEnter

正常に実行されると、以下のような画面が表示され、処理が終わると、
「Done
Press any key to continue…」
と表示されるので、Enterを押してください!

⚠️元のsrtファイルのファイル名が長いと、上手く変換されないケースがありました。ファイル名を短くして再トライしてみてください。

ここまで完了すれば、「srt2exo.bat」があるフォルダに、「~~.exo」のファイルが保存されていると思います!(~~の部分は、元のsrtファイルの名前を引き継いでいます)

この「~~.exo」をAviUtlのタイムライン編集領域にドラッグ&ドロップすれば、字幕がオブジェクトとしてタイムラインに貼り付けされます!


文字サイズやフォントを一括編集したいときは、いつもの要領で字幕オブジェクトを全選択して編集すれば、一括で変更できると思います!

ここまでお疲れさまでした!!

5.終わりに

現状では、youtube側の音声認識の精度や、文章の区切りがいまいちなんですが、今後無料で制度の良い音声認識が出てくれば、手順1.2.3の部分はそちらに乗り換えてもいいかもしれませんね。

ここまで読んでいただいたらもう分かると思いましたが、このフローは、「srtファイルさえ作成できれば」他の方法に転用可能なです!!

もっといいワークフローを思いついたりお持ちの方は、是非コメントで教えてください!!

(参考にしたサイト:https://aketama.work/aviutl-auto-subtitling


この記事が気に入ったらサポートをしてみませんか?