DiSpeak v2.3.0の機能について、てきとーに書いていきます

Discord,ソフトウェア,技術

この記事は2019年2月1日に書かれたものです。ご注意ください。

Wikiに書こうと思いますが、そっち更新する前にとりあえず諸々解説していきたいと思います。なお不具合・その他についてはとくに書きません。あくまで新機能だけ。。
あとWikiに書いた内容をコピペしてるとか言わない。
ちなみに後ほどWikiの方は削除しておくよ。いらんからね。

棒読みちゃんの送信フォーマットを設定できる機能を追加

DiSpeak側では設定 > サーバー > 各サーバー内声質・音量・速度・音程にて、設定することが可能です。
サーバー毎に棒読みちゃんの「声質・音量・速度・音程」を設定できる機能で、主にサーバー毎に棒読みちゃんの声を変えたい!って人向けの機能です。ダミ声やロボ声に設定して差をつけろ!って感じですね☝(゚ω。)
もし必要ないよ!って人は空欄にしておいてください(一応0でもOKですが)。空欄もしくは0にしておくことで、起動している棒読みちゃんの設定を利用します(つまり今までと同じ方法で読み上げるってこと)。

「声質・音量・速度・音程」は「棒読みちゃん」を見て頂ければ察して貰えるかと思います。
それぞれの設定については以下の通りです。

  • 声質
    棒読みちゃんの声を空欄もしくは0~8もしくは10001~に設定することができます。
    • 空欄: 本体設定
    • 0: 本体設定
    • 1~8: AquesTalk
      1.女性1, 2.女性2, 3.男性1, 4.男性2, 5.中性, 6.ロボット, 7.機械1, 8.機械2
    • 10001~: SAPI5
  • 音量
    棒読みちゃんの音量を空欄もしくは0~100に設定することができます。
    • 空欄: 本体設定
    • 0~100: その音量で再生
  • 速度
    棒読みちゃんの音量を空欄もしくは50~300に設定することができます。
    • 空欄: 本体設定
    • 50~300: その速度で再生
  • 音程
    棒読みちゃんの音量を空欄もしくは50~200に設定することができます。
    • 空欄: 本体設定
    • 50~200: その音程で再生

なお、これらの数値はお使いの環境(棒読みちゃんの設定)によって異なるかと思います。そのため、各数値の下限・上限については「棒読みちゃん」の「基本設定」(F10キー > 配信者向け機能 > タグ)よりご確認ください。
より詳細な情報を見たい場合は、棒読みちゃんのフォルダー内\SampleSrc\SampleSrc.txtの「・Talk(読み上げ)」を確認下さい(↓転記)。

・Talk(読み上げ)
 送信データフォーマット
  [0-1] 16bit コマンド(0x0001)
  [2-3] 16bit 速度(-1:デフォルト, 50~300)
  [4-5] 16bit 音程(-1:デフォルト, 50~200)
  [6-7] 16bit 音量(-1:デフォルト, 0~100)
  [8-9] 16bit 声質( 0:デフォルト, 1~8:AquesTalk, 10001~:SAPI5)
  [10] 8bit 文字列の文字コード(0:UTF-8, 1:Unicode, 2:Shift-JIS)
  [11-14] 32bit 文字列の長さ
  [15-??] ??bit 文字列データ

ぶっちゃけ習うより慣れろ。試せば分かります。(音量だけは注意してね!)

サーバー毎に読み上げの設定を変えられる機能を追加

設定できる場所は↑と同じく設定 > サーバー > 各サーバー内コマンドにて、設定することが可能です。
これは、サーバー毎に「棒読みちゃんへ受け渡すテキスト」の先頭に「棒読みちゃんのコマンド」を設定できるようにしました。コマンドに文字列を入力することで、先頭にコマンドを追加してから受け渡すようになります。

主に以下の場面で利用が可能かと思います。

  • 棒読みちゃんにデフォルトで登録されている「タグ辞書」を利用するとき。
    詳細については棒読みちゃんのフォルダー内\SampleSrc\SampleSrc.txtの「・タグ機能の利用法」をご確認下さい。まぁ「y)」とかそういうやつっすね。
  • 棒読みちゃんからボイスロイドに受け渡せる「Voiceroid Talk Plus」のコマンドを利用するとき。
    棒読みちゃんの配信者向け機能(ニコニコテレビちゃんアイコン)をONにしていると、Voiceroid Talk Plusのコマンドがうまく動かないことがあります。
    これでサーバー毎にボイロを切り替えられるんだぜ!買いそろえた甲斐がありますねえ。

ホワイトリスト機能

設定 > DiSpeak > ホワイトリストを利用する?設定 > ホワイトリストにて、設定することが可能です。
1.x 時代にあったやつです。はい。
使い方は簡単。設定 > DiSpeak > ホワイトリストを利用する?をOnにして、設定 > ホワイトリストに許可したいヤツのIDをぶち込むだけ。
これだけで、そいつだけ読み上げる設定を行えます(つまり他の人は一切読まれないってワケ)。これはログに表示される・読み上げられる・ボイチャに入った抜けた全てに影響します。

IDコピー機能

ログに表示されるアイコンをクリックすることで簡単にユーザーIDをコピーすることができるようになりました。
わりと需要だと思うんですよ!!!!(Discordを開かなくてもブロックできるしな!)(あ、わたしのIDをブロックしないでね!! ><)

UI右上にお知らせアイコン(ベルのアイコン)

未読があると赤くなります。ちなみに活用方法がAlpha版のお知らせぐらいしか思いつかないです。なんかあれば使っていきます。
ちなみにお知らせがないときは表示されません。

自動アップデートの機能追加

1時間に1回程度、アップデートのチェックを行なうようにしました。これで起動しっぱなしでも楽に更新できますね!(んじゃ更新チェックのボタンいらないんじゃ…?)

エラーログの自動送信化

いちいち送信して貰うの面倒くさそうなので、自動化にしました。設定 > DiSpeak > エラーログを自動送信する?をOffにすることで送らないようにできます。(開発的にはOnにして頂けた方が嬉しいのですが…)
ちなみにエラーログはユーザー名を「***」に置換して匿名化しています。本当です!

ReferenceError: foo is not defined
    at click (C:\Users\***\AppData\Local\DiSpeak\app-2.2.0\resources\app\index.js:392:85)
    at MenuItem.click (C:\Users\***\AppData\Local\DiSpeak\app-2.2.0\resources\electron.asar\browser\api\menu-item.js:56:9)
    at Function.executeCommand (C:\Users\***\AppData\Local\DiSpeak\app-2.2.0\resources\electron.asar\browser\api\menu.js:31:13)

とりあえず載せて置かなければいけないのはこのぐらいですかね。後ほどWikiも更新します。
あと不具合あったらゴメンね( ´•౪•`)

あとあとTwitterもよろしく!メインお知らせ用(創作用)があるよ!