モデル概要
モデル特徴
モデル能力
使用事例
🚀 InspireMusic
InspireMusicは、音楽生成、歌曲生成、オーディオ生成に特化した統一的なツールキットです。高品質な音楽を生成でき、長尺の音楽生成もサポートしています。
スターをつけてコミュニティをサポートしてください。
ハイライト | 紹介 | インストール | クイックスタート | チュートリアル | モデル | お問い合わせ
✨ 主な機能
InspireMusicは、音楽生成、歌曲生成、オーディオ生成に特化しています。
- 音楽、歌曲、オーディオ生成用の統一的なツールキット。
- 高品質な音楽生成タスク。
- 長尺の音楽生成。
📚 ドキュメント
⚠️ 重要提示
このリポジトリにはアルゴリズムのインフラストラクチャといくつかの簡単な例が含まれています。現在は英語のテキストプロンプトのみをサポートしています。
💡 使用建议
パフォーマンスをプレビューするには、InspireMusicデモページを参照してください。
InspireMusicは、オーディオトークン化を自己回帰トランスフォーマーとフローマッチングベースのモデルと統合した、統一的な音楽、歌曲、オーディオ生成フレームワークです。このツールキットの主な目的は、一般ユーザーが音楽、歌曲、オーディオ制作を通じてサウンドスケープを革新し、研究における美しさを高めることを可能にすることです。このツールキットは、高品質な音楽を作成するAIベースの生成モデルのトレーニングと推論コードの両方を提供します。統一的なフレームワークを備えたInspireMusicは、オーディオトークナイザーを自己回帰トランスフォーマーと超解像フローマッチングモデリングと組み合わせることで、テキストとオーディオプロンプトの両方を使用して音楽、歌曲、オーディオを制御可能に生成できます。現在は音楽生成をサポートしており、将来的には歌曲生成、オーディオ生成もサポート予定です。
InspireMusic
![]() |
Figure 1: InspireMusicフレームワークの概要。高品質な長尺オーディオを生成できる音楽、歌曲、オーディオ生成用の統一的なフレームワークであるInspireMusicを紹介します。InspireMusicは以下の3つの主要なコンポーネントで構成されています。 オーディオトークナイザー は、生のオーディオ波形を、自己回帰トランスフォーマーモデルによって効率的に処理およびトレーニングできる離散的なオーディオトークンに変換します。低サンプリングレートのオーディオ波形は、高ビットレート圧縮オーディオトークナイザー[1]を介して離散的なトークンに変換されます。 自己回帰トランスフォーマー モデルは、Qwen2.5[2]をバックボーンモデルとして使用し、テキストとオーディオトークンの両方に対して次のトークン予測アプローチを使用してトレーニングされ、一貫性のある文脈的に関連するトークンシーケンスを生成できるようになっています。オーディオとテキストトークンは、次のトークン予測を行う自己回帰モデルの入力となり、トークンを生成します。 超解像フローマッチングモデル は、フローモデリング手法に基づいており、生成されたトークンを、より高いサンプリングレートのオーディオから取得された高解像度の細粒度の音響詳細を持つ潜在的な特徴にマッピングします[3]。これにより、モデルを通じて高音質で音響情報の流れが接続されます。その後、ボコーダーがこれらの強化された潜在的な特徴から最終的なオーディオ波形を生成します。InspireMusicは、テキストから音楽への変換、音楽の続き生成、音楽の再構築、音楽の超解像などのさまざまなタスクをサポートしています。 |
📦 インストール
クローン
- リポジトリをクローンします。
git clone --recursive https://github.com/FunAudioLLM/InspireMusic.git
# ネットワーク障害によりサブモジュールのクローンに失敗した場合は、以下のコマンドを成功するまで実行してください。
cd InspireMusic
git submodule update --recursive
# または、third_partyリポジトリMatcha-TTSを手動でダウンロードすることもできます。
cd third_party && git clone https://github.com/shivammehta25/Matcha-TTS.git
ソースからインストール
InspireMusicは、Python>=3.8、PyTorch>=2.0.1、flash attention==2.6.2/2.6.3、CUDA>=11.2が必要です。以下のコマンドで依存関係をインストールできます。
- Condaをインストールするには、https://docs.conda.io/en/latest/miniconda.html を参照してください。
- Conda環境を作成します。
conda create -n inspiremusic python=3.8
conda activate inspiremusic
cd InspireMusic
# pyniniはWeTextProcessingに必要です。すべてのプラットフォームで実行できるように、condaを使用してインストールします。
conda install -y -c conda-forge pynini==2.1.5
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
# トレーニングを高速化するためにflash attentionをインストールします。
pip install flash-attn --no-build-isolation
- パッケージ内でインストールします。
cd InspireMusic
# パッケージをインストールするには、以下のコマンドを実行します。
python setup.py install
pip install flash-attn --no-build-isolation
sox
またはffmpeg
をシステムまたはAnacondaを通じてインストールすることもお勧めします。
# # soxをインストールする場合
# ubuntu
sudo apt-get install sox libsox-dev
# centos
sudo yum install sox sox-devel
# ffmpegをインストールする場合
# ubuntu
sudo apt-get install ffmpeg
# centos
sudo yum install ffmpeg
Dockerを使用する
提供されているDockerfileからDockerイメージをビルドするには、以下のコマンドを実行します。
docker build -t inspiremusic .
インタラクティブモードでDockerコンテナを起動するには、以下のコマンドを実行します。
docker run -ti --gpus all -v .:/workspace/InspireMusic inspiremusic
Docker Composeを使用する
docker-compose.ymlファイルからDocker Compose環境とDockerイメージをビルドするには、以下のコマンドを実行します。
docker compose up -d --build
インタラクティブモードでDockerコンテナにアタッチするには、以下のコマンドを実行します。
docker exec -ti inspire-music bash
🚀 クイックスタート
音楽生成のクイックインフェレンススクリプト
cd InspireMusic
mkdir -p pretrained_models
# モデルをダウンロードする
# ModelScope
git clone https://www.modelscope.cn/iic/InspireMusic-1.5B-Long.git pretrained_models/InspireMusic-1.5B-Long
# HuggingFace
git clone https://huggingface.co/FunAudioLLM/InspireMusic-1.5B-Long.git pretrained_models/InspireMusic-1.5B-Long
cd examples/music_generation
# クイックインフェレンスの例を実行する
sh infer_1.5b_long.sh
音楽生成タスクのクイックスタート実行スクリプト
データ準備パイプライン、モデルトレーニング、推論を含む音楽生成タスクを実行するためのクイックスタート実行スクリプトです。
cd InspireMusic/examples/music_generation/
sh run.sh
ワンライン推論
テキストから音楽へのタスク
テキストから音楽へのタスクのワンラインシェルスクリプトです。
cd examples/music_generation
# フローマッチングを使用して、ワンラインコマンドですぐに試す
python -m inspiremusic.cli.inference
# 以下のように設定をカスタマイズする
python -m inspiremusic.cli.inference --task text-to-music -m "InspireMusic-1.5B-Long" -g 0 -t "Experience soothing and sensual instrumental jazz with a touch of Bossa Nova, perfect for a relaxing restaurant or spa ambiance." -c intro -s 0.0 -e 30.0 -r "exp/inspiremusic" -o output -f wav
# フローマッチングを使用せずに、ワンラインコマンドですぐに試す
python -m inspiremusic.cli.inference --task text-to-music -g 0 -t "Experience soothing and sensual instrumental jazz with a touch of Bossa Nova, perfect for a relaxing restaurant or spa ambiance." --fast True
あるいは、数行のPythonコードで推論を実行することもできます。
from inspiremusic.cli.inference import InspireMusic
from inspiremusic.cli.inference import env_variables
if __name__ == "__main__":
env_variables()
model = InspireMusic(model_name = "InspireMusic-Base")
model.inference("text-to-music", "Experience soothing and sensual instrumental jazz with a touch of Bossa Nova, perfect for a relaxing restaurant or spa ambiance.")
音楽の続き生成タスク
音楽の続き生成タスクのワンラインシェルスクリプトです。
cd examples/music_generation
# フローマッチングを使用する場合
python -m inspiremusic.cli.inference --task continuation -g 0 -a audio_prompt.wav
# フローマッチングを使用しない場合
python -m inspiremusic.cli.inference --task continuation -g 0 -a audio_prompt.wav --fast True
あるいは、数行のPythonコードで推論を実行することもできます。
from inspiremusic.cli.inference import InspireMusic
from inspiremusic.cli.inference import env_variables
if __name__ == "__main__":
env_variables()
model = InspireMusic(model_name = "InspireMusic-Base")
# オーディオプロンプトのみを使用する
model.inference("continuation", None, "audio_prompt.wav")
# テキストプロンプトとオーディオプロンプトの両方を使用する
model.inference("continuation", "Continue to generate jazz music.", "audio_prompt.wav")
📦 モデル
モデルのダウンロード
音楽生成用の事前学習済みのInspireMusicモデルをダウンロードできます。
# gitを使用してモデルをダウンロードする場合、git lfsがインストールされていることを確認してください。
mkdir -p pretrained_models
git clone https://www.modelscope.cn/iic/InspireMusic.git pretrained_models/InspireMusic
利用可能なモデル
現在、24KHzモノラルと48KHzステレオの音楽生成モデルをオープンソースで公開しています。 以下の表に、ModelScopeとHuggingfaceのモデルハブへのリンクを示します。







