今朝 Qwen3-TTS スレッドを見て、やっとこれを書き起こす気になりました。
背景:過去 3 週間、クライアント向けにローカルの音声アシスタントを構築していました。RAG バックエンドの上に、音声優先のインターフェースを載せています。用途は、会話しているように感じられる応答が必要な AI アシスタントです。カーソルが止まるのを待つような、いわゆるタイピングテストのようにはしたくありません。
TTS が弱点でした。まず Kokoro を試しました。ナレーション向けにはしっかりしている一方で、「got it」や「sure, one sec」みたいな短いフレーズだと平板になります。これは音声インターフェースで支配的になる、あの往復のやつです。XTTS-v2 はより表現力がありましたが、コールドスタートの遅延が GPU の状態によって時々 4〜6 秒になることがあり、それが流れをぶった切ります。
この 1 週間、Qwen3-TTS に入れ替えたところ、その差は本物です。質問のイントネーションにおける表現力が、明らかに改善されました。固有名詞や略語はまだ少し一貫性に欠けますが、一般的な会話用途ではもうロボットっぽさは感じません。こちらにとっては、何かを入れ替える衝動なしにそのまま動かし続けられた最初のローカル TTS モデルです。
LLM 側について: [Qwen3.6-35B-A3B](https://huggingface.co/Qwen/Qwen3.6-35B-A3B) 。ターンをまたいだ思考の維持が、音声セッションで実際に動く理由です。前の推論が引き継がれるため、マルチターンの文脈が毎回リセットされずに積み重なります。ユーザーが 7 往復前の何かを参照してくるときに、特に重要です。
完全なパイプラインは whisper -> qwen3.6 -> qwen3-TTS です。往復のレイテンシは実用的です。即時ではありませんが、文の途中で壊れたような間が入る感じもしません。
まだ解決できていないことが 1 つあります:音声ループ内でのツール呼び出しです。ユーザーが検索ステップを必要とする質問をすると、TTS が開始できるまでの間が空きます。ツール結果が返ってくる前に、途中の応答テキストをうまくストリーミングする方法を見つけられていません。誰かがそれをうまく動かせているなら、どうやっているのか本当に気になります。
[link] [comments]




