ローカル音楽生成
ローカル音楽生成の速度とハードウェア比較:RTFの正しい読み方
音楽モデルの速度表は、測定範囲から異なります。モデルを読み込んだ後のサンプリング時間だけを測る表もあれば、歌詞の計画やデコード1まで含む表もあります。RTF2は生成にかかった時間を出力音声の長さで割った値で、リアルタイム倍率はその逆数です。このガイドでは確認できる公式数値だけを並べ、欠けている条件は欠けていると明記します。GPU3を購入する前に、使いたいモデルとソフトウェアのバックエンドがその機器で動くか確認してください。
まず同じ種類の出力を比べる
テキストから短い効果音を作るモデル、歌詞を歌うモデル、既存のメロディーを拡張するモデルでは役割が違います。出力の長さや条件も異なるため、生成時間だけの一覧は誤解を招きます。比較する前に、用途、出力時間、ステレオ設定、ボーカルや歌詞の有無をそろえましょう。
たとえば「30秒のボーカルなしシンセポップのループ」が必要なら、各候補がテキスト条件付きの伴奏を生成できるか先に確認します。歌詞付きの曲専用経路と効果音生成経路を無理に同じ順位表に入れないでください。共通の用途に対応するモデルだけを測り、対象外の理由も記録すると購入判断に役立ちます。
出力に合った単位を選びます。1曲を作る場合は1曲あたりの時間と実際の長さを記録し、長い曲を複数区間でつなぐなら区間数と結合時間も記録します。バッチを増やすと1時間あたりの曲数が変わることがありますが、1曲の生成が速くなったとは限りません。1リクエストの待ち時間と全体処理量は別々に報告しましょう。
RTFとリアルタイム倍率は逆方向の指標
RTF(リアルタイムファクター)は、生成にかかった実時間を出力音声の再生時間で割った値です。60秒の音声を30秒で作ればRTFは0.5、つまり実時間の2倍速です。120秒かかればRTFは2で、実時間より遅くなります。リポジトリによっては逆数の「34倍」をRTFと呼ぶ場合もあります。定義と単位を読み、可能なら元の秒数から計算し直してください。
モデル読み込み時間と生成時間を分ける
初回実行にはチェックポイント4読み込み、メモリ確保、コンパイルやカーネル準備が含まれることがあります。モデルを常駐させた後の連続生成ではこの費用が除かれるため、アプリを起動した利用者の待ち時間とは異なります。初回(コールドスタート)とウォームアップ後の実行を分け、利用者が感じる全体待ち時間も別に記録してください。
公式資料で確認できる数値と未記載の項目
以下は公式リポジトリやモデルカードの数値ですが、根拠の詳しさには差があります。旧版ACE-Stepの表とACE-Step 1.5 READMEの速度主張は別バージョンの情報です。後者はプロファイラーで再現した機器別の結果表ではありません。空欄は遅いという意味ではなく、条件を確認できる数値が見つからなかったという意味です。
| モデル・公式資料 | 機器・実行経路 | 公開された速度・出力条件 | 未記載の条件 |
|---|---|---|---|
| ACE-Step(旧版) | RTX 4090、MacBook M2 Max。公式リポジトリの推論スクリプト。ランタイム詳細は未記載 | 27 steps:4090は34.48倍(1分生成に1.74秒)、M2 Maxは2.27倍(26.43秒)。60 steps:4090は15.63倍(3.84秒)、M2 Maxは1.03倍(58.25秒)。出典が公開した倍率と分あたりの生成時間 | チェックポイント/コミット、サンプル数、バッチ、プロンプト、ウォームアップ・読み込みの扱い、反復・ばらつきは未記載 |
| ACE-Step 1.5 | READMEの主張:A100で「full song」2秒未満(一部条件0.5〜10秒)、RTX 3090で10秒未満。macOS向けMLXスクリプト、プロファイラー資料にCUDA/MPS/CPU、LLM用vLLM/PyTorch/MLXを記載 | 公式プロファイラーは時間・バッチ・thinking・steps、計画/DiT/VAE/保存/全体を計測するが、再現条件付き機器別時間表は未公開 | full songの長さ、チェックポイント、バッチ、think/steps、cold/warm、指標定義・ばらつきは未記載。概要主張を別版・別機器に一般化しない |
| YuE2-3B (HF pipeline) | モデルカード条件:Linux、Python 3.10+、24GBのBF16対応NVIDIA GPU。HF経路はPyTorch 2.10、Transformers 4.57.6、CUDA graphs/FlashAttention、AR/NAR BF16+VAE FP32、量子化なし | RTX 4090:full 71.04秒/音声214.85秒(warm 32回)、melody 68.68/214.67秒、off 57.91/196.88秒。H800:full 54.74/224.96秒(1回)。同期pipeline呼び出しで初回のパス解決と保存は除外。カード記載値 | GPU結果はモデルカードの機器別測定。H800はn=1。1回に候補1つ。初回読み込み・保存を含む利用者の総待ち時間とは異なる |
| YuE2-Turbo | オープンな推論・サービング実装。同一YuE2重み・32 flow stepsと主張。5090単体でのテスト | RTX 5090 32GB、warm:単一リクエストRTF 0.290→0.173(1.68倍)。4件同時のsystem RTF 0.317→0.096(処理量3.31倍)。PyTorch 2.10/CUDA 12.8/vLLM 0.19/BF16。別の指標 | プロジェクトREADMEの測定:単一リクエストは3曲×3回、同時処理は4件×3ウェーブ。YuE2標準実装とは異なるサービング経路で、RTX 4090の数値ではない |
| HeartMuLa-oss-3B | 公式例の既定はCUDA。モデル/codecの配置指定と遅延読み込みに対応 | 「RTF ≈ 1.0」のみ。機器と出力時間は未記載 | 測定定義、モデル版、長さ、サンプル数、cold/warm条件、Apple経路は未記載 |
| Stable Audio Open 1.0 | モデルカード例:CUDAまたはCPUのPyTorch。MPS/MLX速度表なし | 最大47秒、44.1kHzステレオ。tools例は100 steps/30秒、diffusers例は200 steps/10秒。機器別速度は未公開 | 使用例は速度測定ではない。GPU、生成時間、ウォームアップ、全体範囲は未記載 |
| MusicGen / AudioCraft | GPU中心の公式案内。mediumモデルは約16GBのGPUメモリを推奨。公式Apple MLX経路なし | 300M/1.5B/3.3Bモデルを案内。機器別生成時間表は未記載 | GPU、出力時間、steps/token、デコードの扱い、cold/warm区分は未記載 |
公式資料で確認したハードウェア速度の根拠と未記載条件
ACE-Step(旧版)
- 機器・実行経路
- RTX 4090、MacBook M2 Max。公式リポジトリの推論スクリプト。ランタイム詳細は未記載
- 公開された速度・出力条件
- 27 steps:4090は34.48倍(1分生成に1.74秒)、M2 Maxは2.27倍(26.43秒)。60 steps:4090は15.63倍(3.84秒)、M2 Maxは1.03倍(58.25秒)。出典が公開した倍率と分あたりの生成時間
- 未記載の条件
- チェックポイント/コミット、サンプル数、バッチ、プロンプト、ウォームアップ・読み込みの扱い、反復・ばらつきは未記載
ACE-Step 1.5
- 機器・実行経路
- READMEの主張:A100で「full song」2秒未満(一部条件0.5〜10秒)、RTX 3090で10秒未満。macOS向けMLXスクリプト、プロファイラー資料にCUDA/MPS/CPU、LLM用vLLM/PyTorch/MLXを記載
- 公開された速度・出力条件
- 公式プロファイラーは時間・バッチ・thinking・steps、計画/DiT/VAE/保存/全体を計測するが、再現条件付き機器別時間表は未公開
- 未記載の条件
- full songの長さ、チェックポイント、バッチ、think/steps、cold/warm、指標定義・ばらつきは未記載。概要主張を別版・別機器に一般化しない
YuE2-3B (HF pipeline)
- 機器・実行経路
- モデルカード条件:Linux、Python 3.10+、24GBのBF16対応NVIDIA GPU。HF経路はPyTorch 2.10、Transformers 4.57.6、CUDA graphs/FlashAttention、AR/NAR BF16+VAE FP32、量子化なし
- 公開された速度・出力条件
- RTX 4090:full 71.04秒/音声214.85秒(warm 32回)、melody 68.68/214.67秒、off 57.91/196.88秒。H800:full 54.74/224.96秒(1回)。同期pipeline呼び出しで初回のパス解決と保存は除外。カード記載値
- 未記載の条件
- GPU結果はモデルカードの機器別測定。H800はn=1。1回に候補1つ。初回読み込み・保存を含む利用者の総待ち時間とは異なる
YuE2-Turbo
- 機器・実行経路
- オープンな推論・サービング実装。同一YuE2重み・32 flow stepsと主張。5090単体でのテスト
- 公開された速度・出力条件
- RTX 5090 32GB、warm:単一リクエストRTF 0.290→0.173(1.68倍)。4件同時のsystem RTF 0.317→0.096(処理量3.31倍)。PyTorch 2.10/CUDA 12.8/vLLM 0.19/BF16。別の指標
- 未記載の条件
- プロジェクトREADMEの測定:単一リクエストは3曲×3回、同時処理は4件×3ウェーブ。YuE2標準実装とは異なるサービング経路で、RTX 4090の数値ではない
HeartMuLa-oss-3B
- 機器・実行経路
- 公式例の既定はCUDA。モデル/codecの配置指定と遅延読み込みに対応
- 公開された速度・出力条件
- 「RTF ≈ 1.0」のみ。機器と出力時間は未記載
- 未記載の条件
- 測定定義、モデル版、長さ、サンプル数、cold/warm条件、Apple経路は未記載
Stable Audio Open 1.0
- 機器・実行経路
- モデルカード例:CUDAまたはCPUのPyTorch。MPS/MLX速度表なし
- 公開された速度・出力条件
- 最大47秒、44.1kHzステレオ。tools例は100 steps/30秒、diffusers例は200 steps/10秒。機器別速度は未公開
- 未記載の条件
- 使用例は速度測定ではない。GPU、生成時間、ウォームアップ、全体範囲は未記載
MusicGen / AudioCraft
- 機器・実行経路
- GPU中心の公式案内。mediumモデルは約16GBのGPUメモリを推奨。公式Apple MLX経路なし
- 公開された速度・出力条件
- 300M/1.5B/3.3Bモデルを案内。機器別生成時間表は未記載
- 未記載の条件
- GPU、出力時間、steps/token、デコードの扱い、cold/warm区分は未記載
各時間項目が答える問いは異なる

YuE2モデルカードのRTX 4090速度をモード別に見る
YuE2公式モデルカードはRTX 4090で3つの生成モードを比較しています。RTX 4090の値はウォームアップ後32回の平均で、GPUメモリはNVMLによる全実行のピークです。音声秒数は各出力の長さ、生成秒数は同期されたpipeline10呼び出し時間です。表のRTFは参考値として生成秒数÷音声秒数で算出しました。カードの説明では初回のパス解決と保存時間を除外しているため、アプリ起動からファイル保存までの待ち時間ではありません。
| 機器・モード | 音声の長さ | 生成時間 | 算出RTF | GPUメモリピーク |
|---|---|---|---|---|
| RTX 4090 · full | 214.85秒 | 71.04秒 | 0.331 | 11.18 GiB |
| RTX 4090 · melody | 214.67秒 | 68.68秒 | 0.320 | 11.02 GiB |
| RTX 4090 · off | 196.88秒 | 57.91秒 | 0.294 | 11.09 GiB |
| H800 · full(1回) | 224.96秒 | 54.74秒 | 0.243 | 10.34 GiB |
YuE2-3B公式モデルカードの時間・メモリ測定
RTX 4090 · full
- 音声の長さ
- 214.85秒
- 生成時間
- 71.04秒
- 算出RTF
- 0.331
- GPUメモリピーク
- 11.18 GiB
RTX 4090 · melody
- 音声の長さ
- 214.67秒
- 生成時間
- 68.68秒
- 算出RTF
- 0.320
- GPUメモリピーク
- 11.02 GiB
RTX 4090 · off
- 音声の長さ
- 196.88秒
- 生成時間
- 57.91秒
- 算出RTF
- 0.294
- GPUメモリピーク
- 11.09 GiB
H800 · full(1回)
- 音声の長さ
- 224.96秒
- 生成時間
- 54.74秒
- 算出RTF
- 0.243
- GPUメモリピーク
- 10.34 GiB
公平な比較のために実行条件を記録する
同じプロンプトと歌詞、出力時間、サンプルレート、チャンネル、品質設定を使い、チェックポイント、コード版、バックエンド、精度、ステップ数を記録します。機器名だけでなくOSやドライバー/フレームワークの版も残してください。初回とウォームアップ後の実行を分け、複数回測定して中央値と範囲を報告します。失敗、メモリ不足、途中で切れた出力も記録に残します。
最初は小さな記録表で十分です。「モデル/リビジョン、機器、バックエンド、精度、長さ、steps、初回秒数、ウォームアップ後1〜5回の秒数、実際の出力時間、ピークメモリ、状態」を列にします。同じプロンプトと設定を各モデルのリクエストにコピーし、出力ファイルとログに同じ実験IDを付けます。設定を変えた実行は別の行にします。
初回が42秒、その後5回の中央値が18秒、出力が30秒だったとします。ウォーム実行11の一般的なRTFは18÷30=0.60、リアルタイム倍率は約1.67倍です。初回を含む42秒の待ち時間は別に示します。出典が1.67倍と報告している場合は「RTF」という名称だけを写さず、何を何で割った値かも書けば、速度の方向を読み違えません。
測定後は一つの数値だけで勝者を決めず、用途に沿って解釈します。曲を作るたびにアプリを起動するなら初回待ちが重要です。サーバーを常時稼働させるならウォーム実行の中央値や処理量が重要になるでしょう。工程別時間を見れば、長い出力ではDiTや音声トークン生成が支配的か、短い出力では計画や読み込みの固定費が大きいかを確認できます。品質設定や長さを下げて得た速度は、元の条件と分けて示します。
LLMのトークン毎秒から音楽生成速度を推測しない

対応経路と作業量に合わせて機器を選ぶ
スコアより先に聴き、利用条件を確認する
歌詞の明瞭さ、プロンプトへの追従、曲の構成、音色を一つの普遍的な点数にまとめることはできません。短いサンプルを聴き、用途に合わせて判断してください。モデルの重みとコードでライセンスが異なる場合があります。配布や商用利用の前に該当版の条件と学習データの説明を確認し、権利者の許可がない歌詞・音源・著名人の声を入力・再現しないようにしましょう。

用語の注釈
デコード — LLMでは入力処理後に出力トークンを生成する段階です。VAEやオーディオコーデックでは、圧縮表現や符号化データから元の形式を復元する処理を指すことがあります。
本文に戻るリアルタイム係数 — 生成にかかった時間を出力の再生時間で割った値です。条件をそろえて比べる場合、値が小さいほど生成が速いことを示します。
本文に戻るGPU — 多くの計算を並列に処理するプロセッサーです。AIモデルの実行ではモデル計算を担います。
本文に戻るチェックポイント — 学習済みモデルの重みなどを保存したファイルです。同じモデル系列でも、版や用途によって異なるチェックポイントを使うことがあります。
本文に戻るトークン — モデルが入力や出力を分けて処理する単位です。1トークンが1文字や一定の時間に相当するわけではありません。
本文に戻る拡散モデル — ノイズを段階的に除去・変換してデータを生成するモデル群です。画像・音声・動画などに使われ、段数や実装はモデルごとに異なります。
本文に戻るVAE — Variational Autoencoderの略です。入力を圧縮した潜在表現に変換したり、その表現から出力を復元したりします。
本文に戻る大規模言語モデル — 大量のテキストデータで学習し、テキストを処理・生成する言語モデルです。機能や対応入力はモデルごとに異なります。
本文に戻るDiT — Diffusion Transformerの略です。Transformer構造を使い、拡散過程でノイズを含む表現を段階的に整えるモデル構造です。
本文に戻るパイプライン — 入力から出力まで続く処理段階のまとまりです。段階ごとに異なるモデルやツールを使うことがあります。
本文に戻るウォーム実行 — モデルの読み込みと初期化を終えた後の測定です。初回実行時の読み込み時間を含まないことがあります。
本文に戻るAR / NAR — AR(自己回帰)は先行出力を条件に順番に生成し、NAR(非自己回帰)はより並列的に生成する方式です。
本文に戻るフレーム — 動画を構成する1枚の画像です。フレームレートとフレーム解像度は別の属性です。
本文に戻るCUDA — NVIDIA GPUで汎用計算を行うソフトウェア基盤です。CUDA向けのプログラムが他のGPUでそのまま動くとは限りません。
本文に戻るMLX — Apple silicon向けの機械学習フレームワークです。統合メモリ構造を活用し、対応モデルや機能はMLXの各ツールで異なります。
本文に戻るPyTorch — AIモデルを作成・実行するソフトウェアフレームワークです。モデルと合わせて、対応するPyTorchの版やハードウェアも確認します。
本文に戻るBF16 — モデルの数値を保存・計算する16ビット浮動小数点形式です。利用可否はハードウェアと実行環境によります。
本文に戻るユニファイドメモリ — CPUとGPUが同じ物理メモリ領域を共有する構造です。メモリ総量が増えるわけではなく、利用可能量はシステムによります。
本文に戻る