棒読みちゃんのReplaceTag.dicを正規化するプログラム作りました
これだけで何のことかピンと来る人はここからDLして使ってみてください。
来ない人は多分関係ないので帰っていいですよ。
初めてgithub使った。
作った理由
配信で棒読みちゃんのSoundタグ機能を使って特定文字列に対応して配信でSEを垂れ流しできるようにしてるんですけど、音声ファイルの数が17000を超えているので他の人が作った自動的に特定文字列を作ってくれるプログラムを使わせていただいているわけですね。
お世話になっております
ただ、人によっては上記のプログラムはどちらも出てきたものを全部そのまま使えるわけじゃないんですね。
なんで使えないの?
どちらのプログラムも音声ファイルが入っているディレクトリを見てReplaceTag.dicという文字列と音声ファイルの応対した辞書ファイルを作ってくれるんですが、どちらもこの辞書ファイルの中身に少しだけ問題があるんです。
これだけ見せられても何がおかしいのかわからないと思いますが、棒読みちゃんのサウンドタグの説明には
Soundタグでの音声再生を行う場合は、このフォルダに音声ファイルを配置して下さい。
※ファイル名は、文字種統一後の文字列に一致するように命名してください。
×アイウエオ.wma ○アイウエオ.wma ※カタカナは全角で
×ABC.wav ○ABC.wav ※英字は半角で
×123.mp3 ○123.mp3 ※数字は半角で
×#%$.wav ○#%$.wav ※記号は全角で(例外あり)
※漢字はそのまま使えます
とあります。
ここで、さっきの中身を見るとファイル名が統一されてないことが問題だとわかります。(書いてないけどアルファベットも小文字じゃなくて大文字じゃないとダメ)
お前がファイル名変えてないのが問題じゃんって?(今気づいた)
めんどくさいじゃんねそんなの。
ファイル名に全角文字使うの気持ち悪いですし。
どうすればいいのか
簡単に言えば探索文字列(NとSoundWの間の部分)をさっきの命名規則道理にしてやればちゃんと動くようになります。
じゃあ置換で半角記号なんかを一括置換してやればいいね!!!
よくなかった。一括置換だとファイル名部分まで変わってしまうのでエラーが出ちゃうんですね。アルファベットの小文字大文字の揺れは許してもらえるらしいですが、記号まで行くと流石にダメでした。
そんなこんなで探索文字列部分だけを置換するプログラムを作りました。
総括
このブログを書いている途中でどんどん自分が悪いことに気づいて辛かったです。でもみんな全角文字なんかファイル名に使わないよね?ね?
完全に自分用に作ったのでアルファベットと-、!、?しか置換できません。これも入れてほしいとかあったら言ってください。めんどくさいならソースコードすっぱ抜いて自分で弄くるといいと思います。