見出し画像

【ComfyUI】ローカルで音楽生成ができる「FL HeartMuLa」の使い方

少し前にローカルで音楽生成ができる「HeartMuLa」がredditで話題になっていました。
https://www.reddit.com/r/StableDiffusion/comments/1qi032r/fl_heartmula_multilingual_ai_music_generation/

ComfyUIで動かせるとのことなので、今回はHeartMuLaの使い方を紹介します。

追記:redditでFL HeartMuLaが紹介されてたのでそのままそれを使ったんですがHeartMuLa用のカスタムノードがいくつかあるようです。
公式リポジトリにリンクされてる「HeartMuLa_ComfyUI」を使ってる方が多いようなので、こっちの方が良いかもしれません。

HeartMuLaとは?

HeartMuLaは、歌詞や楽曲タグ(ジャンル、楽器、雰囲気など)を入力して、イメージに沿った音楽を生成できるオープンソースのAIモデル群です。

日本語を含む多言語に対応しており、「Apache 2.0ライセンス」で公開されてます。

・主な特徴と構成要素(AIまとめ)

HeartMuLaは単一のAIではなく、以下の4つの専門モデルが連携して動作します。

  • HeartMuLa: 歌詞とタグからメロディや伴奏を生成するメインエンジン。

  • HeartCodec: 生成されたデータを、劣化の少ない高品質な音声として出力する技術

  • HeartTranscriptor: 音楽から歌詞を正確に書き起こすための専用モデル。

  • HeartCLAP: 「言葉の説明」と「実際の音」を正しく結びつける橋渡し役。

github:https://github.com/HeartMuLa/HeartLib

ComfyUIのインストール

ComfyUIのインストールがまだの方はこちらを参考にしてみてください

ComfyUI_FL-HeartMuLaのインストール

Managerで検索、または手動でクローンします。

cd ComfyUI\custom_nodes
git clone https://github.com/filliptm/ComfyUI_FL-HeartMuLa.git

手動の場合は依存関係のインストールも必要です。
パスは自身の環境に合わせて変えてください。

・StabilityMatrix

cd C:\StabilityMatrix-win-x64\Data\Packages\ComfyUI
venv\Scripts\activate
pip install -r custom_nodes\ComfyUI_FL-HeartMuLa\requirements.txt

・ポータブル版(コマンドプロンプト)

cd C:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\python_embeded
python.exe -m pip install -r C:\ComfyUI_windows_portable_nvidia\ComfyUI_windows_portable\custom_nodes\ComfyUI_FL-HeartMuLa\requirements.txt

ComfyUI_FL-HeartMuLaの使い方

サンプルワークフローがあるのでそれをComfyUIにD&Dしてください。

ComfyUI\custom_nodes\ComfyUI_FL-HeartMuLa\workflow\Example.json

github:https://github.com/filliptm/ComfyUI_FL-HeartMuLa/blob/master/workflow/Example.json

ノードの設定&実行

FL HeartMuLa Model Loader

執筆時点だとモデルは3Bのみ使えるようです。なのでここはこのままにします。

FL HeartMuLa Tags Builder

ここでどんな楽曲にするか指定できます。

instrumentsはどんな楽器を使用するか
例)piano, guitar, synth

additional_tagsはその他のタグを追加できます。
サンプルだとBPMやジャンルを指定してます。
例)deep house, 120 bpm, house

FL HeartMuLa Conditioning

ここで楽曲全体の構成(歌詞、セクション)を指定できます。

Edit Lyricsから編集可能です。

  • [Intro]:イントロ(歌い出し前の導入)

  • [Verse]:メロ(Aメロ・Bメロなどの主文)

  • [Chorus]:サビ(一番の盛り上がり)

  • [Bridge]:ブリッジ(サビ前の変化や間奏的な部分)

  • [Outro]:アウトロ(曲の終わり)

  • [Instrumental]:楽器のみのセクション

FL HeartMuLa Sampler

max_duration_secで楽曲の長さを指定できます。

それ以外のパラメータはAIに聞いたらこんな回答でした。

これらの数値は、「AIにどれくらい自由に(あるいは厳密に)曲を作らせるか」という判断基準として活用します。
曲がデタラメに聞こえる場合 temperature を下げたり、 top_k の値を小さく(例: 20〜30)設定してみてください。これにより、AIが「不自然な音」を選ぶ確率を排除する「厳しい閾値」が設定され、より一般的でまとまりのある曲になります。
いつも似たようなメロディで退屈な場合 逆にこれらの値を上げることで、AIの選択肢を広げます。「緩い閾値」を設けることで、AIが普段は選ばないような意外性のあるメロディや展開を引き出すことができます。
基本的には、標準設定(temperature: 1.0 / top_k: 50)から始めて、好みに合わせて微調整するのが一般的です。

結果

sampleのworkflowじゃなくて、追加したノードでそのまま生成したらこんな感じになりました。
VRAM16GBで1分の楽曲が25分くらいかかります。

まとめ

個人的にはかなりクオリティが高く感じました。

他の音楽生成を試してないので比較できないんですが、デフォルトでこれなら作り込めばもっと良い感じにできそう。

ただ生成に時間かかるのと、処理中他の操作も重くなることがちょっとあったのでそこが少しネックです。

XだとComfyUIじゃなくWan2GPなら動くという方が多いので、スペック不安な方はこっちの方が良いかもです。
https://github.com/deepbeepmeep/Wan2GP

AIの楽曲生成にそこまで興味なかったんですが、こんなの作れるなら今後もちょいちょい触ってみようかなと思います。

以上FL HeartMuLaの使い方を紹介しました。
当サークルではこのようなAIに関するさまざまな情報を発信しています。
メンバーシップに加入して頂くと一部の有料記事は読み放題です。
AI技術の向上、マネタイズ方法などに興味がある方は、ぜひご検討ください。

もしこの記事が少しでも役に立った場合は、いいねやフォローして頂けると励みになります。
最後まで読んでいただき、ありがとうございました。



いいなと思ったら応援しよう!

aiaicreate よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!