ComfyUI-Drama3: Fish Audio Drama 3が8 GBのGPUでローカル動作

ComfyUI Wikinews

ComfyUI-Drama3は、8 GBのVRAMでFish Audio Drama 3をComfyUI内で実行できるノードパックです。ボイスクローン、16話者ダイアログ、インラインキュー、Qwen3-ASRを備えています。

<strong>ComfyUI-Drama3</strong> は、Fish Audio Drama 3 をカスタムノードパックとしてComfyUIに取り込みます。35Bの音声モデルは8 GBのVRAMのGPUで動作します。ルーテッドエキスパートはシステムRAMに常駐し、VRAMキャッシュを通じてストリーミングされます。また、同梱のQwen3-ASRがクローン音声に必要な文字起こしを書き出します。このパックはさらに、カット、無音、音声ごとの1トラックに対応するDrama 3 Editorをキャンバス上に追加します。
ComfyUI-Drama3のバナー

ComfyUI-Drama3: Drama 3とQwen3-ASRをComfyUIノードとして利用でき、追加パッケージのインストールは不要です。

Drama 3は35BのMixture-of-Experts音声合成モデルで、トークンあたり3Bのパラメータがアクティブになります。Fish Audioの公式パッケージは8つのsafetensorsシャードとコーデックで構成され、ディスク上で約40 GBあります。ComfyUIパートナーノードはAPI経由でこれにアクセスします。このパックはローカル実行のルートです。公開されたチェックポイントを自身でロードし、ComfyUI内でオーディオコードを生成し、同じグラフ上で44.1 kHzにデコードします。

8 GBのGPUで動く35Bモデル

Drama 3はQwen3.5スタイルのMixture-of-Expertsです。40レイヤーで、各レイヤーに256のルーテッドエキスパートがあり、そのうち8つが音声フレームごとに実行されます。さらにアテンションまたはDeltaNet、共有エキスパート、13レイヤーのコードブックデコーダを備えます。ルーテッドエキスパート以外はすべて約6 GBで、GPU上に常駐します。エキスパートをRAMに置く場合、32 GBのエキスパート重みはピン留めされたシステムメモリに配置されます。各フレームはレイヤーごとに必要な8つのエキスパートをコピーし、空いているVRAM内のLRU(least-recently-used)キャッシュが再利用されるエキスパートを保持します。読み取りの85~95%が13 GBのキャッシュにヒットします。

このパックには4種類のチェックポイントビルドが同梱されており、マシンごとに選択できます:

ファイルサイズエキスパートエキスパートをRAMに置いた場合のRAM
drama3_fp8experts_bf1638.6 GBFP8(Fish Audioの配布そのまま)約48 GB
drama3_int8experts_bf1638.7 GBint8 ConvRot約48 GB
drama3_w6a8experts_bf1632.7 GBW6A8約40 GB
drama3_w4a8experts_bf1624.6 GBW4A8約32 GB

FP8はFish Audio自身のエキスパート重みをバイト単位でそのまま保持します。int8は同じサイズで、RTX 3090では14~17%高速でした。これはint8エキスパートがint8のまま実行されるのに対し、FP8エキスパートは毎回bf16に変換されるためです。より小さなファイルは、FP8ファイルに必要な約48 GBのRAMを満たさないマシン向けです。expertsをRAMではなくVRAMに設定すると、2台目のGPUがエキスパート重みを担当できます。

音声、ダイアログ、キュー

このパックはDrama 3自身のプロンプト構文に従います。これはテクニカルレポートに記載されているものと同じです:

制御記述方法例
話者<|speaker:N|> を行頭に置く。Nは0~15<|speaker:0|> Ready?
ポイントタグ[tag] を音を入れたい位置に置くWell [sighs] fine, you win.
スコープタグ<tag>...</tag> で影響を与える語句を囲むPromise me <whisper>you won't tell her</whisper>.
スタイルプレフィックス[style] を行頭に置く[with bright eager excitement] We won!
演出指示Direction: の後に改行して Line:Direction: icy calm.
言語ヒント[language: xx] を行の後に置く。読み上げられないWelcome back. [language: en]

最大16話者が1つのテキストを共有でき、それぞれに音声スロットが割り当てられます。長いテキストはタグを分割しないように約300バイトのチャンクに分割されます。テイク生成には4つのモードがあります。1行ごとに1テイク、前の行を聞いて1行ごとに1テイク、話者ごとに1テイク、スクリプト全体をまとめて生成してすべての行が他の行を聞く、というモードです。デコードは別々のテイクを0.3秒の無音で連結し、長いポーズを短縮できます。

音声はクリップとその文字起こしから一度エンコードすれば、数キロバイトのファイルとしてoutput/drama3_voicesに保存できます。以降の実行ではクリップもコーデックも不要です。生成済みのテイクも同様にoutput/drama3_codesに保存でき、再度生成することなく再デコードや編集ができます。

テイクの文字起こしと編集

Drama 3の6つのサンプル: ボイスクローン、インラインキュー、2話者、5話者、歌唱、ポルトガル語

このパックのサンプルページにある6つのサンプル: クローン、キュー、2話者のシーン、5話者のシーン、歌唱、ポルトガル語。いずれもFP8ビルドを使い、RTX 3090またはRTX 4090で生成されました。

ボイスクローンは文字起こしから始まりますが、このパックがそれを提供します。Load Qwen3-ASRとQwen3-ASR Transcribeが1.7Bまたは0.6Bの音声認識モデルと強制アライナを、追加パッケージなしで30言語で実行します。RTX 3090では、6.6秒のクリップは1.7Bモデルで約2秒、0.6Bで約1秒で文字起こしされます(モデルのロード時間を含む)。同じアライナがDrama 3 Editorにデータを渡します。これはComfyUIキャンバス上に開きます。キャプションは音声を単語ごとに追い、音声ごとに1トラックとなり、エディタではカット、無音の追加、音声の命名、音量の設定ができます。Use these editsを押すと、その編集内容でノードが再度実行され、編集内容はワークフローに保持されます。

速度

Drama 3は音声1秒あたり21.5フレームを生成するため、1フレームあたり46 msがリアルタイムに相当します。1フレームずつデコードする処理はCPUに律速されます。単一コアが多数の小さなGPUカーネルを起動するため、エキスパートキャッシュのサイズが速度に与える影響は予想より小さいです。クローン音声と約9秒の音声を使い、Intel Core i9-14900Kで測定(プロンプトパスを含む):

GPUファイルエキスパートキャッシュフレームあたりmsピークVRAM
RTX 4090W4A816 GB5221.3 GB
RTX 4090W4A84 GB6711.7 GB
RTX 4090int816 GB6921.5 GB
RTX 3090int816 GB6921.6 GB
RTX 3090FP816 GB8421.6 GB
RTX 3090FP84 GB11911.9 GB
RTX 3090を12 GBに制限FP8自動1379.8 GB
RTX 3090を8 GBに制限FP8自動2146.5 GB

最後の2行は、3090の残りのメモリを別のプロセスが占有した状態で実行され、12 GBまたは8 GBのGPUを模しています。作者はまた、Fish Audioのサーバーがtop_k 30を送信し、そのためポーズでテイクが無音になることを警告しています。そのためノードのデフォルトはSpace自身の設定であるtemperature 1.0、top_p 0.9、top_k上限なしとなっています。

はじめに

### ノードをインストールする リポジトリをComfyUI/custom_nodes/にクローンし、ComfyUIを再起動します。pip installは不要です。ノードはComfyUIにすでに含まれるものだけを使用します。
cd ComfyUI/custom_nodes
git clone https://github.com/PedroMarinhoDev/ComfyUI-Drama3

重みをダウンロードする

チェックポイントはmodels/diffusion_models、コーデックはmodels/vae、ASRとアライナのファイルはmodels/asrに配置します:

hf download PedroMarinhoDev/Drama-3-ComfyUI drama3_fp8experts_bf16.safetensors --local-dir ComfyUI/models/diffusion_models
hf download PedroMarinhoDev/Drama-3-ComfyUI drama3_codec.safetensors --local-dir ComfyUI/models/vae
hf download PedroMarinhoDev/Qwen3-ASR-ComfyUI qwen3_asr_0.6b_bf16.safetensors --local-dir ComfyUI/models/asr

ワークフローを実行する

サンプルワークフローをComfyUIにドラッグし、音声を読み込むで数秒のクリーンな音声を選択し、Drama 3 Generateにテキストを入力してキューに追加します。

入手方法

ノードパック: PedroMarinhoDev/ComfyUI-Drama3
重み: PedroMarinhoDev/Drama-3-ComfyUI · PedroMarinhoDev/Qwen3-ASR-ComfyUI
サンプル: pedromarinhodev.github.io/ComfyUI-Drama3
ベースモデル: fishaudio/drama-3 · Drama 3のニュース

コメント

GitHubでサインインしてディスカッションに参加しましょう。

コメントを読み込み中…
ComfyUI-Drama3: Fish Audio Drama 3が8 GBのGPUでローカル動作 | ComfyUI Wiki