自分の曲をAIでアフロハウスに変換してみた
前回前々回とアフロハウスについて書いてきたので、今度は実際に手を動かしてみることにした。自分の曲をAIでアフロハウス風に作り変えられないか、という実験。
Sunoが使えなかった
最初はSunoで試そうとした。だが2つブロックにぶつかった。
- ブラウザのログインセッションが切れていた
- 調べてみたら、Suno($288/月)の決済が8月に入ってから5回連続で失敗していた
Sunoは諦めて、代わりにオープンソースの音楽生成モデルACE-Stepを試すことにした。
ACE-Stepとは
Apache 2.0ライセンスの音楽生成モデルで、商用利用も明示的にOK。ローカルでも動く軽さが売りで、A100なら1曲2秒未満、RTX 3090でも10秒程度、4GB VRAMがあれば動くと謳っている。
自分の環境(m5 Mac)で動かそうとしたが、m5がネットワーク的に落ちていて到達できなかった。そこでfal.aiという、こうしたオープンソースモデルをAPIとしてホストしてくれるサービス経由で叩くことにした。
audio-to-audioで「自分の曲」をアフロハウス化
ACE-Stepにはtext-to-audioだけでなくaudio-to-audioというエンドポイントがある。既存の音源をURLで渡すと、その曲の雰囲気を保ちながらジャンルだけを変換してくれる機能。
これを使えば「僕の曲をアフロハウスにする」がそのまま実現できる。素材に選んだのは、Koeのテーマ曲(koe_song.mp3)。
curl -X POST "https://queue.fal.run/fal-ai/ace-step/audio-to-audio" \
-H "Authorization: Key $FAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio_url": "https://yukihamada.jp/mv/koe_song.mp3",
"original_tags": "j-pop, ballad, emotional, male vocal, piano, mid-tempo",
"tags": "afro house, 121 bpm, log drum, polyrhythmic percussion, deep bass, tribal, four on the floor, dance",
"lyrics": "[inst]"
}'
fal.aiはキュー式のAPIで、投げるとジョブIDが返り、/statusをポーリングして完了を待つ。今回は推論に199秒かかり、2分7秒のWAVファイルが出てきた。
聴いてみると、元曲のメロディの輪郭は残しつつ、ビートとパーカッションが完全にアフロハウスの語彙に置き換わっている。「自分の曲のアフロハウスカバー」がAI一発で出てくる時代になったんだな、というのが率直な感想。
コストと所要時間
- テスト生成(20秒・text-to-audio): 推論2.5秒
- 本番生成(2分7秒・audio-to-audio): 推論199秒
- コストは1回あたり数セント〜十数セント程度。Sunoの月額課金と比べると、実験用途なら圧倒的に安い
わかったこと
- audio-to-audioは「学習」ではなく「変換」。前回書いた「僕の曲を学習させて」という発想からすると、LoRAで自分の曲調そのものをモデルに覚え込ませるのが本来のゴールだったが、fal.aiのホスト型APIではそこまでの学習ジョブは提供されていない(自前でGPUを持ってセルフホストする必要がある)。今回はその手前の「既存の曲をジャンル変換する」で実用上十分な結果が出た
- ローカルGPU(m5)より、ネットが繋がっていればAPIの方が圧倒的に速い。m5が落ちている間もfal.ai経由なら止まらずに進められた、というのも今回の学び
- 生成AIの民主化がこのレベルまで来ると、「好きな曲を好きなジャンルで聴き直す」がリスナー側の遊びとしても普通になっていきそうだ
関連