字幕ファイル(.srt)をAviutlで使いたいとき、
というバッチファイルを使うが、
変換されたものは
「!」(半角エクスクラメーションマーク)が削除されてしまう、
という不具合があった。
どうやらこれ、バッチファイルで既知の不具合?らしく
バッチファイル 半角ビックリ
でググってみたところ、色々な情報が出てきた。
その中でこちらの記事を参考にして、自分なりにバッチファイルを編集してみた。
バッチファイルで特定の文字列を置換する際に想定外の文字が削除されてしまう - teratail.com
色々やってはみたのだが、ダメだった……。
どうも「遅延展開」というのが影響しているらしく、
setlocal enabledelayedexpansion
~
endlocal
の記述位置を変更すれば良い、というところまでは分かったのだが、
色々な位置に変更してみても、全く動作が変わらなかったり(!は相変わらず削除される)
はたまたエラーが出たり。
正解の位置が見つけられなかった。
もともと自分で文を打つときは!も?も全角で打っていたので
今まで困ったことはなかった。
だが、whisperで音声認識された文は!も?も半角なのである。
自動で付与されるのは?の方が圧倒的に多いが、
この音声認識結果に自分で!を付加したいとき、
?に合わせて!も半角にしていたのである。
仕方がないので、exoファイル変換用に
!?を全角にしたsrtファイルも別途作ることにする。
(面倒くさいが)
whisper、字幕ファイルに関する記事はこちら
whisperの ちょうどいい 精度
投稿日:2022年12月1日
初出:2022年11月18日
0 件のコメント:
コメントを投稿