RTX 4070 一枚で BGM・効果音・画像を全部ローカル生成する — ACE-Step 1.5 と MOSS-SoundEffect v2.0 を一晩で実戦投入した話
先日 X に「めっちゃ asmr じゃん」とタイピング音のサンプルを投稿しました。あの音は手元の RTX 4070 から出てきたものです。生成 API への課金はゼロ。ついでに言うと、添付した宣伝画像も、その前に作ったシティポップ風の BGM も、全部同じグラボから出てきました。

Hugging Face で音楽生成の ACE-Step 1.5 と効果音生成の MOSS-SoundEffect v2.0 を見かけて、「画像は Wan2GP でローカル生成できているんだから、音も揃うのでは」と思い立ったのが始まりです。結果、一晩で BGM・効果音・画像の 3 スタックが 12GB の GPU 一枚に同居することになりました。
この記事は全体のストーリーと実測値の話です。インストール手順と踏んだ罠 (完全無音の WAV が生成される事件など、なかなか味わい深いものが 5 つあります) は別途 Qiita に書いたので、手を動かしたい方はそちらをどうぞ:https://qiita.com/kenimo49/items/5c88389d746687e1a7ad
なぜローカルで音を作るのか
理由は 3 つあります。
1 つ目はライセンスです。ACE-Step 1.5 は MIT、MOSS-SoundEffect v2.0 は Apache 2.0。生成物を動画やアプリにそのまま商用利用できます。BGM 素材サイトのライセンス文を読み込む時間がゼロになるのは、地味に効きます。
2 つ目はデータの置き場所です。プロンプトも生成物も手元から出ません。未公開プロダクトの名前入りジングルを作っても、どこにも送信されない安心感があります。
3 つ目は単純で、GPU が空いているからです。私の環境には検証用に組んだ RTX 4070 (12GB) のマシンがあり、普段はアイドル時間を GPU 貸し出しサービスに回しています。どうせ電気代は払っているので、生成もここでやれば追加コストは実質ゼロです。
スタック全景
| 役割 | モデル | サイズ | ライセンス | 方式 |
|---|---|---|---|---|
| BGM・楽曲 | ACE-Step 1.5 (turbo) | 2B DiT + 0.6B LM | MIT | REST API サーバー常駐 |
| 効果音 | MOSS-SoundEffect v2.0 | 1.3B DiT | Apache 2.0 | 呼び出しごとに一発生成 |
| 画像 | Wan2GP (Z Image Turbo ほか) | 6B〜20B | モデルごと | MCP サーバー常駐 |

マシンは Windows + WSL2 で、私は普段使いの PC から Tailscale 経由の ssh で操作しています。GPU は 1 枚なので、この 3 つと貸し出しサービスは同時には動きません。ここが後述する排他運用の話につながります。
ACE-Step 1.5: 60 秒の曲が 20 秒で出てくる
ACE-Step 1.5 は歌詞付きの楽曲まで作れる音楽生成モデルですが、私の用途は動画やデモ用の BGM なので、まずインストゥルメンタルで試しました。API に lyrics: "[instrumental]" を渡すと歌なしになります。
turbo 版 (2B) の速度は拍子抜けするレベルでした。60 秒のローファイ・ヒップホップが生成 19.6 秒。リアルタイムの 3 倍速で曲が出てきます。48kHz で、ビニールノイズの質感やピアノの残響もプロンプト通りに乗ります。
面白いのは thinking モードです。0.6B の言語モデルが先に曲の構成 (イントロ→A メロ→サビのような展開) を計画してから DiT が音を作ります。120 秒のシティポップをこのモードで作ったら 104 秒かかりましたが、展開のある「曲」らしい仕上がりになりました。BGM 用途なら thinking なし、1 曲聴かせたいなら thinking あり、という使い分けに落ち着いています。
生成時間が曲の長さに対してどう伸びるかも測りました (turbo・thinking なし・同一プロンプト、API ポーリング込みの実測)。
| 曲の長さ | 生成時間 | 実時間比 |
|---|---|---|
| 30 秒 | 34 秒 (サーバー起動後の 1 発目、ウォームアップ込み) | 0.9 倍速 |
| 60 秒 | 15 秒 | 4.0 倍速 |
| 120 秒 | 15 秒 | 8.0 倍速 |
面白いことに、ウォームアップ後は 60 秒でも 120 秒でも約 15 秒で返ってきます。生成時間が曲の長さにほぼ比例しないので、長い曲ほど「1 秒あたりのコスト」が下がります。短いジングルを量産するより、長めに作って切り出すほうが効率は良いです。
MOSS-SoundEffect v2.0: タイピング音が ASMR だった
効果音側の MOSS-SoundEffect v2.0 は、復旦大学の OpenMOSS チームが出しているモデルです。テキストで効果音を記述すると最大 30 秒の WAV を返します。プロンプトは英語か中国語のみで、日本語は通じません。
最初に作ったのが「静かな部屋でメカニカルキーボードを速打ちする音」でした。これが想像以上に気持ち良い音で、冒頭の X 投稿につながります。雨音、雷鳴、通知音のようなジングル系も一通り出ます。
ただし速度には課題があります。このモデル、パイプライン全体で VRAM を 14.5GB 要求します。12GB の RTX 4070 では常に共有メモリへ溢れた状態で動くことになり、5 秒の効果音に 4 分半 (25 ステップ時) かかりました。そこで「ステップ数を削ったらどこまで速くなるか、品質はどこで壊れるか」を掃引してみました。
| 音の長さ | steps | 生成時間 |
|---|---|---|
| 5 秒 | 100 (推奨値) | 1,024.9 秒 (17.1 分) |
| 5 秒 | 50 | 524.1 秒 (8.7 分) |
| 5 秒 | 25 | 266.7 秒 (4.4 分) |
| 3 秒 | 25 | 262.8 秒 (4.4 分) |
| 10 秒 | 25 | 260.7 秒 (4.3 分) |
結果は 2 行で要約できます。生成時間はステップ数に完全に線形 (1 ステップ約 10.3 秒)、そして音の長さには依存しません。3 秒でも 10 秒でも 4.4 分です。

ここから実用上の帰結がひとつ出ます。時間コストが長さと無関係なら、毎回長め (最大 30 秒) に生成して欲しい部分を切り出すのが最適です。3 秒のジングルを 3 回生成すると 13 分、30 秒を 1 回生成して 3 箇所切り出せば 4.4 分。同じ素材数で 3 倍の差がつきます。
生成品質の確認にはスペクトログラムも併用しています。無音事件 (Qiita 記事参照) 以来、波形を見てから聴くのが習慣になりました。
GPU 1 枚をどう回すか: 貸し出しと生成の排他運用
この構成の運用上の肝は、12GB の VRAM を取り合う住人が 4 者いることです。BGM、効果音、画像の 3 スタックに加えて、アイドル時間の GPU 貸し出しサービスが常駐しています。
そこで各スタックの起動スクリプトに「生成前に貸し出しを一時停止し、VRAM が空くのを確認してから動き、終わったら貸し出しを再開する」という手順を組み込みました。状態ファイルで「もともと動いていたか」を覚えておき、動いていた場合だけ再開します。
# 生成コマンドの前後で貸し出しサービスを止めて戻す
pause_salad # 停止して VRAM 6GB 以上空くまで最大 150 秒待つ
generate ... # 生成本体
resume_salad # 元々動いていた場合のみ再開
一晩で 3 スタック分この配管を書いたことになりますが、パターンが同じなので 2 つ目からはほぼコピーです。唯一手強かったのは、貸し出しサービスの常駐 UI が「サービスが止まっている」と検知して勝手に再起動してくる watchdog 挙動でした。生成の真っ最中に VRAM を 7.4GB 奪い返され、終わるはずの生成が 17 分経っても終わらない事態になりました。このあたりの対処も Qiita 側に書いています。
一晩でできた理由
振り返ると、3 スタック目が一晩で入ったのは偶然ではありません。
- 画像側 (Wan2GP) で排他運用のパターンが確立済みだった。 Salad 停止→VRAM 確認→生成→再開の流れをそのまま流用できました
- どちらのモデルも配布が素直だった。 Hugging Face から自動ダウンロード、Python から数行で呼べる公式パイプライン付き
- 常駐型と一発型を使い分けた。 頻繁に叩く BGM は API サーバー常駐、たまにしか使わない効果音は ssh 越しの一発生成にして、管理対象を増やさない
逆に言うと、初回のセットアップでは罠を 5 つ踏みました。ポート競合を別サービスのヘルスチェックが隠す問題、bash の変数展開仕様による完全無音 WAV、ssh 越し pkill の自滅、パッケージレジストリの解決拒否、そして watchdog の VRAM 強奪です。この 5 つの詳細と回避策は Qiita にまとめました:https://qiita.com/kenimo49/items/5c88389d746687e1a7ad
まとめ
- RTX 4070 (12GB) 一枚で BGM (ACE-Step 1.5)・効果音 (MOSS-SoundEffect v2.0)・画像 (Wan2GP) のローカル生成が同居できます
- ACE-Step turbo は 60 秒の曲を 19.6 秒で生成。リアルタイムより速く、BGM 量産に実用です
- MOSS-SoundEffect は音は良いものの 12GB では VRAM が溢れます。ステップ数の調整でどこまで実用に寄るかは本文の実測表の通りです
- GPU 貸し出しサービスとの同居は、pause→生成→resume の排他運用で成立します。watchdog には注意
音・画像・文章の素材づくりが 1 枚のグラボで完結すると、「ちょっとデモ動画にジングルを付けたい」の腰の重さが消えます。ライセンスを気にせず量産できるローカル生成、GPU が余っている方はぜひ。
リンク
関連書籍 RTX 4070でQwen 35Bを2.8倍速くする ローカルLLM 高速化 · Qwen 35B · RTX 4070 · --cpu-moe で 12.2→34.6 tok/s の勝ち構成 書籍ページを見る → この記事は役に立ちましたか?