🚀 MusicGen - Stereo - Melody - 1.5B
MusicGenは、テキスト記述またはオーディオプロンプトに基づいて高品質な音楽サンプルを生成できるテキストから音楽へのモデルです。32kHzのEnCodecトークナイザーを使用し、50Hzでサンプリングされた4つのコードブックを用いて訓練された単一ステージの自己回帰型Transformerモデルです。
🚀 クイックスタート
MusicGenを試してみましょう!以下の方法で利用できます。
オンラインで試す
ローカルで実行する
- まず、
audiocraft
ライブラリをインストールします。
pip install git+https://github.com/facebookresearch/audiocraft.git
ffmpeg
がインストールされていることを確認します。
apt get install ffmpeg
- 以下のPythonコードを実行します。
import torchaudio
from audiocraft.models import MusicGen
from audiocraft.data.audio import audio_write
model = MusicGen.get_pretrained('melody')
model.set_generation_params(duration=8)
descriptions = ['happy rock', 'energetic EDM', 'sad jazz']
melody, sr = torchaudio.load('./assets/bach.mp3')
wav = model.generate_with_chroma(descriptions, melody[None].expand(3, -1, -1), sr)
for idx, one_wav in enumerate(wav):
audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
✨ 主な機能
- テキスト記述またはオーディオプロンプトに基づいて高品質な音楽サンプルを生成できます。
- 単一ステージの自己回帰型Transformerモデルで、4つのコードブックを一度に生成します。
- コードブック間に小さな遅延を導入することで、並列に予測でき、1秒あたり50回の自己回帰ステップのみです。
📦 インストール
ライブラリのインストール
pip install git+https://github.com/facebookresearch/audiocraft.git
ffmpegのインストール
apt get install ffmpeg
💻 使用例
基本的な使用法
import torchaudio
from audiocraft.models import MusicGen
from audiocraft.data.audio import audio_write
model = MusicGen.get_pretrained('melody')
model.set_generation_params(duration=8)
descriptions = ['happy rock', 'energetic EDM', 'sad jazz']
melody, sr = torchaudio.load('./assets/bach.mp3')
wav = model.generate_with_chroma(descriptions, melody[None].expand(3, -1, -1), sr)
for idx, one_wav in enumerate(wav):
audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
📚 ドキュメント
モデルの詳細
属性 |
详情 |
開発組織 |
Meta AIのFAIRチーム |
モデルの日付 |
2023年4月から5月の間に訓練されました。 |
モデルのバージョン |
バージョン1 |
モデルの種類 |
オーディオトークン化のためのEnCodecモデルと、Transformerアーキテクチャに基づく自己回帰型言語モデルで構成されています。300M、1.5B、3.3Bパラメータの異なるサイズがあり、テキストから音楽を生成するタスク用に訓練されたモデルと、メロディによる音楽生成用に訓練されたモデルの2つのバリエーションがあります。 |
詳細情報の論文またはリソース |
Simple and Controllable Music Generation |
引用情報 |
@misc{copet2023simple, title={Simple and Controllable Music Generation}, author={Jade Copet and Felix Kreuk and Itai Gat and Tal Remez and David Kant and Gabriel Synnaeve and Yossi Adi and Alexandre Défossez}, year={2023}, eprint={2306.05284}, archivePrefix={arXiv}, primaryClass={cs.SD}} |
ライセンス |
コードはMITライセンスで公開され、モデルの重みはCC - BY - NC 4.0で公開されています。 |
質問やコメントの送信先 |
プロジェクトのGithubリポジトリまたはissueを通じて送信できます。 |
意図された使用法
- 主な使用目的:AIベースの音楽生成の研究です。生成モデルの制限を調査し、科学の現状をさらに改善するための研究や、機械学習の愛好家が生成AIモデルの現在の能力を理解するためのテキストまたはメロディによる音楽生成などがあります。
- 主な対象ユーザー:オーディオ、機械学習、人工知能の研究者や、これらのモデルをより深く理解しようとする愛好家です。
- 想定外の使用例:リスク評価と軽減策をさらに行わない限り、下流のアプリケーションで使用しないでください。人々に敵対的または疎外感を与える音楽作品を意図的に作成または配布するために使用しないでください。
評価指標
- モデルの性能評価指標:標準的な音楽ベンチマークでモデルを評価するために、事前訓練されたオーディオ分類器(VGGish)から抽出された特徴量に基づくFrechet Audio Distance、事前訓練されたオーディオ分類器(PaSST)から抽出されたラベル分布のKullback - Leibler Divergence、事前訓練されたCLAPモデルから抽出されたオーディオ埋め込みとテキスト埋め込みの間のCLAP Scoreを使用しました。また、人間の参加者を対象に定性的な研究を行い、音楽サンプルの全体的な品質、提供されたテキスト入力とのテキスト関連性、メロディによる音楽生成のメロディへの忠実度などの軸でモデルの性能を評価しました。
- 決定閾値:該当しません。
評価データセット
モデルはMusicCapsベンチマークと、訓練セットとアーティストが重複しないドメイン内のホールドアウト評価セットで評価されました。
訓練データセット
モデルは、Meta Music Initiative Sound Collection、Shutterstock music collection、Pond5 music collectionなどのライセンス付きデータで訓練されました。訓練セットと対応する前処理の詳細については、論文を参照してください。
評価結果
以下は、公開されたモデルをMusicCapsで評価した客観的な指標です。公開されたモデルについては、すべてのデータセットを最先端の音楽ソース分離方法であるオープンソースのHybrid Transformer for Music Source Separation (HT - Demucs)を使用して処理し、楽器部分のみを残しています。これが論文で使用されたモデルとの客観的な指標の違いの原因です。
モデル |
Frechet Audio Distance |
KLD |
テキストの一貫性 |
クロマコサイン類似度 |
facebook/musicgen-small |
4.88 |
1.42 |
0.27 |
- |
facebook/musicgen-medium |
5.14 |
1.38 |
0.28 |
- |
facebook/musicgen-large |
5.48 |
1.37 |
0.28 |
- |
facebook/musicgen-melody |
4.93 |
1.41 |
0.27 |
0.44 |
制限とバイアス
- データ:モデルの訓練に使用されるデータソースは音楽専門家によって作成され、権利者との法的契約の対象となっています。モデルは20,000時間のデータで訓練されており、より大規模なデータセットでモデルを拡張することで、モデルの性能をさらに向上させることができると考えています。
- 軽減策:データソースからボーカルを対応するタグを使用して削除し、その後、最先端の音楽ソース分離方法であるオープンソースのHybrid Transformer for Music Source Separation (HT - Demucs)を使用しています。
- 制限:現実的なボーカルを生成できません。英語の記述で訓練されており、他の言語では性能が低下します。すべての音楽スタイルや文化に対して同等の性能を発揮しません。時々、曲の終わりを生成し、無音になることがあります。どのようなテキスト記述が最良の生成結果をもたらすかを判断するのが難しいことがあります。満足できる結果を得るには、プロンプトエンジニアリングが必要になることがあります。
- バイアス:データソースは多様性に欠ける可能性があり、すべての音楽文化がデータセットに平等に表されていません。モデルは存在する幅広い音楽ジャンルに対して同等の性能を発揮しない可能性があります。モデルから生成されるサンプルは、訓練データのバイアスを反映します。このモデルに関するさらなる研究では、例えば訓練データを多様で包括的なものに拡張することで、文化のバランスの取れた公正な表現方法を含める必要があります。
- リスクと害:モデルのバイアスと制限により、偏った、不適切な、または不快なサンプルが生成される可能性があります。研究を再現し、新しいモデルを訓練するためのコードを提供することで、新しい、より代表的なデータへの適用範囲を広げることができると考えています。
- 使用例:ユーザーはモデルのバイアス、制限、およびリスクを認識している必要があります。MusicGenは、制御可能な音楽生成に関する人工知能研究用に開発されたモデルです。そのため、リスクの調査と軽減策をさらに行わない限り、下流のアプリケーションで使用しないでください。
📄 ライセンス
コードはMITライセンスで公開され、モデルの重みはCC - BY - NC 4.0で公開されています。