「ゆっくりボイス」でおなじみの方も多いと思われる棒読みちゃんですが、自分もあの独特の感じが好きで愛用しています。
配信者機能をONにすると「タグ」という特殊コマンドが使えるようになるのですが、普段は エコー)とか d) とか やまびこ) とか 再生(emmy) などの簡易タグを使っていると思います。
これらは正式なタグがあります。
エコー) や やまびこ)は (Reverb 100.0 0.3 0.5) のようなタグの省略表現で、Reverbタグでは細かく残響を調整可能です。
(この辺は棒読みちゃんの説明書に分かりやすく書いてあるのでご参照ください)
問題
特定のキーワードで音を鳴らす場合、辞書登録→タグ→単純置換に文字列と(Sound ファイル名)タグを登録します。
(ここに省略型タグなんかも登録されています)
(※タグ登録ではなく単語登録で特殊タグを登録すると実行時にエラーになります)
ところが、これがいつの間にかうまく再生されなくなっていました。
去年とかは普通に再生されていたし、棒読みちゃんはその頃から変更していません。
解決方法
このあたりの文字列処理が急におかしくなるのは、.NET Framework 3.5 の破損や仕様変更で何かあった気がしたので、.NET Framework 3.5 を再インストールしてみました。
結果として、辞書登録のタグで登録した単語では再生されるようになりました。
参考: .NET Framework 3.5 再インストール(WIndows10の場合)
「コントロールパネル」→「プログラムと機能」→「Windowsの機能の有効化または無効化」で、「.NET Framework 3.5(.NET 2.0 および 3.0 を含む)」のチェックを外してOKを押すと、再起動を促されるので再起動。
再起動すると今時は.NET Framework 3.5を使っているソフトが多いので、そういったソフトを起動すると.NET Framework 3.5のインストールをWindows10が問い合わせてくるので「はい」を選んでインストールすれば再インストール完了です。
おまけ:直接コマンド
再生タグはこのように処理され、ちゃんと音声ファイルが再生されます。
Soundタグは音声ファイルが再生されず、タグがそのまま読み上げされます。
どうも、これは元々そうであるらしいという話もあって、再生や残響コマンドを使えば代用できるので問題ないといえば問題ないですね。
辞書登録でタグに登録しても動作しなかったのはさすがに困りましたがそちらは.NET Framework 3.5の再インストールで解決しましたし。
おまけ:直接タグコマンドの使用方法
このことをつぶやいたところ、引用で返信を頂きました。
全体を括弧で閉じるやり方は以前から辞書登録しないと使えなかったような https://t.co/C7Z67CCRMO pic.twitter.com/WPZ3uV8eSU
— 暴読みちゃん@方言の棒読みちゃん公開中 (@bowyomichan) 2023年5月18日
括弧で囲むタイプのタグは元々使えなかったのでは?という話と、使用できるする方法を教えていただきました。
短縮タグ同様に、辞書登録→タグ→正規表現で、タグを登録すればOK
とのことです。
具体的に解決した方法ですが、以下をタグ正規表現登録すると使えるようになりました!
辞書登録→タグ→正規表現で、
検索文字列(SOUND
正規表現(SOUND ([^)]*))
置換後 (Sound $1)
を登録します。
SOUNDのところはお好きなタグに置き換えてください。
※ 括弧は全角と半角をしっかり使い分ける必要があります。
※① 正規表現の最初と真ん中と最後との括弧は全角(文字として認識させるために全角)
※② 正規表現の ([^ と ]*) の括弧は正規表現のグループ指定なので半角の括弧
※③ 置換後の($1)は半角の括弧
ちなみに
このようにすると括弧で囲んだものは全部タグ扱いになるのですが、なんでもタグ扱いになるので存在しないタグを指定するとエラーが出てきてウザい事になります。手抜きは良くない。
そもそも再生()や残響()で事足りますので、この作業はたぶん必要ありません。