Riffusionは現在も動くか?:AI音楽生成の原点を試す

AI音楽

この記事のポイント

  • RiffusionはStable Diffusion系の発想で音を作るAI。現在はProducer.aiへ発展
  • ローカル実行は可能だが、2025年時点では非メンテに近く互換構成が必須
  • Python 3.10+PyTorch 1.13.1固定、Windows+NVIDIAが最も安定(CUDA 11.7)
  • macOSはCPU実行推奨。本記事はアーカイブ/教材目的の手順を提供

導入:Riffusionとは?ローカルで動くAI音楽生成の入口

Riffusionは、Stable Diffusionと同様の構造を使って音を生成するオープンソースAIです。
テキストから音を生み出す仕組みを持ち、誰でも無料で試すことができます。
現在はProducer.aiへと発展しましたが、初期版のRiffusionは今もローカル環境で実行可能です。

実際には1回に生成できる音源が約5秒と非常に短く、商用利用もライセンスが不明確な状況で、実用には最新モデルの活用を強くおすすめします。

この記事では、そのローカル実行手順を解説し、自分のPCでAI音楽を生成する方法を紹介します。

2022年に登場したRiffusionは、2025年現在、メンテナンスが実質なされていません。
古いパッケージの依存解決やフロントとAPIの組み合わせが困難で、コード修正を行わない限りインストールしても動作しません。本記事は、技術的情報を残す目的でそのまま掲載しております。

準備:Riffusionを動かすための環境と必要条件

Riffusionのモデル推論部分はPython(PyTorch)で実装されており、
GPUを搭載した環境で実行すると高速に生成できます
CPUでも動作は可能ですが、処理時間が長くなります。

動作環境の目安は以下の通りです。

  • OS:Windows / macOS / Linux
  • GPU:NVIDIA(VRAM 12GB以上推奨)
  • Python:3.10以降
  • 主要ライブラリ:torch, diffusers, torchaudio, ffmpeg

参考リンク(一次情報):

手順:Riffusionをローカルで実行する方法(互換構成対応)

Riffusion 0.0.5 は PyTorch 1.13.x 世代を前提としており、
一部の依存ライブラリが現在の最新版と競合します。
以下では 安定動作が確認された互換セット に固定して、確実に動く構成を紹介します。


🪟 Windows:pyenv-winでPython 3.10を導入(GPU対応)

WindowsはCUDA対応GPU(NVIDIA製)を持つ場合、GPUでRiffusionを高速に動かせます。
PyTorch 1.13.1 + CUDA 11.7 の組み合わせが最も安定です。

1. pyenv-winをインストール

PowerShellを管理者権限で開き、以下を実行:

git clone https://github.com/pyenv-win/pyenv-win.git "$env:USERPROFILE\\.pyenv"
setx PYENV "$env:USERPROFILE\\.pyenv"
setx PATH "$env:PYENV\\pyenv-win\\bin;$env:PYENV\\pyenv-win\\shims;$env:PATH"

PowerShellを再起動して確認:

pyenv --version

2. Python 3.10をインストール

pyenv install 3.10.11
pyenv local 3.10.11

3. 仮想環境を作成・有効化

python -m venv riffusion_env
.\riffusion_env\Scripts\activate

4. 互換ライブラリ群を導入

Riffusion 0.0.5 の安定動作が確認された構成は以下の通りです:

ライブラリバージョン備考
torch1.13.1CUDA 11.7対応ビルド
diffusers0.14.0モデル互換安定
transformers4.26.1Riffusion推奨範囲
accelerate0.16.0互換バージョン固定
soundfile0.11.0Riffusion要求範囲
huggingface_hub0.13.0cached_download対応
riffusion0.0.5最新安定版

導入コマンド

pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 --find-links https://download.pytorch.org/whl/cu117/torch_stable.html
pip install diffusers==0.14.0 transformers==4.26.1 accelerate==0.16.0 soundfile==0.11.0 huggingface_hub==0.13.0 safetensors==0.3.1 librosa==0.9.2 ffmpeg-python==0.2.0
pip install riffusion==0.0.5

💡 Riffusionは torch<2.0.0 に依存しているため、PyTorch 1.13.x系が必要です。
huggingface_hub==0.13.0 を使用すると、cached_download 関数が利用でき ImportError を回避できます。


🍎 macOS:CPU版PyTorchを使用(Metal非推奨)

macOSでは PyTorch 1.13.1 のMetal(MPS)対応が不完全なため、
RiffusionはCPU実行を推奨します。

導入コマンド

pip install torch==1.13.1+cpu torchvision==0.14.1+cpu torchaudio==0.13.1+cpu --find-links https://download.pytorch.org/whl/cpu/torch_stable.html
pip install diffusers==0.14.0 transformers==4.26.1 accelerate==0.16.0 soundfile==0.11.0 huggingface_hub==0.13.0 safetensors==0.3.1 librosa==0.9.2 ffmpeg-python==0.2.0
pip install riffusion==0.0.5

💡 Apple Silicon(M1/M2)でも同様にCPU版を推奨。
Metal対応を有効にしたい場合はPyTorch 2.x+diffusers 0.16系以降が必要ですが、Riffusionのコード改修が伴います。


🐧 Linux / WSL2:標準pyenvでPython 3.10+CUDA版

LinuxやWSL2では、Windows同様にCUDA 11.7対応GPUを利用可能です。

導入コマンド

pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 --find-links https://download.pytorch.org/whl/cu117/torch_stable.html
pip install diffusers==0.14.0 transformers==4.26.1 accelerate==0.16.0 soundfile==0.11.0 huggingface_hub==0.13.0 safetensors==0.3.1 librosa==0.9.2 ffmpeg-python==0.2.0
pip install riffusion==0.0.5

🚀 Riffusionの起動(全OS共通)

推論サーバ(Flaskアプリ)を起動

riffusion-server --host 127.0.0.1 --port 3013

このコマンドで、Riffusionの推論APIサーバがローカルで起動します。

Web UIを起動(別ターミナル)

git clone https://github.com/riffusion/riffusion-app-hobby
cd riffusion-app-hobby
npm install
npm run dev

Web UIとサーバを接続(初回のみ .env.local を作成)

RIFFUSION_FLASK_URL=http://127.0.0.1:3013/run_inference/

ブラウザで http://localhost:3000 にアクセスすると、生成画面が開きます。


🔚 終了手順(サーバ停止)

ターミナルで以下を実行すると、Flaskサーバを停止できます。

Ctrl + C

または、OSのタスクマネージャで riffusion-server プロセスを終了します。


⚙️ GPU対応可否まとめ

OSGPU利用可否対応方式備考
Windows (NVIDIA)CUDA 11.7最も安定。公式想定環境。
Linux / WSL2 (NVIDIA)CUDA 11.7同上。
macOS (Intel / Apple Silicon)⚠️Metal (β)PyTorch 1.13.1では未安定。CPU推奨。
Windows (AMD GPU)なしROCmはLinux専用。

これで、どの環境でも Python 3.10.x+PyTorch 1.13.1+Riffusion 0.0.5(互換ライブラリ構成)
安定してローカル実行できます。
GPUが使える場合はCUDA版を、使えない/macOSの場合はCPU版を選んで進めましょう。

🔧 追記:依存ライブラリと互換性に関する補足情報

■ 依存関係の固定について

Riffusion 0.0.5 は、Stable Diffusion 1.5 系と同世代のライブラリ構成を前提にしています。
そのため、PyTorch 2.x など新しい環境では非互換が発生しやすく、以下の 固定セット を推奨します。

ライブラリ推奨バージョン備考
torch1.13.1CUDA 11.7 対応ビルド(GPU向け)
diffusers0.14.0Pipeline 互換安定版
transformers4.26.1Riffusion のコードと整合
accelerate0.16.0diffusers 同世代
soundfile0.11.0Riffusion 要求(0.12以降は非互換)
huggingface_hub0.13.0cached_download 関数対応版
safetensors0.3.1モデル読み込み最適化
librosa0.9.2音響処理
riffusion0.0.5最新安定版
ffmpeg-python0.2.0音声出力処理

💡 注意: PyTorch 2.0 以降では torch.float16 周りの挙動が変化しており、
diffusers==0.14.0 以前のモデルローディングと衝突します。


cached_download に関する互換性

Riffusion は内部で huggingface_hub.cached_download() を使用していますが、
0.14 以降ではこの関数が削除され、ImportError が発生します。

対処法:

pip install huggingface_hub==0.13.0

もしくは後方互換パッチを適用:

# sitecustomize.py に追記
from huggingface_hub import hf_hub_download
cached_download = hf_hub_download

■ ffmpeg の設定(Windows)

Riffusion は soundfile および ffmpeg-python に依存しており、
Windows では ffmpeg.exe のパスが通っていないと音声出力に失敗します。

環境変数の登録:

setx FFMPEG_BINARY "C:\path\to\ffmpeg\bin\ffmpeg.exe"

またはレジストリ登録:

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\ffmpeg.exe" /ve /d "C:\path\to\ffmpeg\bin\ffmpeg.exe" /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths\ffmpeg.exe" /v Path /d "C:\path\to\ffmpeg\bin" /f

■ Flask サーバと Web UI の接続仕様

  • 推論サーバは Flask で動作し、デフォルトポートは 3013
  • Web UI(riffusion-app-hobby)は .env.local に接続先を記述します:
RIFFUSION_FLASK_URL=http://127.0.0.1:3013/run_inference/
  • 両者のバージョンがずれていると、
    Unexpected token 'I' ... not valid JSON 等のエラーが発生します。
    これは UI 側が古い JSON スキーマを想定しているためです。

■ モデルキャッシュエラー対策(Windows)

Windows では長いパスや .lock ファイルが原因でエラーが出る場合があります。

対処法:

setx HF_HOME "C:\hf_cache"

また、開発者モードを有効にしておくと symlink 警告が消えます。

設定 → 開発者向け → 「開発者モードを有効にする」をオン


■ 推論パラメータ例(API 呼び出し)

Riffusion は2点間補間を想定した構造ですが、単一プロンプト生成も可能です。

{
  "alpha": 0.25,
  "num_inference_steps": 50,
  "seed_image_id": "og_beat",
  "mask_image_id": null,
  "start": {
    "prompt": "ambient piano",
    "seed": 42,
    "denoising": 0.75,
    "guidance": 7
  },
  "end": {
    "prompt": "ambient piano",
    "seed": 43,
    "denoising": 0.75,
    "guidance": 7
  }
}

■ インストール可能な構成まとめ

OSGPUPython備考
Windows 11NVIDIA (CUDA 11.7)3.10.11最も安定。公式想定構成。
macOS (M1/M2)CPU のみ3.10.xMetal 対応は未安定。
Linux / WSL2NVIDIA (CUDA 11.7)3.10.x構築手順は Windows と同等。

⚠️ 注意:Riffusion は現在「非メンテナンス」状態に近く、
将来的に依存関係の更新により動作不能になる可能性があります。
本記事の手順は 2025 年 10 月時点でインストールを試行した際の互換構成です。

🧩 考察:Producer.aiへの進化とRiffusionの遺産

Riffusionは、テキストから音を生成するAIモデルの原点として誕生しました。
Stable Diffusionの構造を転用し、音をスペクトログラム(画像)として生成・再構成するという発想は、当時として画期的でした。
このアイデアは現在の多くの音楽生成AI(Stable Audio、MusicGenなど)にも間接的に影響を与えています。


🔄 RiffusionからProducer.aiへ

Riffusionを開発したチームはその後、Producer.aiという新しいブランドへと移行しました。
公式サイト上でも “Riffusion is now Producer.ai” と記載されており、実質的にはRiffusionの後継プロジェクトといえます。

Producer.aiでは、「FUZZ-2.0」と呼ばれる新しい内部モデルを採用しているとされています。
ただしこのモデルの重み(weights)やコードの公開は確認されておらず、GitHubやHugging Face上にも該当リポジトリは存在しません。
Redditなどのユーザー報告によると、FUZZ-2.0はRiffusionよりも音質やトランジション精度が向上しているものの、
商用クラウドとしてクローズドに提供されているようです。

🔒 Producer.aiのモデルや実装は現時点で非公開(2025年10月時点)
公開されているのはユーザー向けの利用ドキュメントのみで、
コードや学習パイプライン、推論アーキテクチャにはアクセスできません。


🧠 意義と限界

Riffusionの意義は、音楽生成AIを「自前で動かせる」点にありました。
ローカルでの実験や研究、音響可視化の教材としては今でも価値があります。
一方で、依存関係の古さや非メンテナンス化により、再現には高度な知識と調整作業が必要です。

現在では、以下のような後継的プロジェクトがその役割を引き継いでいます:

  • Stable Audio Open(Stability AI)
     → 最新の音声合成アーキテクチャをオープンに提供
  • MusicGen(Meta)
     → テキストから直接音波を生成
  • Producer.ai
     → Riffusionを商用化した次世代クラウド型AI

🪞 総括

Riffusionは、AI音楽生成という領域を一般開放した象徴的プロジェクトでした。
そしてProducer.aiは、その発想を商用品質へと昇華したクローズド後継。

したがって今、Riffusionを動かすことの意義は「使うこと」ではなく、
AI音楽技術の源流を再発見し、仕組みを学ぶことにあります。

🧭 「Producer.aiは進化形、Riffusionは原点」
── その両者を比較することで、AI音楽の進化の軌跡が見えてきます。

コメント

タイトルとURLをコピーしました