私的AI研究会 > ComfyUI9e
「ComfyUI」を使ってローカル環境でのAI音楽生成を検証する
| 「ACE-Step 1.5」を使って音楽を作成してみる |
| 機能 | 詳細 |
| 生成速度 | A100: 0.5〜2秒 / RTX 3090: 10秒以内 |
| 生成時間 | 10秒〜10分(600秒)対応 |
| バッチ生成 | 最大8曲同時生成 |
| 対応言語 | 歌詞50言語以上 |
| スタイル | 1000+の楽器・スタイルに対応 |
| VRAM | 4GB未満で動作 |
| 商用利用 | 可(ライセンス準拠データで学習) |
| クリエイティブモード | ① テキストから音楽生成(Text to Music) ② 既存曲のスタイル変換(Cover) ③ 楽曲の特定セクションの再生成(Repaint) ④ 楽器レイヤーの重ね録り(Lego) ⑤ 音源の楽器分離(Extract) ⑥ ボーカルへのバッキング追加(Complete) |
| このプロジェクトで作成するワークフローと関連データは下記にアップロードしている(更新されている場合は再度ダウンロードのこと) |
📂ComfyUI ├─📂input ← ワークフローに含まれる入力画像 └─📂user └─📂default └─📂workflows ← ワークフローの保存場所 ├─📂_audio :・解凍してできる「ComfyUI/」フォルダを「StabilityMatrix/Data/Packages/ComfyUI」へ上書きコピーする
| ワークフロー | 機 能 | モデル | CPU | CPU | |||||
| RTX 4070 | RTX 4060 | RTX 4060L | RTX 3050 | GTX 1050 | i7-1260P | i7-1185G7 | |||
| 6101_ace_step_1_5_checkpoint | 音楽生成ワークフロー (AIO) | AIO | |||||||
| 6102_ace_step_1_5_split | 音楽生成ワークフロー | 1.7B | |||||||
| 6103_ace_step_1_5_split_4b | 音楽生成ワークフロー(4BのLLM) | 4B | |||||||
| モデル名 | ファイル名(.safetensors) | 配置先(/StabilityMatrix/Data/) | ダウンロード URL | 共通で使用 | |
| checkpoint | ace_step_1.5_turbo_aio | Models/ | StableDiffusion/ | ace_step_1.5_turbo_aio.safetensors | |
| diffusion_models | acestep_v1.5_turbo | DiffusionModels/ | acestep_v1.5_turbo.safetensors | ||
| text_encoders | qwen_0.6b_ace15 | TextEncoders | qwen_0.6b_ace15.safetensors | ||
| qwen_1.7b_ace15 | qwen_1.7b_ace15.safetensors | ||||
| qwen_4b_ace15 | qwen_4b_ace15.safetensors | ||||
| vae | ace_1.5_vae | VAE/ | ace_1.5_vae.safetensors | ||
| フォルダ | ワークフロー名 (.json) | モデル | 機能 (参照ページ) | 特記事項(同じ機能のワークフロー .json) |
| ACE-Step | 6101_ace_step_1_5_checkpoint | All In One | 音楽生成ワークフロー (AIO) | (audio_ace_step_1_5_checkpoint) |
| 6102_ace_step_1_5_split | 1.7B | 音楽生成ワークフロー | (audio_ace_step_1_5_split.json) | |
| 6103_ace_step_1_5_split_4b | 4B | 音楽生成ワークフロー(4BのLLM) | (audio_ace_step_1_5_split_4b.json) |
| 種類 | テンプレートの説明(AI による日本語訳) |
| ③ | ACE-Step 1.5 Music Generation AIOは、スタイルタグや歌詞を完全な曲に変換するテキストから音声へのComfyUIワークフローです。「モダンポップ、女性ボーカル、豊かなシンセ」といった短い説明と歌詞を伝えれば、グラフが残りをサンプリング、デコード、MP3のエクスポートを処理し、消費者向けハードウェアで数秒でアイデアをオーディションできます。明確なグループに整理されています。ステップ1:ロードモデル、ステップ2:持続時間、ステップ3:プロンプトなどで、チェックポイントの設定場所、トラックの長さ、モデルの歌声や音が常にわかります。 内部では、CheckpointLoaderSimpleがACE-Step 1.5のチェックポイント(ace_step_1.5_turbo_aio.safetensors)をロードします。TextEncodeAceStepAudio1.5は、あなたのスタイルタグや歌詞をACE固有の条件付けベクターに変換します。ConditioningZeroOutは、未使用の条件付けチャネルをクリーンに無効化するために使われます(例えば、二次プロンプトやネガティブプロンプトを提供していない場合など)、意図しないバイアスを防ぎます。EmptyAceStep1.5LatentAudioは、あなたが求める正確な期間だけ空の潜在音声キャンバスを作成します。ModelSamplingAuraFlowはACE-Step 1.5に適したサンプラー/スケジューラーの組み合わせを設定し、KSamplerはプロンプトに基づいて潜在要素を反復的に調整して一貫したトラックに仕上げます。VAEDecodeAudioは最終的な潜在音を波形音声に変換し、SaveAudioMP3はその結果をComfyUIの出力フォルダに書き込みます。PrimitiveNodeウィジェットは、ステップ、CFG、シード、秒などの実用的なノブを公開し、速度、品質、再現性を調整できます。 このセットアップは、速いソングライティングデモ、ジャンルの探求、コンテンツの整理に適しています。シードを通じて、持続時間を正確にコントロールでき、繰り返し可能なワークフローが実現します。グラフには合理的なデフォルトが付属しているので、ショートトラックを素早く生成し、ステップを上げたりスタイルタグや歌詞のフレージングを洗練させて品質を上げることができます。 |
| ④ | ACE-Step 1.5 Music Generation Workflowは、消費者向けハードウェアを用いてテキストプロンプトを数秒で高品質な音声曲に変換するよう設計されています。このワークフローはACE-Stepモデル、特に「acestep_v1.5_turbo.safetensors」を活用し、ユーザーが提供した音楽スタイルやオプションの歌詞の説明に基づいて音楽を解釈・合成します。TextEncodeAceStepAudio1.5やVAEDecodeAudioのような主要ノードは、それぞれテキスト入力のエンコードや生成された音声のデコードにおいて重要な役割を果たします。KSamplerノードは潜在空間のサンプリングに使用され、ModelSamplingAuraFlowノードは音声出力を洗練させ、高品質基準を満たすようにします。 このワークフローは効率性と音質の高さから特に有用です。ConditioningZeroOutやEmptyAceStep1.5LatentAudioのようなノードを使用することで、音声生成プロセスが効率化され、ユーザーの入力に集中していることが保証されています。SaveAudioMP3ノードの搭載により、最終製品を広く互換性のある形式で簡単にエクスポートできます。これにより、ワークフローは技術的に堅牢であるだけでなく、さまざまなアプリケーション向けに素早く音楽を生成するユーザーにとって非常に実用的です。 |
| ⑤ | このComfyUIワークフローは、ACE-Step 1.5の音楽生成モデルとその小型バリエーションを比較することに焦点を当てています。主な目的は、4Bモデル版の強化された音声理解と作曲能力を評価することです。テキストプロンプトを使って音楽を生成することで、ユーザーはモデル間の音質、複雑さ、音質の違いを探ることができます。このワークフローでは、KSampler、VAEDecodeAudio、TextEncodeAceStepAudio1.5などの様々なノードが用いられ、この比較を容易にしています。主な違いは、より複雑な作曲を扱う能力と、より豊かな音響テクスチャーを生み出す能力であり、特に長く複雑な音楽作品を生成する際に顕著です。 |
| 作品の質を大きく左右する重要な要素のプロンプトについてのまとめ 引用:→ https://note.com/rikunarita/n/n5c9d53950b27 |
| カテゴリ | 例 |
| ジャンル・サブジャンル | indie folk, heavy metal rock, J-pop, lo-fi hip hop |
| 楽器 | acoustic guitar, electric guitar, piano, synth pads, 808 drums, strings |
| ボーカルスタイル | soft female vocals, breathy female voice, powerful male vocals, screaming vocals |
| 雰囲気・感情 | melancholic, uplifting, aggressive, dreamy, intimate, heartbreaking |
| プロダクションスタイル | lo-fi, polished, live recording, bedroom pop, orchestral |
| 音色・テクスチャ | warm, dark, crisp, distorted, ethereal |
| 時間的要素の説明として、歌詞内容・楽曲構造の変化・ボーカルの変化・歌い方や演奏スタイル・曲の始まりと終わりのスタイル・アーティキュレーションなど |
| インストゥルメンタルの場合は [Instrumental] |
| スタイルが衝突する場合は、時間的スタイルの進行として表現する。「ソフトなストリングスで始まり、中間でノイジーなダイナミックなメタルロックになり、終盤でヒップホップに変わる」というように |
| テンポ・BPM・キー・拍子などのメタデータ情報はCaptionに書かないことが推奨されている これらは専用のメタデータパラメーター(bpm, keyscale, timesignature など)で設定する |
| Caption は BPM や キーではなく、スタイル・感情・楽器・音色などの音楽的特性にフォーカスする |
| ❌ 悪い例 | ✅ 良い例 |
| a sad song | melancholic piano ballad with soft female vocals, gentle string accompaniment, slow tempo, intimate and heartbreaking atmosphere |
| 物悲しいピアノ・バラード。柔らかな女性ボーカルと穏やかなストリングスの伴奏、スローテンポで、親密かつ胸を締め付けられるような雰囲気。 | |
| rock song | rock song with crunchy rhythm guitar, punchy snare, and gravelly male vocals, high energy |
| ザクザクとしたリズムギター、パンチの効いたスネア、そしてダミ声の男性ボーカルをフィーチャーした、エネルギッシュなロック・ソング。 | |
| heavy metal, 160bpm, D minor | heavy metal rock with heavily distorted electric guitars, aggressive double bass drumming, powerful screaming vocals, fast tempo, high energy, intense dark atmosphere |
| 激しく歪んだエレキギター、アグレッシブなダブルバス・ドラミング、力強いスクリーム・ボーカル、高速テンポ、高いエネルギー、そして強烈でダークな雰囲気を特徴とするヘヴィメタル・ロック |
| テンプレート | 実例 |
| [ジャンル] + [主要楽器] + [ボーカルスタイル] + [雰囲気/感情] + [プロダクションスタイル] + [時間的変化(任意)] |
A high-energy J-pop track with synthesizer leads, punchy electronic drums, and bright female vocals. The song opens with a catchy synth intro, builds through energetic verses with layered harmonies, and peaks at an anthemic chorus. The production is polished and modern with lush reverb on the vocals. |
| シンセサイザーのリード、パンチの効いた電子ドラム、そして明るい女性ボーカルが特徴の、エネルギッシュなJ-POPナンバーです。 キャッチーなシンセのイントロで幕を開け、ハーモニーを重ねたエネルギッシュなヴァースを経て、アンセムのようなサビで最高潮に達します。ボーカルには豊かなリバーブが施され、洗練されたモダンなサウンドに仕上がっています。 |
| タグ | 役割 | エネルギー |
| [Intro] | イントロ・雰囲気の設定、多くはインストゥルメンタル | 低〜中 |
| [Verse] / [Verse 1] / [Verse 2] | メインのストーリーテリングセクション | 中 |
| [Pre-Chorus] | コーラス前の緊張感の盛り上がり | 中〜高 |
| [Chorus] | 感情的なピーク・最もエネルギーが高い | 最高 |
| [Bridge] | 異なるメロディ・異なる感情へのシフト | 変化 |
| [Instrumental] / [inst] | ボーカルなし・楽器のみ | 自由 |
| [Outro] | 曲の締めくくり、フェードアウトも | 低下 |
| [Drop] | EDM等のドロップセクション | 爆発 |
| [Build] | 盛り上がりへの構築 | 上昇 |
| タグ | 意味 |
| タグには修飾子を付けてパフォーマンスの方向性を指定できる | |
| [Chorus - anthemic] | 壮大なコーラス |
| [Bridge - whispered] | ウィスパーのブリッジ |
| [Intro - slow acoustic guitar] | ゆったりとしたアコースティックギターのイントロ |
| [Verse 1 - soft and intimate] | 柔らかく、親密な 第1節 |
| [Chorus - anthemic, full band] | コーラス — アンセム風、フルバンド |
| [Bridge - whispered] | ブリッジ ― 囁き |
| [Chorus - big and explosive] | コーラス ― 壮大で爆発的 |
| [Outro - fade out] | アウトロ - フェードアウト |
| 大文字を使うと強調やシャウトを表現できる 例:[Verse] で walking through the empty streets(通常の強度) [Chorus] で WE ARE THE CHAMPIONS!(高強度・シャウト) 括弧 () 内のコンテンツはバックグラウンドボーカルやハーモニーとして処理される(ただし効果は不安定で、無視されたり発音が乱れることもある) |
| 言語タグ | 言語 | 記法 |
| [zh] | 中国語(ピンイン) | [zh]wo3ai4ni3 |
| [ko] | 韓国語(ローマ字) | [ko]saranghae |
| [ja] | 日本語 | [ja]あなたが好き |
| [es] | スペイン語 | [es]te quiero |
| [fr] | フランス語 | [fr]je t'aime |
| [en] | 英語 | [en]I love you |
| [de] | ドイツ語 | [de]ich liebe dich |
| 多言語ミックス例 | ||
| [verse] [zh]wo3zou3guo4shen1ye4de5jie1dao4 [zh]leng3feng1chui1luan4si1nian4de5piao4liang4wai4tao4 [chorus] [ko]saranghae, saranghae [bridge] [es]te quiero, mi amor [fr]je t'aime pour toujours [chorus] | ||
| 1行あたり 6〜10音節が最適。モデルは音節をビートに合わせて配置するため、1行が6音節で次が14音節では、リズムがおかしくなる 同じ位置(例:各バースの1行目)の音節数は近くなるよう揃える(±1〜2のブレは許容) |
| ❌ 悪い例 | ✅ 良い例 |
| 私は毎日あなたのことを考えて眠れない夜がある(25音節) あなた(3音節) | 夜が来るたびに(6音節) あなたを思い出す(7音節) 消えない記憶(5音節) |
| ACE-Stepはおよそ1秒あたり2〜3語を歌う。47秒のトラックであれば、合計90〜140語程度を目安にする。歌詞が多すぎると急ぎ足に聞こえ、少なすぎると長い間があく |
| [instrumental] または [inst] |
| パラメーター | 説明 | 例 |
| bpm | テンポ(推奨:Captionに書かずこちらで設定) | 120 |
| keyscale | キー | C major, A minor, D major |
| timesignature | 拍子 | 4(4/4拍子), 3(3/4拍子), 6(6/8拍子) |
| language | ボーカル言語 | ja, en, zh, ko |
| duration | 長さ(秒) | 180(3分) |
| メタデータを手動設定したのに生成結果が合わない場合は、Caption/Lyricsとの矛盾がないか確認する 例:Captionに「スローバラード」と書いて bpm=160 に設定するとモデルが混乱する | ||
| 1分間に何回ビート(拍)を刻むかを表す単位。数値が大きいほどテンポが速くなる。一般的なポップスは BPM 120前後、激しいダンスミュージックでは BPM 130〜150以上になることもある |