2022/04/22
Hyper-V環境で偽装ちゃんを利用できない事がわかりました。⇒偽装ちゃんをHyper-V環境で利用すると、Http接続の利用ができない模様です。
2021/04/02
棒読みちゃんと偽装ちゃんの同時利用が可能ですよ?⇒偽装ちゃんと棒読みちゃんの混在利用例
今日は 15人がこのページを訪れました。
昨日は 4人がこのページを訪れました。
fakechan20220322-2.zip - 2022/03/22 公開その77。Ver 2.0.35
NowPlaying修正不良。リリースソースから必須の行が抜けていましたごめんなさい。
fakechan20220316-1.zip - 2022/03/16 公開その76。Ver 2.0.34
話者マップを59話者に再々増量。
fakechan20220315-1.zip - 2022/03/15 公開その75。Ver 2.0.33
話者マップ再増量。そろそろ追いつかない…
fakechan20220214-2.zip - 2022/02/14 公開その74。Ver 2.0.32
全角→半角変換を、数字と英字・記号で分けて行えるようにしました。
fakechan20220214-1.zip - 2022/02/14 公開その73。Ver 2.0.31
全角→半角変換を追加しました。一部チェックボックスの状態を引継げなかったのでアプリ設定タブを再度ご確認ください。
fakechan20220212-1.zip - 2022/02/12 公開その72。Ver 2.0.30
テキスト置換と非日本語判定の順序を変更できるようにしました。過去版の振舞いと非互換になるのでご注意ください。
fakechan20220202-1.zip - 2022/02/02 公開その71。Ver 2.0.29
再生方法が同期の時、キュー最後のテキストが読み上げ終わってからNowPlayingをFalseにする修正を実施しました。
fakechan20211220-1.zip - 2021/12/20 公開その70。Ver 2.0.28
増量。
「真っ白画面が表示されて数秒で閉じる」など偽装ちゃんが起動しない場合、初期化を実施してください。
ソースコードはGitHubで公開しています。公開している版とGitHubのコードバージョンの同期がとれていないかもしれません。
棒読みちゃんのフリをするアプリケーション「偽装ちゃん(FakeChan)」です。
棒読みちゃんを使うアプリケーション(IPCもしくはSocket,HTTP経由)から利用します。
コメントビュアーなどのアプリ ➡ 偽装ちゃん ➡ AssistantSeika ➡ 音声合成製品
棒読みちゃんを停止して偽装ちゃんを実行すれば、棒読みちゃんから呼び出せなかった64bit版の音声合成製品を呼び出せます。
偽装ちゃん自身は音声合成を行いません。AssistantSeika経由で音声合成製品に音声合成を指示します。
構造上、棒読みちゃんと偽装ちゃんは同時に実行できません。
ただし、棒読みちゃんβ版を利用するのであれば同時実行が可能になります。偽装ちゃんと棒読みちゃんの混在利用例 を参照してください。
このツールはAssistantSeikaが必須です。
先にAssistantSeika バージョン 20211204/u 以降をダウンロード、インストールしてください。
インストールが終わったら、使いたい音声合成製品とAssistantSeikaを起動し、AssistantSeikaが音声合成製品を認識している状態にしてください。
棒読みちゃんが立ち上がっていたらそちらは終了させてください。
2021/04/23
AssistantSeikaを起動しないで「偽装ちゃんがエラー吐いて落ちる」とか、AssistantSeikaに音声合成製品を認識させていない状態なのに落ちるとかいう人等がいたので注意書き。
AssistantSeikaが起動していないのに偽装ちゃんを起動しようとした。 | AssistantSeikaが音声合成製品を認識していないのに偽装ちゃんを起動しようとした。 |
---|---|
![]() | ![]() |
新しい版にしたら起動しなくなった、何かの拍子に起動できなくなった、といった場合、偽装ちゃんの初期化で解決する可能性があります。
ダウンロードしたアーカイブに含まれる 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番を指定してくるものもあるので各アプリケーションの仕様を確認してください。
発声方法の
再生に使う音声合成製品は、同期と非同期で異なるものを指定してください。同じ音声合成製品を指定するのは無意味です。
ゆかりねっと等で音声認識結果を喋らせたい場合は非同期に設定することを推奨します。
ランダム選択で話者の割り当てをランダムに指定できます。※発声方法が「同期」の時に適用されます
SAPIで日本語を理解できない話者がいます。その話者は日本語文字列の発声ができません。無言になります。
comment.xmlを生成する際、受信インタフェース毎にサービス名を指定できます。
例だと、この受信インタフェースで受信したコメントはサービス名 “IPC : BouyomiChan” で生成したものであると comment.xml に記録されます。
サービス名は変更できるので、comment.xmlを利用するアプリケーションの仕様に従って変更します。
※例えばHTML5 コメントジェネレーターでは、サービス名が“nicolive”の時に“【ニコ生】”のヘッダを付けてコメント表示します。
音声設定タブで、棒読みちゃんのボイスに割り当てた話者のパラメタを変更できます。
この例では受信インタフェースIPCのボイス0、 CeVIO さとうささら さんのパラメタが編集できるようになりました。ここで設定したパラメタで さとうささら さんは発声します。
再生テキストにテスト用の文言を入力してテスト再生ボタンを押すと、パラメタ値を適用してテスト発声します。
置換設定タブで音声合成製品へ渡す前にテキストを編集できます。
正規表現による置換が一覧の先頭から順に実施されます。適用する置換にはチェックを入れてください。
最後に指定の文字数で切捨てが行われます。
必要なら切捨て後の文字列最後に指定の文字列を追加できます。「適用する」にチェックを入れてください。
置換設定は保存ボタンでファイルを指定し保存可能です。取込みボタンで保存したファイルから置換設定を取り込みできます。
アプリ設定タブでウインドウタイトルの変更や日本語ではなさそうなテキストだった場合に話者を変更する指定ができます。
ウインドウタイトル変更機能は、オリジナルタイトルがどうしても我慢できない利用者が変更するために実装されました。どうしてもオリジナルのタイトルが気に入らない場合はこちらで対処してください。
チェック「日本語ではなさそうな時に話者を変更する」を設定すると、発声テキストが日本語ではないと判断されるときに発声する話者の変更ができます。
全受信インタフェース共通の設定となります。
※判定方法:発声テキストから数字0~9と空白を削除し、削除後のテキストのラテン文字 26個+α の占有率を調べ、この文字群の占有率が75%を超えるようなら日本語ではないと判断してます。とてもいい加減です。
日本語ではない時に使用される話者を選択しておく必要があります。例えば英語が利用可能な話者を選択しておきます。
comment.xml生成フォルダで comment.xmlを生成するフォルダを指定します。comment.xmlを利用するアプリケーションが指定するフォルダを設定してください。
メッセージ先頭に限り、以下の追記を行う事で話者を変更することができます。
例:“(voice 2)今日は良いお天気ですね” ← 声質「女性2」に割り当てた話者で“今日は良いお天気ですね”を発声する。
メッセージ先頭の記述 | 内容 |
---|---|
(voice 0) | ボイス0 の性質の割り当てた話者で発声する |
(voice 1) | 女性1 の性質の割り当てた話者で発声する |
(voice 2) | 女性2 の性質の割り当てた話者で発声する |
(voice 3) | 男性1 の性質の割り当てた話者で発声する |
(voice 4) | 男性2 の性質の割り当てた話者で発声する |
(voice 5) | 中性 の性質の割り当てた話者で発声する |
(voice 6) | ロボット の性質の割り当てた話者で発声する |
(voice 7) | 機械1 の性質の割り当てた話者で発声する |
(voice 8) | 機械2 の性質の割り当てた話者で発声する |
(voice 1000) | 拡張1 の性質の割り当てた話者で発声する |
(voice 1001) | 拡張2 の性質の割り当てた話者で発声する |
(voice 1002) | 拡張3 の性質の割り当てた話者で発声する |
(voice 1003) | 拡張4 の性質の割り当てた話者で発声する |
(voice 1004) | 拡張5 の性質の割り当てた話者で発声する |
(voice 1005) | 拡張6 の性質の割り当てた話者で発声する |
(voice 1006) | 拡張7 の性質の割り当てた話者で発声する |
(voice 1007) | 拡張8 の性質の割り当てた話者で発声する |
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つまでスキップします。 |
2.0.24以前は以下の振る舞いでした。
滞留数 | モード | 処理 |
---|---|---|
10以下 | 0 | 通常の発声を行います。 |
11以上15以下 | 1 | 話速に 1.5 を剰じ発声速度を変更します。 |
16以上20以下 | 2 | 話速に 1.5 を剰じ発声速度を変更し、コメントの先頭から11文字目以降を切り捨てて“(以下略”に置き換えます。 |
21以上 | 3 | コメントを“(省略”に置き換えます。 |
21以上 | 4 | モード3が3回続いたら、キューのコメント読み上げを最新の5つまでスキップします。 |
FakeChan.exe と同じフォルダに QuietMessages.json をコピーすることで読み上げ待機時に指定時間が経過すると呟く機能が利用できます。
QuietMessages.json は UTF-8 BOM無しの JSON形式ファイルです。読み上げ待機状態になってから指定の秒数経過後に発声させるテキストを指定します。
この例だと4つの経過時間が登録されています。Keyが経過秒数、Valueが発声する話者とテキストです。利用者が自身で経過時間や話者、テキストの追加更新が可能です。
指定可能な経過時間は最大最大2日間(172,800秒)までです。超える定義箇所は無視されます。
各経過時間に割り当てるテキストは複数登録できます。テキストの選択はランダムに行われます。
定義ファイルサンプル
Ver 2.0.27以降 | Ver 2.0.26以前 |
---|---|
|
|
利用者が自身でQuietMessages.jsonの配置を行うと呟き機能のGUIが表示されるようになります。
![]() | ![]() |
「読み上げ待機が続いても呟かない」チェックを入れると呟きが抑止されます。
IPC, Socket, HTTP による接続のサンプルは棒読みちゃんに同梱されていますのでそちらをご覧ください。
設定タブの丸をクリック。ON/OFF トグルスイッチになっています。
ダウンロードした偽装ちゃんのアーカイブを解凍します。
MultiCommentViewerの棒読みちゃん連携ではFakeChan.exeを選択できません。FakeChan.exeをコピーしてBouyomiChan.exeにリネームします。
MultiCommentViewerの棒読みちゃん連携でこのBouyomiChan.exeを選択します。
2021/11/28
NCVは自身で棒読みちゃん(偽装ちゃん)を起動しなかった場合、定期的に棒読みちゃんプロセス存在確認を行っているようです。
BouyomiChan.exeがプロセスに存在しないとオプションで設定した棒読みちゃん(偽装ちゃん)を立ち上げようとします。
ダウンロードした偽装ちゃんのアーカイブを解凍します。
NCVのオプションで棒読みちゃんを選択してFakeChan.exeを指定します。
ダウンロードした偽装ちゃんのアーカイブを解凍します。
FakeChan.exeをコピーしてBouyomiChan.exeにリネームします。
オプションでソケット通信を選択します。FakeChan.exeを起動すると読み上げが始まります。
ツイキャスコメントビューアーは棒読みちゃんの話者指定に1番(女性1)を指定するようなので、偽装ちゃん側も女性1に設定を行う必要があります。
ソースコードはhttps://github.com/k896951/FakeChanにリポジトリ置いたのでそこを見てください。
古いコメントは消しますね。
コメント
別途Twitterでもやり取りさせて頂きましたが、こちらにも書き残させて頂きます。
MultiCommentViewerを利用して棒読みちゃんの代替とするとき、
棒読みちゃんが話者指定を文字列置換の後に判定しているので、
同じ処理順になると非常に利便性が高いなと思いました。
また、英文の判定が75%程度固定と言う事で、場合によってはこの調整ができることで利便性が上がる可能性もあるかと思いました。
いずれについてもプログラムの構造の問題もあるかと思いますが、検討材料にして頂けたら幸いです。
申し訳ございませんが、接続クライアントを限定( 今回はMultiCommentViewer? )しての機能追加等を行う予定はございません。
棒読みちゃんのReadMe.txt等からは上記に言及した個所を見つけられないでおりますのでドキュメントと記載位置等をお知らせいただければと思います。
読み上げ待機時の呟き機能を使っているのですが、認識している話者が複数の場合、話者の中からランダムで選出されてしまいます 話者を固定する事は可能でしょうVOICEROID2等はどうしても複数の話者を認識してしまうので…
QuietMessages.json に話者のcidを記載する方法でよければ改修可能です。それでもよろしいですか?
大丈夫です
お願いします
では改修しますので公開までお待ちください。
機能を取り込んだVer 2.0.27 を公開しました。ご確認ください。
お早い対応ありがとうございます!
NCVで利用しているのですが、別ツール(Socket)も使う関係上予め起動しておきたいです。 この際、NCV+本家棒読みちゃんの場合は特に問題なく動作するのですが(新たな棒読みちゃんウィンドウは増えない)、 NCV+偽装ちゃんの場合読み上げ処理を行おうとする度に新たな偽装ちゃんウィンドウが表示され、IPCポート作成できないとエラーが出てしまいます。 ただし、予め起動しておくのではなくNCVから立ち上がった1つ目の偽装ちゃんであればそれ以降どちらのツールからも問題なく動作します。 なにか予め起動しておく方法はありますでしょうか。
偽装ちゃんが多重起動を抑止できれば問題は解消しますか?
Ver2.0.20で多重起動抑止コードを追加しました。こちらでご希望の動作になるかご確認ください。
ありがとうございます。確認してみたところ、複数ウィンドウが表示されることはなくなりましたが、やはり予め偽装ちゃんをNCV経由以外で起動した場合NCVからは読み上げが実行されない状態でした。どうも挙動的にはNCVから立ち上がった子プロセスでないとIPC経由での通信が受け付けられていないような気がするのですが、本家棒読みちゃんは子プロセスでなく別プロセスであっても起動済みであれば受け付けてくれるというのがよくわからないところです…(IPC関連は詳しくないので見当違いかもしれませんが…)
うーん。 NCV α204 (0,204,2,39)で試してみました。 事前に偽装ちゃんを立ち上げたうえで、次にNCVを起動、実況に接続してみると、少なくとも当方の環境ではきちんと音声発声が始まりますね。
追記
棒読みちゃんを並列起動していないのであれば、ちょっと原因はわからないです。すみません。
追記2
ざっくり見た感じ、NCVさんから起動したプロセスが無い場合は毎回起動を試みているように思われます。
そして偽装ちゃんは起動にそれなりに時間がかかるのでそのあたりに何かあるのかもしれません。
どうもEXEのファイル名も関係しているようです。
試しに FakeChan.exe を BouyomiChan.exe にリネームして使ってみたところ、ちょっと重かった動作も解消しているように見えます。
どうせなので多重起動判定の処理をもう少し早い段階で行うようにして手離れが早くなるようにした Ver2.0.21 を出しますのでそれで試してみてください。
こちらでも改めて確認してみたところ、NCV α204+偽装ちゃんVer2.0.20(FakeChan.exe)で実況に接続すると確かに再生されますね。
元々当方で試したときは枠を作って公開する前の状態でコメントをしていたのですが、 実況での状況も踏まえ改めて確認したところ、連続で読み上げに受け渡されると2つ目以降は成功しやすいようで、 少しでも間を空けるとそのタイミング以降の1つ目のコメントは読み上げに失敗する事があるようでした。(なので、低速だとほぼ読み上げに失敗する)
また、リネームを試したところ、 FakeChan.exe のままだとカーソルが一瞬処理中に切り替わったりしていましたが、 BouyomiChan.exe に書き換えるとその現象が見られなくなりVer2.0.20でも安定して読み上げ処理が行われるようになりました。
更にVer2.0.21にしたところ FakeChan.exe で実況に接続すると飛び飛びに読み上げが実行されますが、 BouyomiChan.exe だとスムーズに安定して読み上げが行われました。
exe名でNCV的に処理に違いが出るとは思っていませんでしたが、 BouyomiChan.exe とリネームして利用することで対応したいと思います。
色々お手数をおかけしてしまいすみません。ありがとうございました。
ありがとうございます、いつも利用させてもらっています。 偽装ちゃんの話者設定で以下の設定にしているのですが、ボイス0でしか再生されず 何か原因等分かりますでしょうか。
バージョン:2.0.13 HTTP:50080連携 発生方法:同期 ランダム選択:ボイス0~をランダムに適用 話者マップ: ボイス0:CevioAI 女性1~機械2:VOICEROID2 話者切り替え判定:チェックなし
HTTPのリクエストの情報もご提供いただけますでしょうか
HTTPリクエストというのは連携元の情報のことでよろしかったでしょうか 連携元はFutaKuroというChromeブラウザのアドオンで内部的な仕様はちょっと不明です、すみません Socket連携も選択できるのですが、ポート開放が行えない環境のためHTTP連携を利用しています。
ボイス0の対象を変える分にはその話者で発声されるので、連携と複数の製品の認識自体は出来ているようなのですが 状態表示のタブは 発声話者: Http:50080 → ボイス0 → 3101:さとうささら のように常にボイス0が選択されている表示でした。
HTTP:50080を利用するという事はURL http://localhost:50080/~ へGETリクエストを発行しているはずなので、そのリクエストURIを頂ければと思っておりました。
アドオン起因かどうかは不明です。
これを除くと、ご連絡内容からおそらく ランダム選択 の切り替えが有効になっていない状態だと思われます。
現在他の指摘事項の修正を行っていて、おそらく今回ご連絡いただいた事象も含めて修正されるのではないかと思われます。
新しい版(2.0.14)がこれから公開される予定ですので、お手数ですがこの版で事象が再現するかご確認いただけますでしょうか。
2.0.14でランダム選択が設定通りに切り替わっているのを確認できました ありがとうございます!
了解しました 丁寧にありがとうございます
たった今ダウンロードしてMultiCommentViewerから棒読みちゃんに提携して使おうとしたらFakeChan.exeが見当たらないのですが原因などわかりますでしょうか?
当サイトからダウンロードしたアーカイブにFakeChan.exeが含まれていないというご指摘でしょうか?
はい。そうです
このページの先頭にあるダウンロードセクションの、 fakechan20210731-1.zip を確認するとfakechan.exeが格納されている事を確認できます。お手数ですがこちらをダウンロードしてください。 もしGitHubのリリースのリンクのことを言っているのであれば、GitHubにはソースコードを公開しており、バイナリ(exe)は公開しておりません。
念の為の説明ですが、本ページに説明があるようにfakechan.exeをBouyomiChan.exeへリネームしMultiCommentViewerからこのリネームしたBouyomiChan.exeを指定してください。これはMultiCommentViewerの仕様となります。