私的AI研究会 > ComfyUI9d

画像生成AI「ComfyUI」9(音声編) == 編集中 ==

 「ComfyUI」を使ってローカル環境でのAI音楽生成を検証する

▲ 目 次
※ 最終更新:2026/05/22 

「ComfyUI」Qwen3-TTS による音声合成

「Qwen3-TTS」を使って音声合成・音声認識を試す

概要

音声合成・音声認識のための環境構築

 Qwen3-TTS は「transformers」パッケージ 4.XX を必要とする。バージョン 5.XX とは互換性がない
 このため transformers $.XX で実行できる別の「ComfyUI_tf4」を用意することを推奨する

 ※「transformers」は Ver 5.XX から互換性のない新たな API が導入されたようで、エラーで実行不可の拡張ノードが多数ある(『paint-by-example_comfyUI』など)

  1. 専用の環境設定をする
    ・現在使用している ComfuUIパッケージ最新環境のコピーを作成する → 検証済みパッケージ環境の複製

  2. 新しい環境 ComfyUI_tf4 に拡張ノードをインストールする
    拡張ノードのインストール『Qwen3-TTL』『Qwen3-ASR』

  3. 環境変数を設定する
    ① Windowsキー + R を同に押す
    ② 「ファイル名を指定して実行」ウィンドウに sysdm.cpl と入力して OK をクリック
    ③ 新規に、変数: QWEN3_PROMPT , 値: D:\StabilityMatrix\Data\Packages\ComfyUI_tf4\models\Qwen3-TTS\prompts を追加

  4. 「transformers」について
    ・『Qwen3-ASR』をインストールすると「transformers」は自動的に 4.57.6 にダウングレードされる
    ・その後、ComfyUI のアップデートを実行すると 5.XX バージョンに更新されてしまうことがある
     変更を避けるため「アップデートチェックを無効にする」を選択しておくことが望ましい
    ・5.XX に更新されてしまった場合は尾のままでは『Qwen3-TTL』エラーとなるので変更が必要 → Pythonパッケージのバージョン確認・変更

プロジェクトで作成するワークフロー

このプロジェクトで作成するワークフローと関連データは下記にアップロードしている(更新されている場合は再度ダウンロードのこと)

Step 1:「テキストから音声合成」基本ワークフロー

 事前に定義された高品質な話者(Speaker)を選択し、テキストから音声を生成する最も基本的な利用法
 Qwen3-TTS の強力な点は、単にテキストを読み上げるだけでなく、instruct パラメータを用いて「怒った口調で」「ニュースキャスターのように」といった感情やスタイルの指定が可能な点にある。
 多言語モデルであるため、language パラメータを「Auto」に設定することで入力テキストの言語を自動判別させることもできる。

Step 2:「参照音声を話し手(speaker)としてテキストから音声合成」

 Qwen3-TTSの Voice Clone 機能は、わずか3秒程度の短い参照音声(Reference Audio)を与えるだけで、その声質や話し方の特徴を捉え、任意のテキストを喋らせる「ゼロショット合成」を実現する。
 高品質な結果を得るためには、参照音声に加えて、その音声の内容を表す「書き起こしテキスト(Reference Text)」を同時に与えることが推奨される。
これにより、モデルは「何と言っているか(言語情報)」と「どう言っているか(音響情報)」を明確に分離でき、より正確な韻律の再現が可能になる。

Step 3:「参照音声を話し手(Speaker)として発話内容を解析して テキストから音声合成」

 Step 2 ワークフローで参照音声の発生内容を解析したテキストを自動的に入力するように変更する

Step 4:「VoiceDesign した話し手(Speaker)の声で テキストから音声合成」

 Qwen3-TTS の Voice Design 機能を使用すれば、参照音声が一切ない状態から、自然言語の記述(プロンプト)だけで全く新しい声を創出することができる。
 この機能は「具体的な声優は決まっていないが、明確なキャラクター像がある」ケースに最適である。
 instruct パラメータに「性別」「年齢」「音域」「話し方のニュアンス」などを詳細に記述することで、モデルにその特性を想像させ、生成音声をコントロールできる。

Step 5:「参照音声から発話内容を解析して テキストとして表示(出力)」

 Step 3 の音声解析機能 Qwen3-ASR を分離する。参照音声の話し手(Speaker)の発話内容を解析してテキストへの文字起こし

Step 6:「プロンプトで話し手(Speaker)の声を設計 / 設計した話し手(Speaker)の声で テキストから音声合成」

 「Voice Design」機能を使えば、プロンプトから魅力的なキャラクターボイスを生成できるが、生成のたびに微妙なニュアンスが変わってしまったり、毎回デザインプロセスを経るのは計算コストの観点から非効率な場合がある。
 そこで Voice Designで生成した音声を「正解データ」として固定し、Voice Clone 機能で運用するというハイブリッドなワークフローを構成する。
Voice Design モデルで理想的な「参照音声(Reference Audio)」を作成し、次にBaseモデルを用いてその特徴量を抽出・保存する。これにより、同一のキャラクター性を維持したまま、新しいテキストを次々と読み上げさせることが可能になる。

番外編:『LTX2.3』と組み合わせて動画生成

 

忘備録

Qwen3-TTS について

品質向上のためのテクニック

 Qwen3-TTSは、自然言語によるテキストの読み上げだけでなく、instructパラメータを使用して「感情」「トーン」「話し方」を細かく指定できるのが最大の特徴

検証済みパッケージ環境の複製

 ComfyUI で動作確認済みのパッケージを今の環境のまま別の名前で複製する手順。
 新しいパッケージのテストやバックアップとして利用できるほか、バージョンの異なる環境を必須とする拡張ノードなどを安定して利用できる
  1. パッケージをコピーする(例: ComfyUI_gpu → ComfyUI_tf4 )

    ① コピー元のパッケージ右上のメニューボタンを押す
    ③「共有フォルダ」のチェックを外す







    ・StabilityMatrix を終了する
    ④ エクスプローラなどで「ComfyUI_gpu」を複製(コピー)して名前を「ComfyUI_tf4」とする

  2. コピーしたパッケージを設定する
    ・StabilityMatrix を起動する

    ⑤「不明なパッケージ」として認識される
    ⑥「インポート」ボタンを押す
    ⑦ ダイアログでパッケージタイプを「ComfyUI」Version Type をコピー元と同じにする
    ・右端のVersion と Python Version は適切なものが表示されるのでそのままでよい
    ・ダイアログ上の「インポート」ボタンを押す

    ⑧ 新しいパッケージ右上のメニューボタンを押す
    ⑩「アップデートチェックを無効にする」「共有フォルダ」のチェックを入れる
    ・「Pythonパッケージ」を押す

    ⑪ 検索窓に「 transform 」と入れ transformer のバージョンを確認しておく

    ⑫「設定」(歯車のアイコン) ボタンを押す
    ⑬「Auto-Launch」のチェックを外し「Enable-Manager」のチェックを入れる
    ⑭「保存」を押す

  3. 新しいパッケージを起動する

    ① 画面上部の「Manager」ボタンを押す
    ②「Custom Node Manager」を選択する










    ③「Check Update」を押して拡張ノードのアップデートを確認する
    ④ アップデートがある場合は「Update All」を実行する

  4. 新しいパッケージを更新する

    更新には時間がかかる コンソール出力に以下の表示が出るまで待つ
    ・「After restarting ComfyUI, please refresh the browser」
    ⑥ へ往時を確認後「RESTART」ボタンを押す
    ⑦ ブラウザとの接続が切れコンソール出力に更新状況が逐次表示される
    コンソール左上緑の「Launch」ボタンは絶対押さないこと
    ⑧ 更新が完了するとブラウザ上に新しいページが追加される
    ⑨ 追加されたページを閉じる
    ・前記の手順で「Custom Node Manager」で拡張ノードの確認をする

    ⑩「Check Updete」を押して拡張ノードの表示がなくなれば更新完了

  5. ブラウザのページを閉じ「StabilityMatrix」を終了する(重要)

拡張ノードのインストール『Qwen3-TTL』『Qwen3-ASR』

  1. 拡張ノード『Qwen3-TTL』をインストールする
    ・「Custom Node Manager」を開く

    ① 検索窓に「 Qwen3-TTS 」と入力
    ② いくつか候補が出るので「Author」項目の「Dario Fernandez Torre」を探す
    ③「Install」ボタンを押す










    ④ 最も新しいバージョンを選択して「Select」ボタンを押す

    ⑤「Restart」ボタンを押す
    ・再起動が完了して表示された新しいページを閉じ、もう一度「Custom Node Manager」で検索する










    ⑥ 拡張ノードがインストールされていることを確認する

  2. 拡張ノード『Qwen3-ASR』をインストールする
    ・「Custom Node Manager」を開く
    ・前記と同じ手順で、検索窓に「 ComfyUI-Qwen3-ASR 」と入力
    ・ いくつか候補が出るので「Author」項目の「Dario Fernandez Torre」を探す
    ⑦「Install」ボタンを押す
    ・ 最も新しいバージョンを選択して「Select」ボタンを押す
    ・「Restart」ボタンを押す
    ・再起動が完了して表示された新しいページを閉じ、もう一度「Custom Node Manager」で検索する

    ⑩ 拡張ノードがインストールされていることを確認する

  3. ブラウザのページを閉じ「StabilityMatrix」を終了する(重要)

Pythonパッケージのバージョン確認・変更

 StabilityMatrix 環境では安全に Pythonパッケージの導入・更新・削除ができる手段が用意されている
 この機能を使うことで実行時の仮想環境内の ythonパッケージの管理を容易に行うとができる
  1. 「transformas」バージョン確認

    ①「StabilityMatrix」上で該当パッケージの右上のメニューボタンを押す
    ② 検索窓に「 transform 」を入力する

    ・現在インストールされているバージョンが表示される

  2. 「transformas」バージョン変更

    ③「+」ボタンを押す
    ④ 表示された入力欄の pip install の後に「 transformers==4.57.6 」と入力
    ⑤「OK」ボタンを押す

    ・指定のバージョンがインストールできる
 

更新履歴

 

参考資料