目次
偽装ちゃんの説明
2022-09-24
偽装ちゃんの提供を終了しました。後継の偽装ちゃん22vの説明をご利用ください。
「真っ白画面が表示されて数秒で閉じる」など偽装ちゃんが起動しない場合、初期化を実施してください。
ダウンロード
フリー版、ソース同梱版をhttps://k896951.booth.pm/items/4954217で公開・販売しています。
概要
棒読みちゃんのフリをするアプリケーション「偽装ちゃん(FakeChan)」です。
棒読みちゃんを使うアプリケーション(IPCもしくはSocket,HTTP経由)から利用します。
コメントビュアーなどのアプリ ➡ 偽装ちゃん ➡ AssistantSeika ➡ 音声合成製品
棒読みちゃんを停止して偽装ちゃんを実行すれば、棒読みちゃんから呼び出せなかった64bit版の音声合成製品を呼び出せます。
偽装ちゃん自身は音声合成を行いません。AssistantSeika経由で音声合成製品に音声合成を指示します。
構造上、棒読みちゃんと偽装ちゃんは同時に実行できません。
ただし、棒読みちゃんβ版を利用するのであれば同時実行が可能になります。偽装ちゃんと棒読みちゃんの同時利用例 を参照してください。
準備
このツールはAssistantSeikaが必須です。
先にAssistantSeika バージョン 20211204/u 以降をダウンロード、インストールしてください。
インストールが終わったら、使いたい音声合成製品とAssistantSeikaを起動し、AssistantSeikaが音声合成製品を認識している状態にしてください。
棒読みちゃんが立ち上がっていたらそちらは終了させてください。
2021/04/23
AssistantSeikaを起動しないで「偽装ちゃんがエラー吐いて落ちる」とか、AssistantSeikaに音声合成製品を認識させていない状態なのに落ちるとかいう人等がいたので注意書き。
AssistantSeikaが起動していないのに偽装ちゃんを起動しようとした。 | AssistantSeikaが音声合成製品を認識していないのに偽装ちゃんを起動しようとした。 |
---|---|
偽装ちゃんの初期化
新しい版にしたら起動しなくなった、何かの拍子に起動できなくなった、といった場合、偽装ちゃんの初期化で解決する可能性があります。
- 偽装ちゃんを停止します。
- エクスプローラーで次のフォルダを開きます。
C:\Users\<ユーザアカウント>\AppData\Local\510_Product - フォルダ内にある “FakeChan.exe_”から始まる名称のフォルダをすべて削除します。
- 偽装ちゃんを起動します。
使い方
状態表示
ダウンロードしたアーカイブに含まれる FakeChan.exe が立ち上がると(BouyomiChan.exeにリネームしている場合はBouyomiChan.exeが立ち上がると)、状態表示タブが表示されます。
受信インタフェースは連携ソフトウエアからの接続を待つ受け口の種類を意味しています。
受信インタフェースの●(丸)が緑色になっているときはその受信インタフェースが有効になっています。●をクリックしてON/OFFを切り替え可能です。
受信インタフェース | |
---|---|
IPC:BouyomiChan | 棒読みちゃんの IpcClientChannel接続を模しています。連携ソフトウエアがIPCを利用する場合はここを有効にします。 |
Socket:50001 | 棒読みちゃんの Socket接続を模しています。連携ソフトウエアがSocketを利用する場合はここを有効にします。 |
HTTP:50080 | 棒読みちゃんの HTTP接続を模しています。連携ソフトウエアがHTTPを利用する場合はここを有効にします。 |
Clipboard | OSのクリップボードにコピーされたテキストを入力として利用する場合はここを有効にします。棒読みちゃんのクリップボード監視プラグインと類似の機能です。 |
Socket:50002 | 連携ソフトウエア毎に割り当てる音声を変更したい場合に利用します。連携ソフトウエアでSocketのポート番号を50002に変更できる必要があります。 |
Socket:50003 | 連携ソフトウエア毎に割り当てる音声を変更したい場合に利用します。連携ソフトウエアでSocketのポート番号を50003に変更できる必要があります。 |
Socket:50004 | 連携ソフトウエア毎に割り当てる音声を変更したい場合に利用します。連携ソフトウエアでSocketのポート番号を50004に変更できる必要があります。 |
HTTP:50081 | 連携ソフトウエア毎に割り当てる音声を変更したい場合に利用します。連携ソフトウエアでHTTPのポート番号を50081に変更できる必要があります。 |
HTTP:50082 | 連携ソフトウエア毎に割り当てる音声を変更したい場合に利用します。連携ソフトウエアでHTTPのポート番号を50082に変更できる必要があります。 |
HTTP:50083 | 連携ソフトウエア毎に割り当てる音声を変更したい場合に利用します。連携ソフトウエアでHTTPのポート番号を50083に変更できる必要があります。 |
※棒読みちゃんのReadMe.txtの「■主な機能」⇒「アプリケーション連携機能(開発者向け)」にIPC,Socket.HTTPの説明があります。
話者設定
|
話者設定タブで使用する受信インタフェース(棒読みちゃん連携方法)の設定を行います。
話者マップを使って、使用する受信インタフェースで使う棒読みちゃんのボイス0~8番と話者を紐づけします。表示されている話者はAssistantSeikaで認識されている話者になります。
ただし、SAPIでCeVIO CS, CeVIO AIの話者は除外されています。※SAPI経由での発声ができない環境があるので除外しています。
ほとんどの連携アプリはボイス0を指定してきますが、稀に1番を指定してくるものもあるので各アプリケーションの仕様を確認してください。
発声方法の
- 同期を選ぶと、メッセージはキューに入り、順次AssistantSeikaに発声指示を出します。
- 非同期を選ぶと、キューを使用せずすぐAssistantSeikaに発声指示を出します。
再生に使う音声合成製品は、同期と非同期で異なるものを指定してください。同じ音声合成製品を指定するのは無意味です。
ゆかりねっと等で音声認識結果を喋らせたい場合は非同期に設定することを推奨します。
ランダム選択で話者の割り当てをランダムに指定できます。※発声方法が「同期」の時に適用されます
日本語を理解できない話者がいます。その話者は日本語文字列の発声ができません。無言になります。
comment.xmlを生成する際、受信インタフェース毎にサービス名を指定できます。
例だと、この受信インタフェースで受信したコメントはサービス名 “IPC : BouyomiChan” で生成したものであると comment.xml に記録されます。
サービス名は変更できるので、comment.xmlを利用するアプリケーションの仕様に従って変更します。
※例えばHTML5 コメントジェネレーターでは、サービス名が“nicolive”の時に“【ニコ生】”のヘッダを付けてコメント表示します。
音声設定
音声設定タブで、棒読みちゃんのボイスに割り当てた話者のパラメタを変更できます。
この例では受信インタフェースIPCのボイス0、 CeVIO AI さとうささら さんのパラメタが編集できるようになりました。ここで設定したパラメタで さとうささら さんは発声します。
再生テキストにテスト用の文言を入力してテスト再生ボタンを押すと、パラメタ値を適用してテスト発声します。
置換設定
置換設定タブで音声合成製品へ渡す前にテキストを編集できます。
正規表現による置換が一覧の先頭から順に実施されます。適用する置換にはチェックを入れてください。
最後に指定の文字数で切捨てが行われます。
必要なら切捨て後の文字列最後に指定の文字列を追加できます。「適用する」にチェックを入れてください。
置換設定は保存ボタンでファイルを指定し保存可能です。取込みボタンで保存したファイルから置換設定を取り込みできます。
アプリ設定
アプリ設定タブでウインドウタイトルの変更や日本語ではなさそうなテキストだった場合に話者を変更する指定ができます。
ウインドウタイトル変更機能は、オリジナルタイトルがどうしても我慢できない利用者が変更するために実装されました。どうしてもオリジナルのタイトルが気に入らない場合はこちらで対処してください。
処理順で話者判定とテキストの置換等の処理順を指定します。現時点ではテキスト置換処理前に非日本語判定を行うかどうかの指定になります。
URL置換は、URLらしい文字列を指定文字列で置換するか否かを指定します。
テキスト置換は、テキスト置換タブで指定した内容で置換を行うか否かを指定します。前処理として、英字や数字、記号を半角文字に変換させるオプションの有無を選択できます。
非日本語判定は、読み上げ文字列の非日本語文字列占有率から非日本語文字列かどうかの判定を行い日本語ではないと判断されるときに発声する話者の変更を行います。
※判定方法:発声テキストから数字0~9と空白を削除し、削除後のテキストのラテン文字 26個+α の占有率を調べ、この文字群の占有率が指定の割合を超えるようなら日本語ではないと判断してます。とてもいい加減です。
日本語ではない時に使用される話者を選択しておく必要があります。例えば英語が利用可能な話者を選択しておきます。
comment.xml生成フォルダで comment.xmlを生成するフォルダを指定します。comment.xmlを利用するアプリケーションが指定するフォルダを設定してください。
話者切り替え
メッセージ先頭に限り、以下の追記を行う事で話者を変更することができます。
例:“b)今日は良いお天気ですね” ← 声質「女性2」に割り当てた話者で“今日は良いお天気ですね”を発声する。
メッセージ先頭の記述 | 内容 |
---|---|
y) | 女性1 の性質の割り当てた話者で発声する |
b) | 女性2 の性質の割り当てた話者で発声する |
h) | 男性1 の性質の割り当てた話者で発声する |
d) | 男性2 の性質の割り当てた話者で発声する |
a) | 中性 の性質の割り当てた話者で発声する |
r) | ロボット の性質の割り当てた話者で発声する |
t) | 機械1 の性質の割り当てた話者で発声する |
g) | 機械2 の性質の割り当てた話者で発声する |
e1) | 拡張1 の性質の割り当てた話者で発声する |
e2) | 拡張2 の性質の割り当てた話者で発声する |
e3) | 拡張3 の性質の割り当てた話者で発声する |
e4) | 拡張4 の性質の割り当てた話者で発声する |
e5) | 拡張5 の性質の割り当てた話者で発声する |
e6) | 拡張6 の性質の割り当てた話者で発声する |
e7) | 拡張7 の性質の割り当てた話者で発声する |
e8) | 拡張8 の性質の割り当てた話者で発声する |
その他
その他タブにはライセンスに関する表記があります。
GitHubのソースコードにはこのタブに関するコードが展開されていません。GitHubのコードをビルドする場合はライセンス関係にお気を付けください。
キュー滞留処理
2.0.25以降で実装されています。
発声方法に「同期」を選択していると、送られてきたコメントは共通のキューに投入され、順次発声が行われていきます。
しかし、読み上げの速度を上回ってコメントが送られてくる場合、表示されたコメントと読み上げのコメントが一致しない状態になってしまいます。
偽装ちゃんはキューに滞留しているコメント数を見て処理方法を変更します。
滞留数 | モード | 処理 |
---|---|---|
6以下 | 0 | 通常の発声を行います。 |
7以上10以下 | 1 | 話速に 1.5 を剰じ発声速度を変更します。 |
11以上15以下 | 2 | 話速に 1.8 を剰じ発声速度を変更します。 |
16以上20以下 | 3 | 話速に 1.8 を剰じ発声速度を変更し、コメントの先頭から11文字目以降を切り捨てて“(以下略”に置き換えます。 |
21以上 | 4 | コメントを“(省略”に置き換えます。 |
21以上 | 5 | モード4が3回続いたら、キューのコメント読み上げを最新の5つまでスキップします。 |
読み上げ待機時呟きメッセージファイル
FakeChan.exe と同じフォルダに QuietMessages.json をコピーすることで読み上げ待機時に指定時間が経過すると呟く機能が利用できます。
QuietMessages.json は UTF-8 BOM無しの JSON形式ファイルです。読み上げ待機状態になってから指定の秒数経過後に発声させるテキストを指定します。
この例だと4つの経過時間が登録されています。Keyが経過秒数、Valueが発声する話者とテキストです。利用者が自身で経過時間や話者、テキストの追加更新が可能です。
- 180秒の定義では、cid=3001, 3002 の話者がランダム選択されます。
- 300秒の定義では、cid=7001 の話者が選択されます。
- 600秒,720秒の定義では、偽装ちゃんの認識している話者がランダム選択されます。
指定可能な経過時間は最大最大2日間(172,800秒)までです。超える定義箇所は無視されます。
各経過時間に割り当てるテキストは複数登録できます。テキストの選択はランダムに行われます。
定義ファイルサンプル(Ver 2.0.27以降)
- QuietMessages.json
[ { "Key": 180, "Value": { "cids": [ 3001, 3002 ], "messages": [ "静かですねぇ…", "しーん…", "誰もコメントくれないのです。寂しい。", "何かコメントしてくださいよう…", "頑張るからさーお願い!コメントくださいね!", "静けさに耐えられなくなっちゃうよー", "明るいコメントが欲しいですん" ] } }, { "Key": 300, "Value": { "cids": [ 7013 ], "messages": [ "誰も見ていないんじゃないかなぁ…", "誰も来ないですねぇ…", "今日はやめましょうか…" ] } }, { "Key": 600, "Value": { "cids": [], "messages": [ "コメントしてコメントしてコメントしてコメントしてコメントしてコメントしてコメントしてコメントしてコメントしてコメントして…", "コメント欲しいコメント欲しいコメント欲しいコメント欲しいコメント欲しいコメント欲しいコメント欲しいコメント欲しいコメント欲しいコメント欲しい…", "コメント書いてコメント書いてコメント書いてコメント書いてコメント書いてコメント書いてコメント書いてコメント書いてコメント書いてコメント書いて…" ] } }, { "Key": 720, "Value": { "cids": [], "messages": [ "うぎゃー!!!! コメントしてくれよう!!!", "お願いだー!コメントしてくれよう!!!", "みんなー頼むー!コメントくだされー!!!" ] } } ]
利用者が自身でQuietMessages.jsonの配置を行うと呟き機能のGUIが表示されるようになります。
「読み上げ待機が続いても呟かない」チェックを入れると呟きが抑止されます。
自分のアプリから連携
IPC, Socket, HTTP による接続のサンプルは棒読みちゃんに同梱されていますのでそちらをご覧ください。
socket(50002)、HTTP(50081)の有効化
設定タブの丸をクリック。ON/OFF トグルスイッチになっています。
MultiCommentViewer から使う
ダウンロードした偽装ちゃんのアーカイブを解凍します。
MultiCommentViewerの棒読みちゃん連携ではFakeChan.exeを選択できません。FakeChan.exeをコピーしてBouyomiChan.exeにリネームします。
MultiCommentViewerの棒読みちゃん連携でこのBouyomiChan.exeを選択します。
NCV(NiconamaCommentViewer) から使う
2021/11/28
NCVは自身で棒読みちゃん(偽装ちゃん)を起動しなかった場合、定期的に棒読みちゃんプロセス存在確認を行っているようです。
BouyomiChan.exeがプロセスに存在しないとオプションで設定した棒読みちゃん(偽装ちゃん)を立ち上げようとします。
NCVから起動させる場合
ダウンロードした偽装ちゃんのアーカイブを解凍します。
NCVのオプションで棒読みちゃんを選択してFakeChan.exeを指定します。
事前に偽装ちゃんを起動する場合
ダウンロードした偽装ちゃんのアーカイブを解凍します。
FakeChan.exeをコピーしてBouyomiChan.exeにリネームします。
ツイキャスコメントビューアー(閲覧君) から使う
オプションでソケット通信を選択します。FakeChan.exeを起動すると読み上げが始まります。
ツイキャスコメントビューアーは棒読みちゃんの話者指定に1番(女性1)を指定するようなので、偽装ちゃん側も女性1に設定を行う必要があります。