この記事の対象読者
- ComfyUIで音楽生成ワークフローを構築したい方
- ACE-Step 1.5のフル機能(Cover、Repaint、Edit等)をComfyUIで使いたい方
- 画像/動画生成ワークフローに音楽生成を組み込みたいクリエイター
- Windows環境でPython 3.13+を使っている方
この記事で得られること
- ComfyUI-AceMusicの独自性: なぜ公式実装ではなくこのノードが必要なのか理解できる
- 世界初の機能: Cover、Repaint、Edit、Retake機能のComfyUI実装について把握できる
- モジュラーアーキテクチャ: ウィジェット順序問題を解決した設計思想を学べる
- 実践的なワークフロー: HeartMuLaとの連携を含む高度な音楽制作パイプラインを構築できる
この記事で扱わないこと
- ACE-Step 1.5モデル自体の詳細な解説(別記事参照)
- ComfyUIの基本的な使い方
- 音楽理論の詳細
1. ComfyUI-AceMusicとの出会い
「ComfyUIでACE-Step 1.5使えるようになったらしいけど、Cover機能とかRepaint機能は対応してないって...マジか」
2026年2月3日、ComfyUI公式ブログが「ACE-Step 1.5がComfyUIで利用可能に」と発表した。しかし、その記事には気になる一文があった。
"ACE-Step 1.5 has a few more tricks up its sleeve. These aren't yet supported in ComfyUI, but we have no doubt the community will figure it out."
(ACE-Step 1.5にはまだいくつかの機能がある。これらはまだComfyUIでサポートされていないが、コミュニティが解決してくれると信じている)
具体的には、Cover(カバー生成)、Repaint(部分再生成)、Extend(延長)といった、ACE-Step 1.5の真価を発揮する機能群が未実装だった。
そこで私は考えた。「じゃあ自分で作るか」と。
ComfyUI-AceMusicを一言で表すなら、「公式が『まだできない』と言った機能を全部載せた完全体」である。ACE-Step 1.5の15種類の機能を、ComfyUIのノードとして完全実装した。しかも、既存実装が抱えていたウィジェット順序問題をモジュラーアーキテクチャで解決し、Windows + Python 3.13+という厳しい環境でも動作するようにした。
ここまでで、ComfyUI-AceMusicがどんな存在なのか、なんとなくイメージできただろうか。次は、この記事で使う用語を整理しておこう。
2. 前提知識の確認
本題に入る前に、この記事で登場する用語を確認しておく。
2.1 ComfyUIカスタムノードとは
ComfyUIの機能を拡張するPythonモジュール。custom_nodesフォルダに配置することで、新しいノードタイプを追加できる。画像生成だけでなく、音声、動画、3Dなど様々な領域のノードが開発されている。
2.2 ACE-Step 1.5のタスク種別とは
ACE-Step 1.5は単純なText-to-Musicだけでなく、以下のタスクをサポートしている。
| タスク | 説明 |
|---|---|
| Text2Music | テキストから音楽を生成 |
| Cover | 既存の楽曲を別スタイルでカバー |
| Repaint | 楽曲の特定区間だけを再生成 |
| Extend | 楽曲の前後に新しい部分を追加 |
| Edit | メロディを保持しながらタグ/歌詞を変更 |
| Retake | 同じ設定でバリエーションを生成 |
2.3 HeartMuLaとは
ComfyUI用の別の音楽生成ノードパック。ComfyUI-AceMusicはHeartMuLaとのAUDIO型互換性を持ち、両者を組み合わせたハイブリッドワークフローが構築可能。
2.4 ウィジェット順序問題とは
ComfyUIでは、ノードのウィジェット(入力フィールド)の順序が内部的に管理されている。多くの設定を1つのノードに詰め込むと、この順序が予期しない動作を引き起こすことがある。モジュラーアーキテクチャはこの問題を回避する設計手法だ。
これらの用語が押さえられたら、ComfyUI-AceMusicの背景を見ていこう。
3. ComfyUI-AceMusicが生まれた背景
3.1 既存実装の限界
2026年2月時点で、ComfyUIにおけるACE-Step実装は以下の状況だった。
| 実装 | ACE-Step版 | Cover | Repaint | Edit | Windows 3.13+ |
|---|---|---|---|---|---|
| ComfyUI公式ネイティブ | v1.0 → v1.5 | 未対応 | 未対応 | 未対応 | 未検証 |
| billwuhao/ComfyUI_ACE-Step | v1.0 | 一部対応 | 対応 | 未対応 | 未検証 |
| ryanontheinside | v1.0 | 未対応 | 対応 | 未対応 | 未検証 |
公式は2026年2月3日にACE-Step 1.5対応を発表したものの、主要機能の多くが「コミュニティに期待」という状態だった。
3.2 解決すべき課題
私が開発に着手した時点で、以下の課題があった。
- 機能の不完全さ: ACE-Step 1.5の真価であるCover、Repaint、Edit、Retake、Extendが使えない
- アーキテクチャの問題: 単一ノードに全パラメータを詰め込むことによるウィジェット順序問題
- クロスプラットフォーム問題: torchaudioがWindows + Python 3.13+で問題を起こす
- 相互運用性の欠如: 他の音楽生成ノード(HeartMuLa等)との連携ができない
背景がわかったところで、ComfyUI-AceMusicの技術的な特徴を見ていこう。
4. 技術的な特徴と独自性
4.1 世界初:ACE-Step 1.5フル機能のComfyUI実装
ComfyUI-AceMusicは、ACE-Step 1.5の全15機能をComfyUIノードとして実装した世界初の実装である。
公式ComfyUI(2026/02/03時点):
✅ Text2Music
❌ Cover
❌ Repaint
❌ Extend
❌ Edit
❌ Retake
ComfyUI-AceMusic:
✅ Text2Music
✅ Cover
✅ Repaint
✅ Extend
✅ Edit
✅ Retake
✅ Understand(メタデータ抽出)
✅ Create Sample(自然言語からパラメータ生成)
✅ LoRA対応
4.2 モジュラーアーキテクチャ
既存の実装が抱えていた「1つのノードに全部詰め込む」問題を、機能ごとにノードを分離することで解決した。
| 従来の設計 | ComfyUI-AceMusicの設計 |
|---|---|
| 1ノードに30+パラメータ | 機能別に分離 |
| ウィジェット順序問題発生 | 問題なし |
| ワークフローが読みにくい | 可読性向上 |
具体的には以下のように分離している。
[Model Loader] → モデル読み込み専用
[Settings] → 生成パラメータ専用
[Lyrics Input] → 歌詞入力専用
[Caption Input] → スタイル記述専用
[Generator] → 生成実行専用
この分離により、各ノードの責務が明確になり、ワークフローの可読性が大幅に向上した。
4.3 クロスプラットフォーム互換性
Windows + Python 3.13+環境では、torchaudioのバックエンドに問題が発生することがある。ComfyUI-AceMusicは、soundfileとscipyを使用することでこの問題を回避している。
# 従来のアプローチ(問題あり)
import torchaudio
audio, sr = torchaudio.load("file.wav") # Windows 3.13+でエラー
# ComfyUI-AceMusicのアプローチ(問題なし)
import soundfile as sf
audio, sr = sf.read("file.wav")
4.4 HeartMuLa相互運用性
ComfyUI-AceMusicのAUDIO型は、HeartMuLaノードの出力と互換性がある。これにより、以下のようなハイブリッドワークフローが可能になる。
[HeartMuLa生成] → [AceMusic Cover] → [最終出力]
基本概念が理解できたところで、実際にセットアップして動かしてみよう。
5. 実践:実際に使ってみよう
5.1 インストール
ComfyUI Manager経由(推奨)
ComfyUI Managerで「ComfyUI-AceMusic」を検索してインストール。
手動インストール
cd ComfyUI/custom_nodes
git clone https://github.com/hiroki-abe-58/ComfyUI-AceMusic.git
cd ComfyUI-AceMusic
pip install -r requirements.txt
ACE-Step 1.5のインストール
pip install git+https://github.com/ace-step/ACE-Step.git
モデルは初回使用時にHugging Faceから自動ダウンロードされる。
5.2 環境別の設定
以下の3種類の設定を用途に応じて使い分けることを推奨する。
高品質設定(RTX 3090以上)
# 品質重視設定
duration: 120
inference_steps: 50
guidance_scale: 15.0
cpu_offload: false
バランス設定(RTX 3060-3080)
# 速度と品質のバランス
duration: 60
inference_steps: 27
guidance_scale: 15.0
cpu_offload: false
低VRAM設定(8GB以下)
# VRAM節約設定
duration: 30
inference_steps: 15
guidance_scale: 12.0
cpu_offload: true
5.3 基本ワークフロー(Text2Music)
-
AceMusic Model Loader を追加し、デバイスを
cudaに設定 - AceMusic Settings を追加し、パラメータを設定
- AceMusic Lyrics Input を追加し、歌詞を入力
[Verse]
Walking down the empty street
Thinking about you and me
[Chorus]
We belong together
Now and forever
- AceMusic Caption Input を追加し、スタイルタグを入力
pop, female vocal, energetic, bright synthesizer
- 全てを AceMusic Generator に接続 → Preview Audio
サンプルワークフローは workflow/AceMusic_Lyrics_v3.json から読み込める。
5.4 実行結果
上記のワークフローを実行すると、以下のような処理が行われる。
[INFO] Loading ACE-Step 1.5 model...
[INFO] Model loaded on cuda
[INFO] Generating audio...
[INFO] Duration: 120s
[INFO] Language: en
[INFO] Inference steps: 27
[INFO] Generation completed in 8.3s
[INFO] Output: 48000Hz, stereo
5.5 よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
CUDA out of memory |
GPUメモリ不足 |
cpu_offload を有効化、または duration を短くする |
ModuleNotFoundError: acestep |
ACE-Step未インストール | pip install git+https://github.com/ace-step/ACE-Step.git |
soundfile not found |
依存パッケージ不足 | pip install soundfile scipy |
Model download failed |
ネットワーク問題 | Hugging Faceへのアクセスを確認 |
torchaudio backend error |
Windows 3.13+問題 | soundfileが正しくインストールされているか確認 |
5.6 環境診断スクリプト
問題が発生した場合は、以下のスクリプトで環境を診断できる。
#!/usr/bin/env python3
"""
ComfyUI-AceMusic 環境診断スクリプト
実行方法: python check_acemusic.py
"""
import sys
def check_environment():
"""環境をチェックして問題を報告"""
issues = []
# Python バージョン
print(f"Python: {sys.version}")
if sys.version_info < (3, 10):
issues.append("Python 3.10以上が必要です")
# PyTorch
try:
import torch
print(f"✅ PyTorch: {torch.__version__}")
if torch.cuda.is_available():
print(f"✅ CUDA: {torch.version.cuda}")
vram = torch.cuda.get_device_properties(0).total_memory / 1e9
print(f"✅ GPU VRAM: {vram:.1f} GB")
else:
issues.append("CUDAが利用できません")
except ImportError:
issues.append("PyTorchがインストールされていません")
# ACE-Step
try:
import acestep
print("✅ ACE-Step: インストール済み")
except ImportError:
issues.append("ACE-Stepがインストールされていません")
# soundfile(torchaudio代替)
try:
import soundfile
print("✅ soundfile: インストール済み")
except ImportError:
issues.append("soundfileがインストールされていません")
# scipy
try:
import scipy
print("✅ scipy: インストール済み")
except ImportError:
issues.append("scipyがインストールされていません")
# 結果
print("\n" + "="*50)
if issues:
print("❌ 問題が見つかりました:")
for issue in issues:
print(f" - {issue}")
else:
print("✅ 環境は正常です!")
if __name__ == "__main__":
check_environment()
実装方法がわかったので、次は具体的なユースケースを見ていこう。
6. ユースケース別ガイド
6.1 ユースケース1: Cover機能で楽曲スタイル変換
想定読者: 既存の楽曲を別ジャンルにアレンジしたい方
推奨構成: Model Loader → Settings → Cover Node
ワークフロー例:
[Load Audio] ─────────────────┐
↓
[Model Loader] → [Settings] → [AceMusic Cover] → [Preview Audio]
↑
[Caption Input] ──────────────┘
"jazz piano trio, smooth, relaxed"
実際の使用例:
- ポップスをジャズアレンジに変換
- ロックをアコースティックバージョンに
- EDMをオーケストラアレンジに
6.2 ユースケース2: Repaint機能で部分修正
想定読者: 生成した楽曲の一部だけを修正したい方
推奨構成: Model Loader → Settings → Repaint Node
ワークフロー例:
[Load Audio] ─────────────────┐
↓
[Model Loader] → [Settings] → [AceMusic Repaint] → [Preview Audio]
↑
[Time Range: 30-45s] ─────────┘
実際の使用例:
- サビの一部だけを再生成
- イントロのみを改善
- 特定区間のボーカルを修正
6.3 ユースケース3: HeartMuLaとのハイブリッドワークフロー
想定読者: 複数の音楽生成AIを組み合わせたい上級ユーザー
推奨構成: HeartMuLa → AceMusic Cover → 最終出力
ワークフロー例:
[HeartMuLa Generator] ────────┐
↓
[Model Loader] → [Settings] → [AceMusic Cover] → [AceMusic Extend]
↑ ↓
[Caption: "add orchestral"] ──┘ [Preview Audio]
実際の使用例:
- HeartMuLaで生成したベースにACE-Stepでオーケストラを追加
- 異なるAIの強みを組み合わせたハイブリッド生成
- A/Bテストによる品質比較
ユースケースを把握できたところで、この先の学習パスを確認しよう。
7. 学習ロードマップ
この記事を読んだ後、次のステップとして以下をおすすめする。
初級者向け(まずはここから)
-
サンプルワークフローを試す -
workflow/AceMusic_Lyrics_v3.jsonをロード - ACE-Step公式チュートリアル - モデルの設計思想を理解
- ComfyUI基礎 - ノードベースワークフローに慣れる
中級者向け(実践に進む)
- Cover機能で既存楽曲のスタイル変換を試す
- Repaint機能で部分的な品質向上を行う
- LoRAを読み込んで特定スタイルを強化
上級者向け(さらに深く)
- HeartMuLaとのハイブリッドワークフロー構築
- 動画生成ワークフロー(Wan2.1等)との統合
- カスタムワークフローの作成と共有
8. まとめ
この記事では、ComfyUI-AceMusicについて以下を解説した。
- 世界初の完全実装: 公式が「まだ未対応」としたCover、Repaint、Edit、Retake機能を全て実装
- モジュラーアーキテクチャ: ウィジェット順序問題を解決した設計
- クロスプラットフォーム対応: Windows + Python 3.13+でも安定動作
私の所感
正直、開発は大変だった。ACE-Step 1.5のコードベースを読み込み、ComfyUIのノードシステムに適合させ、さらにWindows環境での互換性問題を解決する必要があった。
特に苦労したのはtorchaudioの問題だ。Python 3.13+とWindowsの組み合わせでは、torchaudioのバックエンドが正常に動作しないケースがある。これをsoundfileとscipyで置き換えることで解決したが、オーディオ処理のライブラリ互換性は本当に厄介だ。
しかし、その苦労に見合う成果は得られた。公式が「コミュニティに期待」と言った翌日に、その期待に応える実装を公開できたことは、オープンソースコミュニティの一員として誇りに思う。
ComfyUIの音楽生成エコシステムはまだ発展途上だ。画像生成の世界で起きた「Stable Diffusionの民主化」が、音楽生成でも起きつつある。その一翼を担えることを嬉しく思っている。
参考文献
- ComfyUI-AceMusic GitHub - 本プロジェクト
- ACE-Step 1.5 GitHub - 音楽生成モデル本体
- ComfyUI公式ブログ - ACE-Step 1.5対応発表 - 2026年2月3日
- HeartMuLa - 連携可能な音楽生成ノード
- ComfyUI公式ドキュメント - ComfyUIの基礎