![見出し画像](https://assets.st-note.com/production/uploads/images/153577202/rectangle_large_type_2_1ddf635ee236a2e572cc72fe1d1095f8.png?width=1200)
音声認識を使って、AviUtlに字幕を自動で付ける方法(実況動画、ラジオ動画等の字幕付け効率化に)
1.youtubeに限定公開で文字起こししたい動画をアップロード
一旦、字幕をまだ入れていない動画を、youtubeの限定公開でアップロードします。
コツとしては、youtube側の音声認識の制度を上げるため、BGM無しの、声のみのファイルをアップロードすることを推奨します。
2.srtファイル(字幕のテキスト情報のファイル)の抽出
以下のサイトに飛びます。
このサイトで、限定公開した動画のURLを入力して、「ダウンロード」ボタンを押します。
その後表示される「SRT」ボタンを押すと、srtファイル(字幕のテキスト情報のファイル)のダウンロードが開始します
![](https://assets.st-note.com/img/1725774375-dS6yzMgch4u3ixvpolJDFqTQ.png?width=1200)
![](https://assets.st-note.com/img/1725773644-TFDKaJzvXnfdE9m8b751Aq3H.png)
3.字幕の時間の被りをなくす編集(不定形)
前の字幕の終了時間が、次の字幕の開始時間より後の場合、字幕がうまく生成されないので、その被りを無くします。
ここはやや不定形の作業になるので、参考に私のフローを以下に書きます。
私の場合は、googleスプレッドシートを使用し、A列にダウンロードしたファイルの中身を貼り付けます。
そして他の列に、数式を利用して、各字幕時間の【終了時刻】を【次の字幕の開始時間】に置換したデータを作成します(黄色部分)
![](https://assets.st-note.com/img/1725775274-KtmalUGHokuvgVzq7xY5Q1iW.png)
上の画像のように編集したD列のデータを、元のsrtファイルに上書きします。この際、タブ文字がファイルに混入しないように注意してください。
4.exo(AviUtlの字幕オブジェクト)に変換
3で編集したsrtファイルを、exo(AviUtlの字幕オブジェクト)に変換にするため、以下のサイトで「exo2srt_srt2exo.zip」をダウンロードして解凍
https://crayonzen.kachoufuugetu.net/exo2srt_srt2exo.html
解凍すると、以下のファイルが見えます。
![](https://assets.st-note.com/img/1725870902-OEB9JmlwQ24eY8dosUgL3nkb.png)
ほとんどの人は現状1920x1080のHULLHDで動画編集していると思いますので 、「srt2exo.bat」を右クリック 等してメモ帳か何かで開き、
![](https://assets.st-note.com/img/1725871048-B7KQtG8PYOgAo2ZnrNCXMj5x.png)
上記の部分の
「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
![](https://assets.st-note.com/img/1725773741-GNYWvpz6mQJurH1oDbfgdIe9.png?width=1200)
正常に実行されると、以下のような画面が表示され、処理が終わると、
「Done
Press any key to continue…」
と表示されるので、Enterを押してください!
![](https://assets.st-note.com/img/1725774400-sBGjr3OAdH8ZoWSfyP6FXz7D.png)
⚠️元のsrtファイルのファイル名が長いと、上手く変換されないケースがありました。ファイル名を短くして再トライしてみてください。
ここまで完了すれば、「srt2exo.bat」があるフォルダに、「~~.exo」のファイルが保存されていると思います!(~~の部分は、元のsrtファイルの名前を引き継いでいます)
この「~~.exo」をAviUtlのタイムライン編集領域にドラッグ&ドロップすれば、字幕がオブジェクトとしてタイムラインに貼り付けされます!
![](https://assets.st-note.com/img/1725774561-m6N48eSwQiJah5yCKu1RVgfU.png?width=1200)
文字サイズやフォントを一括編集したいときは、いつもの要領で字幕オブジェクトを全選択して編集すれば、一括で変更できると思います!
ここまでお疲れさまでした!!
5.終わりに
現状では、youtube側の音声認識の精度や、文章の区切りがいまいちなんですが、今後無料で制度の良い音声認識が出てくれば、手順1.2.3の部分はそちらに乗り換えてもいいかもしれませんね。
ここまで読んでいただいたらもう分かると思いましたが、このフローは、「srtファイルさえ作成できれば」他の方法に転用可能なです!!
もっといいワークフローを思いついたりお持ちの方は、是非コメントで教えてください!!
(参考にしたサイト:https://aketama.work/aviutl-auto-subtitling)