概要
Kikisen-Whisper は、ゲームなどのボイスチャット上で
自分の声の特徴を直接出さずに、テキストを合成匿名音声として流すためのツールです。
例えば「了解」「待って」などの指示や、 笑い声などの短いリアクションを伝えることができ、
VCに積極的ではない理由があってもコミュニケーションを円滑にできればいいなと考えています。
- ローカル動作(クラウド送信なし、Ping安定)
- Whisper.cpp による音声認識(STT)
- VOICEVOX API連携による TTSも対応(匿名発声)
- 短い応答・リアクション専用の VC コミュニケーションを想定
- 旧作に比べて大幅な認識精度向上・応答速度改善を実現
動作環境
必須
- Windows 10 / 11(64bit)
- Visual C++ 2015–2022 再頒布可能パッケージ (x64)
vc_redist.x64.exe をダウンロード
パッケージ構成
Whisper の DLL が異なるため、環境に合わせてパッケージを選んでください。
| パッケージ | 対応GPU |
|---|---|
| CPU | GPU なし |
| Vulkan | Radeon / Intel |
| CUDA | NVIDIA |
※ パッケージ間で DLL の中身が異なるため、フォルダを混ぜて使わないでください。
ダウンロードと起動
ダウンロード(251212update)- 環境に合った zip をダウンロードして任意のフォルダに展開
- 展開先フォルダ内の
_run.batをダブルクリック
Whisper モデルの配置
models フォルダに Whisper モデルを配置します。
- 推奨:
ggml-small.bin - Tiny:精度不足になりやすい
- Medium:ファイルが大きく動作も重め
- Small:速度と精度のバランスが良く、現状のおすすめ
外部リンク
基本的な使い方
- アプリを起動するとタスクトレイにアイコンが出ます。
- Prefs ボタンから各種設定を行います。
- ホットキー(デフォルト F9)または「Start」ボタンで録音開始。
- 発話が終わると Whisper がテキスト化し、TTS で発声します。(数秒の遅延あり)
おすすめ設定(Prefs)
Auto paste:OFFAuto type:OFFSilence detection:ON 推奨Key trigger mode:Start / StopAudio inputs:使用するマイクを選択Audio outputs: ゲームや Discord に渡す仮想マイク(VB-Audio Cable / SteelSeries Sonar など)を選択
音声認識結果はアプリのウィンドウに表示されると同時に、
カレントフォルダの _outtts.txt の末尾に追記されます。
Kikisen-Whisper はこのファイルの「最後の1行」を監視して TTS 発声しています。
VOICEVOX 連携
Kikisen-Whisper は VOICEVOX と連携して TTS を行えます(必須ではありません)。
VOICEVOX 側で API モードを起動しておくと、自動で認識されます。
設定例(_outtts.txt 冒頭)
voicevox.exe="M:\VOICEVOX\VOICEVOX.exe"
voicevox.api="http://127.0.0.1:50021"
voicevox.speaker=3 # 3: ずんだもん, 26: Whitecal びえん など
voicevox.exe:VOICEVOX 本体の exe パスvoicevox.api:API エンドポイント URL(デフォルト:http://127.0.0.1:50021)voicevox.speaker:話者ID(各キャラの ID は VOICEVOX 側のドキュメント等を参照)
※ VOICEVOX は別プロジェクトです。本ツールに含まれていません。
話者ごとの利用ライセンスは VOICEVOX 側の規約に従ってください。
設定ファイル _outtts.txt
_outtts.txt は 設定+ログ を兼ねたテキストファイルです。
ファイルの「上部」に書かれた設定行を読み込み、それ以降はログとして追記していきます。
設定例
language=ja
silence=3200
silence_hard=100
voicevox.exe="M:\VOICEVOX\VOICEVOX.exe"
voicevox.api="http://127.0.0.1:50021"
voicevox.speaker=3
initial_prompt=これはゲーム内の無線チャットです。短く簡潔に話す。字幕、BGM、効果音、顔文字は出力しないで。笑い声は出していい。話している内容だけに集中してください。使われる単語は「了解、敵、味方、助けて」
--------------------------↑設定↓ログ--------------------------
主な項目
| キー | 説明 |
|---|---|
language | Whisper への言語ヒント(例:ja) |
silence | 無音判定のしきい値(大きいほど「無音扱い」が甘くなる) |
silence_hard | ノイズ・誤認識を減らすためのハードな無音判定値 |
voicevox.exe | VOICEVOX 本体実行ファイルのパス |
voicevox.api | VOICEVOX API の URL |
voicevox.speaker | 使用する話者ID |
initial_prompt | Whisper に渡す事前プロンプト。短めの方が安定します。 |
_ignore.txt について
_ignore.txt に 無視したい単語やフレーズ を 1 行ずつ書いておくと、
それに一致したテキストはログにも TTS にも出なくなります。
例
えーと
あのー
えっと
Tips
Voicevoxを使っていて、音声が2重に聞こえる場合は、Voicevox側の設定で発声しないように
普段使わない再生デバイスを割り当てておきます。
マイクテストの場合はSteamの設定でマイクを聞くのが便利です。
この際、エコー除去やノイズ除去等の機能が悪さをするのですべてオフにしておくのを推奨します。
ライセンス・クレジット
本ツールは、以下のオープンソースコンポーネントの上に成り立っています。
- MisterWhisper (MIT)
- Whisper.cpp (MIT)
- JNA (Apache 2.0)
- NAudio (MIT)
- JNativeHook (BSD)
- VOICEVOX API(各話者のライセンスに準拠)
Kikisen-Whisper 本体は MIT 相当の条件で再配布可能です。
ただし、VOICEVOX 話者の利用については、各キャラクターのライセンスに従ってください。
Special Thanks
- Whisper.cpp
- VOICEVOX
- MisterWhisper by openConcerto
- そしてテストに付き合ってくれたすべての人たち