ニャル子さんのカラオケ字幕作ってる時に覚えた可変段字幕の処理。

毎回毎回、Kraファイルを自力で分けて、時間を修正してっていうのが超絶めんどくさいので、Webツール作ってみました。
サイト上でできるサービスなので、インストールとか不要です。

軽くテストしましたが、ちゃんと見てないのでバグあるかもしれませんがテスト公開。
あとChromeでしかチェックしてません。


カラオケ字幕可変段処理ツール

もっとも、こんなマニアックなツールに利用者いるのか??


使い方はカラオケのタイムタグまでを作って、一旦txt2assで読み込ませてルビとかも振っちゃいます。
ここで、細かい設定もつけといたほうがいいです。

その後、assを出力。同時にKRAファイルができますから、それを開いてテキストエリアに貼り付けて解析。

各歌詞を何行目に表示したいかを設定していきます。

例えば、
1
2
3
1
2
1
2
3
という風に設定していれば、最初の1~3までが1ページで表示され、次は1~2が表示、その次が1~3が表示されます。
フレーズで1ページで表示されるようにすれば歌いやすくなると思います。
この場合、最大の表示行が3行なので、解析の最大行を3と設定して実施してください。

生成されるのは、最大3行なら2個分のKRAファイルデータが作られます。
テキストエリアにアウトプットされますので、これをテキストファイルにそれぞれ貼り付けて拡張子をKRAにして保存します。

あとは、先ほど設定したtxt2assに読み込ませて、assを出力します。
この時、2段分のKRAファイルは2行に設定、3行目のKRAファイルは3行目に設定して出力するようにします。

フォントの指定によってはムラができるので、それはワイプズレ修正ツールで修正します。

カラオケ字幕ワイプズレ表示修正ツール


出来上がったassはkraファイルと同じ数あると思います。
これをマージするといった紹介もありますが、AviUtl+AviSynthを利用しているなら、字幕の複数設定が可能ですので、マージの必要はありません。

こんな感じで設定してやれば、全部読みこんでくれるので楽ちんです。

v = AviSource("C:\nyaru\movie.avi") #適当な動画を読み込む
v = v.TextSub("C:\nyaru\2line.ass") #assを動画と読み込む
v = v.TextSub("C:\nyaru\3line.ass") #assを動画と読み込む
v = v.TextSub("C:\nyaru\4line.ass") #assを動画と読み込む
return v


ここの、2line.ass~4line.assというのが、分割後にtxt2assから吐き出したファイルです。