はじめに — Sunoのローカル版が登場した
テキストから音楽を生成するAIサービスといえばSunoやUdioが有名ですが、これらは月額課金制のクラウドサービスです。生成回数に制限があり、データはすべてクラウドに送信されます。
2026年1月、北京大学を中心とした研究チームがHeartMuLaをオープンソースで公開しました。歌詞とスタイルタグを入力するだけでボーカル付きの楽曲をローカルPCで生成でき、日本語・英語・中国語・韓国語・スペイン語に対応しています。ライセンスはApache 2.0で、完全無料・商用利用OKです。
この記事では、HeartMuLaの仕組み・必要スペック・インストール方法・使い方を解説します。
HeartMuLaとは
何ができるのか
- 歌詞+スタイルタグ → ボーカル付き楽曲を自動生成(最大6分)
- 日本語の歌詞を入力すれば、日本語で歌ってくれる
- リファレンス音源を指定して、スタイルを模倣させることも可能
- すべてローカルで処理。クラウドへのデータ送信なし
Sunoとの比較
| HeartMuLa | Suno | |
|---|---|---|
| 料金 | 無料(Apache 2.0) | 月額$8〜$30 |
| 生成回数 | 無制限 | プランにより制限あり |
| 処理場所 | ローカルPC | クラウド |
| 日本語 | ○(高品質) | ○ |
| 商用利用 | ○ | 有料プランのみ |
| 音質 | Sunoに迫るレベル(3Bモデル) | 業界トップクラス |
| 必要GPU | VRAM 8GB〜(推奨12GB) | 不要(クラウド処理) |
| カスタマイズ性 | 高い(パラメータ調整・ワークフロー構築可能) | 限定的 |
音質ではSunoに一歩譲る部分もありますが、無料・無制限・ローカル完結という点で大きなアドバンテージがあります。特に日本語の歌詞の発音精度は非常に高く、英語と遜色ないレベルと評価されています。
モデル構成
HeartMuLaは単一のモデルではなく、複数のモデルが連携して動作します。
| モデル | 役割 |
|---|---|
| HeartMuLa-oss-3B | メインの音楽生成モデル(3Bパラメータ)。歌詞+タグから音楽トークンを生成 |
| HeartMuLa-RL-oss-3B | 強化学習で改良されたバージョン。スタイル制御がより精密(推奨) |
| HeartCodec-oss | 音楽コーデック。音楽トークンを高品質なオーディオに変換 |
| HeartTranscriptor-oss | 歌詞書き起こしモデル。生成された楽曲から歌詞をテキスト化 |
最新版(2026年1月23日リリース)のHeartMuLa-RL-oss-3B-20260123とHeartCodec-oss-20260123の組み合わせが現時点で最高品質です。
必要なPCスペック
| 項目 | 最低要件 | 推奨環境 |
|---|---|---|
| GPU | VRAM 8GB(lazy loadモード) | VRAM 12GB以上 |
| RAM | 16GB | 32GB |
| ストレージ | 約20GB(モデルファイル) | SSD推奨 |
| Python | 3.10 | 3.10 |
| OS | Linux, Windows(WSL2) | Linux |
デフォルトモードではHeartMuLa(約3Bパラメータ)とHeartCodecの両方をGPUに常駐させるため、VRAM 10〜12GB程度が必要です。VRAM 8GBのGPUでは--lazy_load trueオプションを使い、モデルを都度読み込み・解放することで動作可能です。
参考値として、RTX 5090では約2分30秒の楽曲を約99秒で生成できたという報告があります。
Windows / Mac どちらで動かすべきか
「ローカルAI=NVIDIA GPU(Windows)一択」というイメージがありますが、HeartMuLaはMacでも動きます。ただし現状では差があります。
| Windows(NVIDIA GPU) | Mac(Apple Silicon) | |
|---|---|---|
| 対応状況 | 公式サポート(CUDA) | MPS対応 + MLX版あり |
| 推奨VRAM / メモリ | VRAM 12GB以上 | 統合メモリ 32GB以上推奨 |
| 生成速度 | RTX 4070 Ti Superで60秒の曲を約250秒で生成 | MLX版はMPS比2倍高速。ただしNVIDIA GPUには劣る |
| セットアップ難易度 | conda + pip(やや手間) | MLX版は比較的簡単 |
| メモリの有効性 | VRAMが足りなければ動かない or lazy_load必須 | 統合メモリをそのままVRAMとして使える。メモリ量=生成可能な曲の長さ |
Macユーザーへの結論
Apple Siliconの統合メモリはHeartMuLaでもしっかり活きます。MLX版(heartlib-mlx)を使えばPyTorch MPS比で約2倍高速に動作し、Web UIやライブラリ管理機能も付いています。
- 24GBのMac: 約3〜4分の楽曲を生成可能
- 32GB以上のMac: 5分以上の楽曲も生成可能
- 16GBのMac: 短い曲なら動く可能性があるが厳しい
速度面ではNVIDIA GPU搭載Windowsが有利ですが、「NVIDIA GPUを持っていないがMacのメモリは大きい」という人にとって、HeartMuLaはローカル音楽生成を始める現実的な選択肢です。
インストール方法
HeartMuLaのインストール方法は大きく3通りあります。
| 方法 | 向いている人 |
|---|---|
| A. Python(CLI)で直接実行【Windows / Linux】 | コマンドラインに慣れている人。細かいパラメータ制御がしたい人 |
| B. ComfyUIから実行【Windows / Mac / Linux】 | GUIで操作したい人。画像生成でComfyUIを使っている人 |
| C. MLX版【Mac専用】 | Apple Silicon Macで最速で動かしたい人 |
方法A: Python(CLI)で直接実行【Windows / Linux】
Step 1: 事前準備(Windowsの場合)
Windowsでは以下を先にインストールしておく必要があります。
- NVIDIA GPU ドライバー: NVIDIA公式サイトから最新版をインストール
- CUDA Toolkit 12.1以上: NVIDIA CUDA Downloadsからインストール
- Git: git-scm.comからインストール
- Miniconda: conda公式サイトからインストール(Python環境管理用)
インストール後、スタートメニューから「Anaconda Prompt」を開いて以降のコマンドを実行します。
Step 2: リポジトリのクローンとインストール
# 仮想環境を作成(推奨)
conda create -n heartmula python=3.10
conda activate heartmula
# リポジトリをクローン
git clone https://github.com/HeartMuLa/heartlib.git
cd heartlib
# インストール
pip install -e .
Linuxの場合はターミナルでそのまま実行できます。Windowsの場合はAnaconda Prompt上で実行してください。
Step 3: モデルのダウンロード
HuggingFaceから推奨モデルをダウンロードします。
# HeartMuLa本体(強化学習版・推奨)
huggingface-cli download --local-dir './ckpt/HeartMuLa-oss-3B' \
'HeartMuLa/HeartMuLa-RL-oss-3B-20260123'
# HeartCodec(オーディオコーデック)
huggingface-cli download --local-dir './ckpt/HeartCodec-oss' \
'HeartMuLa/HeartCodec-oss-20260123'
# HeartTranscriptor(歌詞書き起こし・任意)
huggingface-cli download --local-dir './ckpt/HeartTranscriptor-oss' \
'HeartMuLa/HeartTranscriptor-oss'
合計で約20GB程度のダウンロードになります。
Step 4: 楽曲を生成する
python ./examples/run_music_generation.py \
--model_path=./ckpt \
--version="3B"
実行すると対話形式で歌詞とタグの入力を求められます。
生成パラメータ
| パラメータ | デフォルト | 説明 |
|---|---|---|
--topk |
50 | サンプリング時の上位k個を候補にする。大きいほど多様性が増す |
--temperature |
1.0 | 生成のランダム性。高いほど変化に富む |
--cfg_scale |
1.5 | 条件(歌詞・タグ)への忠実度。高いほどタグに従う |
--max_audio_length_ms |
240000 | 最大生成長(ミリ秒)。240000 = 4分 |
--lazy_load |
false | VRAM節約モード。8GBのGPUでは true 推奨 |
VRAM 8GBのGPUで動かす場合
python ./examples/run_music_generation.py \
--model_path=./ckpt \
--version="3B" \
--lazy_load true
--lazy_load true を指定すると、HeartMuLaとHeartCodecを同時にGPUに乗せず、必要なときだけロード→使用後にアンロードします。速度は落ちますが、VRAM 8GBでも動作します。
GPU 2枚で分散する場合
python ./examples/run_music_generation.py \
--model_path=./ckpt \
--version="3B" \
--mula_device cuda:0 \
--codec_device cuda:1
方法B: ComfyUIから実行
画像生成ツールとして人気のComfyUIに、HeartMuLa用のカスタムノードが公開されています。GUIで直感的に操作できるため、コマンドラインが苦手な人にはこちらがおすすめです。
Step 1: ComfyUIのインストール
ComfyUIをまだ使っていない場合は、公式リポジトリからインストールしてください。
Step 2: HeartMuLaノードの追加
cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_FL-HeartMuLa.git
Step 3: ワークフローの構築
ComfyUIを起動し、以下のノードを接続します。
- HeartMuLa Music Generatorノードを配置
- 歌詞(Lyrics)とスタイルタグ(Tags)を入力
- Preview Audioノードに接続
- 「Queue Prompt」で生成開始
ComfyUI版は複雑なワークフロー(例: ローカルLLMで歌詞を自動生成→HeartMuLaで楽曲生成→音声分離)を視覚的に構築できるのが強みです。ComfyUIのHeartMuLaノードではApple Silicon(MPS)にも対応しています。
方法C: MLX版【Mac専用・Apple Silicon最速】
Apple Silicon Macで最速にHeartMuLaを動かすなら、MLX(Apple独自のML フレームワーク)に最適化されたheartlib-mlxがおすすめです。PyTorch MPS版と比べて約2倍高速に動作します。
Step 1: インストール
# uv(高速パッケージマネージャー)を使う方法(推奨)
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/Acelogic/heartlib-mlx.git
cd heartlib-mlx
uv sync
# 従来の pip を使う方法
git clone https://github.com/Acelogic/heartlib-mlx.git
cd heartlib-mlx
pip install -e .
Step 2: モデルのダウンロードと変換
# HuggingFaceからモデルをダウンロード
huggingface-cli download HeartMuLa/HeartMuLa-oss-3B --local-dir ckpt/HeartMuLa-oss-3B
huggingface-cli download HeartMuLa/HeartCodec-oss --local-dir ckpt/HeartCodec-oss
# MLX形式に変換
python -m heartlib_mlx.utils.convert --src ./ckpt --dst ./ckpt-mlx
Step 3: Web UIで楽曲生成
python -m heartlib_mlx.app
ブラウザが自動的に開き、ダークテーマのWeb UIが表示されます。歌詞とタグを入力して「Generate」を押すだけで楽曲が生成されます。
MLX版の追加機能
- Web UI: ブラウザベースのモダンなインターフェース。CLIを使わずに操作可能
- ライブラリ管理: 生成した楽曲の一覧表示・検索・再生
- AI カバーアート自動生成: 曲ごとにアルバムアートを自動生成(MFLUX経由)
- リアルタイム進捗表示: 生成中のキャンセルにも対応
MLX版の速度比較(PyTorch MPS vs MLX)
| 処理 | PyTorch MPS | MLX | 高速化率 |
|---|---|---|---|
| モデルロード | 7.14秒 | 0.82秒 | 8.7倍 |
| 生成処理(50フレーム) | 19.37秒 | 11.65秒 | 1.7倍 |
| 音声デコード | 8.50秒 | 1.76秒 | 4.8倍 |
| 合計 | 27.87秒 | 13.41秒 | 2.1倍 |
歌詞とタグの書き方
歌詞の構造
歌詞はセクションマーク付きで入力します。
[Verse]
朝の光が窓を照らして
新しい一日が始まる
コーヒーの香りに包まれながら
静かに目を覚ます
[Chorus]
走り出せ 今すぐに
風を切って 空を見上げて
明日はきっと 輝いている
この胸の鼓動を信じて
[Verse]
街の雑踏の中を歩いて
すれ違う人たちの笑顔
小さな幸せ集めながら
一歩ずつ進んでいく
[Chorus]
走り出せ 今すぐに
風を切って 空を見上げて
明日はきっと 輝いている
この胸の鼓動を信じて
使えるセクションマーク
| マーク | 意味 |
|---|---|
[Verse] |
Aメロ・Bメロ(メインの歌詞パート) |
[Chorus] |
サビ |
[Bridge] |
ブリッジ(Cメロ) |
[Intro] |
イントロ |
[Outro] |
アウトロ |
スタイルタグの書き方
カンマ区切り、スペースなしで指定します。
pop,japanese,female,piano,bright,energetic
タグの例:
| カテゴリ | タグ例 |
|---|---|
| ジャンル | pop, rock, jazz, electronic, hiphop, classical, folk, rnb |
| 楽器 | piano, guitar, synthesizer, drums, violin, bass |
| 雰囲気 | happy, sad, romantic, energetic, calm, dark, bright |
| ボーカル | female, male |
| 言語 | japanese, english, chinese, korean, spanish |
タグを細かく指定するほど、意図に近い楽曲が生成されやすくなります。強化学習版(RL)ではタグへの追従性がさらに向上しています。
生成のコツ
- まずは短い曲から試す:
--max_audio_length_ms 120000(2分)で試して、良い結果が出たら長くする - 同じ入力でも結果が変わる: 温度やtop-kのランダム性があるため、気に入るまで何度か生成するのが前提
- RL版を使う: 通常の3B版よりRL(強化学習)版の方がタグへの忠実度と音質が高い
- 日本語歌詞は自然に書く: 機械翻訳ではなく、自然な日本語で書いた方が発音が良い
- ローカルLLMで歌詞を生成させる: Ollama等でテーマを与えて歌詞を書かせ、HeartMuLaに渡すワークフローも有効
活用アイデア
| 用途 | 説明 |
|---|---|
| YouTube / TikTokのBGM | 著作権フリーのオリジナルBGMを無制限に生成。商用利用OK |
| ライブ配信のBRB画面BGM | 配信の待機画面用BGMをオリジナルで作成 |
| ゲーム開発のサウンドトラック | インディーゲームのBGMをAIで量産 |
| プロトタイピング | 作曲家がデモ段階で方向性を確認するツールとして |
| 語学学習 | 多言語対応を活かして、外国語の歌を生成して発音学習に |
まとめ
| ポイント | 内容 |
|---|---|
| HeartMuLaとは | 歌詞+タグからボーカル付き楽曲を生成するオープンソースAI |
| 対応言語 | 日本語・英語・中国語・韓国語・スペイン語 |
| ライセンス | Apache 2.0(無料・商用利用OK) |
| 必要GPU | VRAM 8GB〜(推奨12GB以上) |
| 導入方法 | Python CLI or ComfyUI |
| Sunoとの違い | 無料・無制限・ローカル完結。音質はやや劣るが急速に改善中 |
「音楽生成AIのLLM」という呼び方が正確かどうかはさておき、HeartMuLaはまさにLLM(大規模言語モデル)のアーキテクチャを音楽生成に応用したモデルです。テキスト生成AIが「次のトークン」を予測するように、HeartMuLaは「次の音楽トークン」を予測して楽曲を組み立てていきます。
Sunoに月額課金する前に、まずはHeartMuLaをローカルで試してみる価値は十分にあります。特に日本語の品質の高さは一度体験してみてください。
ローカルLLMの全体像はローカルLLM完全ガイド、必要なGPUスペックの考え方も同記事を参考にしてください。


コメント