自分のMacに、小さな音楽工房を。冒頭は記事のために生成したイメージ映像です。実際のアプリ画面と音源は下の実演動画で紹介します。
以前にも、自分で使う音楽生成AIを作ろうとしたことがある。外部のAPIを使う方法も、手元のコンピューターで動かす方法も試した。けれど、当時の私の用途では、使い物にならなかった。
それなら、Sunoに課金して使う方がいい。品質も期待できるし、私にとっては、無理に自作を続けるほど高価でもない。いったん、そう割り切った。
それでも、欲しいものは頭の中に残っていた。
制作を手伝っているAIエージェントが、その流れのままBGMや楽曲を作れる。私も画面から操作できて、できた音をすぐに聴ける。そんな、自分の制作環境につながる音楽アプリだ。
今回、もう一度作ってみた。自分の把握では、約25分で動く試作が形になった。その後、日本語の歌詞を入れて、60秒の曲も生成した。
今度は、ちゃんと歌になっている。サビとして指定した部分にも、歌の展開として応えてくれる。曲調や歌詞を入力して生成する操作感も、普段使う音楽生成サービスと大きく変わらない。
「これなら、使えそうだ」。以前との違いは、そこだった。
まずは、Macが作った60秒を聴いてほしい
今回のアプリは「VOXORA Music Lab」。Macのネイティブアプリとして作った、音楽生成の試作環境だ。下の動画には、実際のアプリ画面と、そこで生成した日本語の歌ものを収めている。
実機デモ:「まだない朝へ」。再生すると音が出ます。M4 Max・128GBのMacで生成した60秒の音源を、アプリ画面とともに収録。
歌詞は、ただ一続きに貼り付けたわけではない。Aメロに当たる [Verse]、サビ前の [Pre-Chorus]、サビの [Chorus]、終わりの [Outro] に分けて渡した。曲調には、女性ボーカルの日本語エレクトロポップ、柔らかな声、シンセやピアノ、前向きな雰囲気といった方向を指定している。
私が聴いて面白かったのは、文字を音程付きで読み上げた、という感触ではなかったことだ。伴奏と歌声があり、パートの指定が曲の流れに反映されている。少なくとも今回の曲では、音楽として受け取れるものが返ってきた。
もちろん、ここで「Sunoと音質が同じ」と言いたいわけではない。今回は比較試験ではなく、自分の制作に使えるかを確かめる試作だ。ただ、以前は踏み越えられなかった「次にも使ってみたい」という線を、今回は越えた。それは大きい。
アプリの作成時間は25分で9割完成。
CODEX GPT 6 Astra の作業時間は25分程度。
音を作る部分には、公開されている音楽生成モデル「ACE-Step」を使った。そこへ、Mac用の画面、生成処理を管理する仕組み、履歴、再生、書き出し、音源分離への入口を組み合わせた。アプリの実装はAIエージェントと進め、音楽の生成は手元のMacで行っている。
画面には曲調、歌詞、長さ、BPMを入れる欄があり、生成すると波形が表示される。過去の曲を選んで聴き直したり、ファイルとして取り出したりもできる。研究用のコマンドを一度動かして終わり、ではなく、もう一度開いて使うための形にした。
人間が画面で操作しても、エージェントがコマンドで操作しても、同じ実行管理を通る。ここが、私には大切だった。
たとえば動画を作っているとき、「この場面に合う、30秒の明るいBGMが欲しい」と考える。これまでは、そのために別のサービスを開き、曲を作り、ダウンロードして制作へ戻る必要があった。ローカルに呼び出せる音楽アプリがあれば、その工程をエージェントとつなげていける。今回作ったのは、その入口でもある。
欲しかったのは、もう一つの音楽サービスではない。自分の制作の続きを引き受けてくれる音楽アプリだった。
中では、何が曲を作っているのか
今回の歌ものに使ったのは、ACE-Step 1.5 XL Turbo。公式のモデル説明では、音楽生成側のDiTが約40億パラメータで、8ステップの生成に対応する。今回の実行記録も8ステップだ。
「40億」と言われても、音が出る仕組みは想像しづらい。役割を大づかみに分けると、次のようになる。
今回の音楽用言語モデルは1.7B版。完成したWAVを履歴・試聴・書き出しへつなぐ。
DiTは音を生成するモデル、VAEは内部の圧縮された音の表現を波形へ戻す仕組み、と考えると流れを追いやすい。歌声は別の読み上げサービスを後から重ねたものではなく、歌詞を条件に、伴奏を含む楽曲として生成している。ACE-Stepが言語モデルと音楽生成モデルを組み合わせる設計は、公式リポジトリでも説明されている。
そして、今回のMacではMLXとMPSというAppleのGPUを利用する仕組みが動いていた。画面の裏で遠くの有料音楽APIへ送っているのではなく、読み込んだモデルが手元で計算している。
60秒の歌が約48秒。実行速度も実用的。
今回使ったMacは、M4 Max、メモリ128GB。かなり余裕のある構成だ。日本語の歌ものを生成したときの記録は、次のとおりだった。
曲のテンポは118 BPM。出力は48kHz・ステレオ・PCM16 WAV。
2026年9月11日の新規生成1回の実行ログ。初期化と推論等の合計以外に、起動などの時間も含む。モデルの初回ダウンロード時間は含まない。
保存済みの曲を取り出した時間ではなく、新しく生成して音源を保存するまでの時間だ。これなら、曲を試し、聴いて、次の方向を考える流れを止めにくい。私にとっては、最高速度の数字以上に、そちらがうれしい。
ただし、128GBが必要な最低条件という意味ではないし、どのMacでも約48秒になるわけでもない。今回組んだ環境では、通常版とXL版のモデル、実行環境などでSSDを約30GiB使用している。ローカルだから何も要らないのではなく、手元の計算資源と保存領域で引き受ける。そのうえで、この待ち時間なら使っていけそうだと感じた。
それ以外で組み込んだ機能
もう一つ組み込んだのが、音源分離だ。Demucsを使い、完成した音源からボーカル、ドラム、ベース、その他の4パートを取り出す。
これは、最初から別々に録音されたトラックを保存しているわけではない。混ざった音から各パートを推定するので、他の音が残ったり、音質が変わったりすることはある。それでも、曲を聴いて終わりにせず、その先で編集する余地を持てる。今回、分離処理の動作確認は30秒のインストゥルメンタル曲で行った。
一度作った楽曲のレシピを参照できるように保存できる機能も実装した。曲調、歌詞、seed、モデル、処理時間を音源と一緒に残す。同じ条件で完成済みの曲があれば再利用し、別のテイクが欲しいときにはseedを変える。気に入った曲ができた後、「どんな条件で作ったのか分からない」とならないためだ。
また、ローカル環境は常にSSD容量が逼迫してるので、重いモデルや音源はM.2 外付けSSDに置き、処理が終わったら重い実行プロセスを終了する。SSDがつながっていなければ止める。生成に失敗したからといって、勝手に外部の有料サービスへ切り替えることもしない。
生成AIの性能は加速している
ローカル音楽生成AIの性能は驚くべき速度で進化している。また、アプリ作成を助ける、AI Agentの性能の進歩は凄まじいものがある。今あちこちで自作ツールができたという報告や投稿が後を絶たないのも理解できる。
ローカル音楽生成AIは以前からあった。何度か試作したアプリでは、実際に使ってみようと思えるレベルではなかった。今回のモデルも、歌詞の細かい読み間違いなどはあるので、ボーカル付きの音楽をAGENTに作らせて流すというような用途にはまだ足りない気はする。しかし、ちょっとしたBGMをつける程度の用途であれば十分に使えると感じた。
CODEXやClaude Codeは以前から使い続けているが、一発で意図を理解して、実装する力は大きく進化している。アイデアをアプリという形にして実行することの敷居は大きく下がった。 必要なのは最早、技術や知識ではない。その技術や知識を使って何を成したいかというWILLだけだ。
どこか遠い世界の話に感じていたことが、今や誰にでも手の届くところにきた。
すべきことは、今、こんなのあれば面白い というアイデアをひとつ形にしてみることだ。


