exo2srt_srt2exo(srt2exo.bat)の設定を変更する

こんにちは瑞浪です。YouTubeに動画投稿をしています。

先日「AviUtlの字幕編集を爆速にしよう!」という意の動画を投稿しました。

今回はこの動画の補足記事になります。
※Vrew、exo2srt_srt2exo(srt2exo.bat)の使い方がわかっている方はこの記事だけ読んでもOKです。

本記事では「srt2exo.bat のどこを書き換えたら字幕サイズや字幕の位置を変更した状態でexoファイルを出力できるか」というのを説明していきます。

srt2exo.batの設定がデフォルトのままだと字幕がこうなっている
こうなってほしい(ドラッグ&ドロップした時点で)

srt2exo.batの書き換えを行わない場合、AviUtlでテキストオブジェクトを全て普段の字幕設定の内容に設定し直してあげる必要があります。
(ある程度は一括変更で楽できますが、やっぱりめんどうくさいですよね)


ということでやっていきましょう!(変更・実行は自己責任でお願いします!

※exo2srt_srt2exoは crayonzen さんが配布してくださっているツールです。とてもお世話になっております!


①設定を行っている変数の値を変える


srt2exo.batの174行目~177行目で設定を記述しています。

set value=overlay=1!LF!camera=0
set value0a=_name=テキスト!LF!サイズ=34!LF!表示速度=0.0!LF!文字毎に個別オブジェクト=0!LF!移動座標上に表示する=0!LF!自動スクロール=0!LF!B=0!LF!I=0
set value0b=type=0!LF!autoadjust=0!LF!soft=10!LF!monospace=0!LF!align=0!LF!spacing_x=0!LF!spacing_y=0!LF!precision=1!LF!color=ffffff!LF!color2=000000!LF!font=MS UI Gothic
set value1=_name=標準描画!LF!X=0.0!LF!Y=0.0!LF!Z=0.0!LF!拡大率=100.00!LF!透明度=0.0!LF!回転=0.00!LF!blend=0

ここの内容を自分の字幕設定の内容に書き換えてあげればいいよ、というのが大まかな内容です。

具体的に見て行きましょう。

こちらがわたしの字幕設定のテキストオブジェクトを書き出したものです。
(書き出し方がわからない方は冒頭の動画をご確認ください……!)

[exedit]
width=1280
height=720
rate=30000
scale=1000
length=65
audio_rate=48000
audio_ch=2
[0]
start=2
end=65
layer=1
overlay=1
camera=0
[0.0]
_name=テキスト
サイズ=48
表示速度=0.0
文字毎に個別オブジェクト=0
移動座標上に表示する=0
自動スクロール=0
B=0
I=0
type=3
autoadjust=0
soft=10
monospace=0
align=4
spacing_x=0
spacing_y=243
precision=1
color=ffffff
color2=008000
font=源ノ角ゴシック Heavy
text=423042304230423042300d000a004230423042304230423000004630443046301f615830603063305f306e304b30823057308c306a30443067305930513069306d300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[0.1]
_name=シャドー
X=5
Y=4
濃さ=100.0
拡散=0
影を別オブジェクトで描画=0
color=000000
file=
[0.2]
_name=標準描画
X=0.0
Y=243.0
Z=0.0
拡大率=100.00
透明度=0.0
回転=0.00
blend=0

[0]の一部がsrt2exo.batのvalue、[0.0]の内容がvalue0aとvalue0b、[0.2]の内容がvalue1に対応しています。
オブジェクトファイルは標準描画の設定が一番下に来るようになっているっぽくて(多分)、わたしの場合はシャドー([0.1])を追加しているので順番がずれています。(特に効果を追加していなければ、[0.1]とvalue1が標準描画で一致している)

とりあえず[0.0]の内容を反映させていきましょう。
value0aは「_name=テキスト」~「I=0」(もしくは「I=1」)まで。
value0bは「type=(数字)」~「font=(フォント名)」まで。「text=…」は不要です。
1行で格納するため改行部分は「!LF!」で繋ぎます。

value0a、value0bに収める為に一行にしたものこちら。

[0.0]
_name=テキスト!LF!サイズ=48!LF!表示速度=0.0!LF!文字毎に個別オブジェクト=0!LF!移動座標上に表示する=0!LF!自動スクロール=0!LF!B=0!LF!I=0
type=3!LF!autoadjust=0!LF!soft=10!LF!monospace=0!LF!align=4!LF!spacing_x=0!LF!spacing_y=243!LF!precision=1!LF!color=ffffff!LF!color2=008000!LF!font=源ノ角ゴシック Heavy
(この行は不要)text=423042304230423042300d000a004230423042304230423000004630443046301f615830603063305f306e304b30823057308c306a30443067305930513069306d300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

※動画では割愛しましたが、「改行を消して!LF!で繋いで……」という作業を楽するのにサクラエディタキーマクロを使ったり、ExcelGoogleスプレッドシートで縦横変換とか適当に関数使ったらいいと思います。
(詳細はググろう! わからなかったら概ね今回きりの作業なので力業でやってしまいましょう)

ごにょごにょ

これをsrt2exo.batのvalue0a,value0bにいれてあげるとこうなります。

set value0a=_name=テキスト!LF!サイズ=48!LF!表示速度=0.0!LF!文字毎に個別オブジェクト=0!LF!移動座標上に表示する=0!LF!自動スクロール=0!LF!B=0!LF!I=0
set value0b=type=3!LF!autoadjust=0!LF!soft=10!LF!monospace=0!LF!align=4!LF!spacing_x=0!LF!spacing_y=243!LF!precision=1!LF!color=ffffff!LF!color2=008000!LF!font=源ノ角ゴシック Heavy

次に[0.1]の内容を反映させましょう。
value1に設定します。

※動画では元のvalue1が標準描画なので[0.2]の内容を入れてしてしまいましたが、記事では[0.X]とvalueXを合わせる形にしていきます。(多分こっちのほうがいいと思います)

ごにょごにょ

[0.1]を一行にしたものがこちら。

[0.1]
_name=シャドー!LF!X=5!LF!Y=4!LF!濃さ=100.0!LF!拡散=0!LF!影を別オブジェクトで描画=0!LF!color=000000!LF!file=

これをsrt2exo.batのvalue1にセットします。

set value1=_name=シャドー!LF!X=5!LF!Y=4!LF!濃さ=100.0!LF!拡散=0!LF!影を別オブジェクトで描画=0!LF!color=000000!LF!file=

最後に[0.2]の内容を設定していきます。
とりあえず一行にしましょう。

[0.2]
_name=標準描画!LF!X=0.0!LF!Y=243.0!LF!Z=0.0!LF!拡大率=100.00!LF!透明度=0.0!LF!回転=0.00!LF!blend=0

srt2exo.batにはvalue2が存在しないので、増やしてあげる必要があります。

set value2=_name=標準描画!LF!X=0.0!LF!Y=243.0!LF!Z=0.0!LF!拡大率=100.00!LF!透明度=0.0!LF!回転=0.00!LF!blend=0

最終的にset value=…のあたりはこんな感じになります。

set value=overlay=1!LF!camera=0
set value0a=_name=テキスト!LF!サイズ=48!LF!表示速度=0.0!LF!文字毎に個別オブジェクト=0!LF!移動座標上に表示する=0!LF!自動スクロール=0!LF!B=0!LF!I=0
set value0b=type=3!LF!autoadjust=0!LF!soft=10!LF!monospace=0!LF!align=4!LF!spacing_x=0!LF!spacing_y=243!LF!precision=1!LF!color=ffffff!LF!color2=008000!LF!font=源ノ角ゴシック Heavy
set value1=_name=シャドー!LF!X=5!LF!Y=4!LF!濃さ=100.0!LF!拡散=0!LF!影を別オブジェクトで描画=0!LF!color=000000!LF!file=
set value2=_name=標準描画!LF!X=0.0!LF!Y=243.0!LF!Z=0.0!LF!拡大率=100.00!LF!透明度=0.0!LF!回転=0.00!LF!blend=0

わたしはシャドーしか追加していないのでvalue2を追加しただけですが、その他の装飾(縁取りとかアニメーション効果とか)がある場合は[0.X]の個数分だけvalueを増やしてあげる必要があります。

②valueXの分書き込みを増やす

書き込みはsrt2exo.batの①212行目~214行目、②293行目~296行目で行なっています。(valueを増やしていたら行番号はズレています)

    set elep=!elep!!textenc!
    set elep=!elep!!LF![!indexnum!.1]!LF!!value1!
    echo !elep!>> !newfilename!

② ※1番上の行はコメントだから関係ないですが見つけやすいようにつけてます。

rem echo @ Add
set elep=!elep!!textenc!
set elep=!elep!!LF![!indexnum!.1]!LF!!value1!
echo !elep!>> !newfilename!

ここでexoファイルでいうところの以下の部分の書き込みをしています。([X.1]のXの部分が字幕の内容ごとに変わる感じ。「こんにちは」が[1.1]で「瑞浪千晴です」が[2.1]みたいな)

[0.1]
_name=シャドー
X=5
Y=4
濃さ=100.0
拡散=0
影を別オブジェクトで描画=0
color=000000
file=

ここに本来は[0.2]の標準描画も必要なのでvalue2も書けるように追加します。
    set elep=!elep!!LF![!indexnum!.1]!LF!!value1!
の下に
    set elep=!elep!!LF![!indexnum!.2]!LF!!value2!
の一文を追加してあげればOKです。
value3以上ある人は
   
set elep=!elep!!LF![!indexnum!.3]!LF!!value3!
みたいな感じで数字部分だけ増やしたものを追加していってください。

追加後(①212行目~214行目、②293行目~296行目、両方やる

    set elep=!elep!!textenc!
    set elep=!elep!!LF![!indexnum!.1]!LF!!value1!
    set elep=!elep!!LF![!indexnum!.2]!LF!!value2!
    echo !elep!>> !newfilename!


以上で完了です。
保存してファイル書き出しをしてみましょう。
問題なければ普段の字幕設定を反映したexoファイルが出力されているはずです。

まとめ

やることとしては
①変数valueXの設定を追加・変更
②変数valueXを追加していたらその分も書き込みする
だけの2点なのでとても簡単です。

見ればわかる!😤 って言われたらそうなんですが、
バッチファイル全然わからん……で一回寝かしていた人間なので同じタイプの人に簡単だよ~というのが伝わったらいいな~という記事でした。

以上!

よかったらTwitter、YouTubeチャンネルもよろしくお願いします。