モデル概要
モデル特徴
モデル能力
使用事例
🚀 MusicGen - Melody - Large 3.3B
MusicGenは、テキスト記述またはオーディオプロンプトを条件として、高品質な音楽サンプルを生成できるテキストから音楽への変換モデルです。このモデルは、32kHzのEnCodecトークナイザーを使用し、50Hzでサンプリングされた4つのコードブックを用いて訓練された単一ステージの自己回帰型Transformerモデルです。MusicLMなどの既存の方法とは異なり、MusicGenは自己教師付きの意味表現を必要とせず、一度にすべての4つのコードブックを生成します。コードブック間に小さな遅延を導入することで、並列に予測できるため、1秒あたり50回の自己回帰ステップだけで済みます。
MusicGenは、Jade Copet, Felix Kreuk, Itai Gat, Tal Remez, David Kant, Gabriel Synnaeve, Yossi Adi, Alexandre DéfossezによるSimple and Controllable Music Generationで発表されました。
私たちは、シンプルなAPIと10種類の事前学習済みモデルを提供しています。事前学習済みモデルは以下の通りです。
facebook/musicgen-small
:300Mモデル、テキストから音楽のみ - 🤗 Hubfacebook/musicgen-medium
:1.5Bモデル、テキストから音楽のみ - 🤗 Hubfacebook/musicgen-melody
:1.5Bモデル、テキストから音楽およびテキスト+メロディから音楽 - 🤗 Hubfacebook/musicgen-large
:3.3Bモデル、テキストから音楽のみ - 🤗 Hubfacebook/musicgen-melody-large
:3.3Bモデル、テキストから音楽およびテキスト+メロディから音楽 - 🤗 Hubfacebook/musicgen-stereo-*
:ステレオ生成用に微調整された上記のすべてのモデル - small、 medium、 large、 melody、 melody large
🚀 クイックスタート
MusicGenを自分で試してみましょう!
- 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) # generate 8 seconds.
descriptions = ['happy rock', 'energetic EDM', 'sad jazz']
melody, sr = torchaudio.load('./assets/bach.mp3')
# generates using the melody from the given audio and the provided descriptions.
wav = model.generate_with_chroma(descriptions, melody[None].expand(3, -1, -1), sr)
for idx, one_wav in enumerate(wav):
# Will save under {idx}.wav, with loudness normalization at -14 db LUFS.
audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
✨ 主な機能
MusicGenは、テキスト記述またはオーディオプロンプトを条件として、高品質な音楽サンプルを生成できるテキストから音楽への変換モデルです。このモデルは、32kHzのEnCodecトークナイザーを使用し、50Hzでサンプリングされた4つのコードブックを用いて訓練された単一ステージの自己回帰型Transformerモデルです。MusicLMなどの既存の方法とは異なり、MusicGenは自己教師付きの意味表現を必要とせず、一度にすべての4つのコードブックを生成します。コードブック間に小さな遅延を導入することで、並列に予測できるため、1秒あたり50回の自己回帰ステップだけで済みます。
📦 インストール
- まず、
audiocraft
ライブラリをインストールします。
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) # generate 8 seconds.
descriptions = ['happy rock', 'energetic EDM', 'sad jazz']
melody, sr = torchaudio.load('./assets/bach.mp3')
# generates using the melody from the given audio and the provided descriptions.
wav = model.generate_with_chroma(descriptions, melody[None].expand(3, -1, -1), sr)
for idx, one_wav in enumerate(wav):
# Will save under {idx}.wav, with loudness normalization at -14 db LUFS.
audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
📚 ドキュメント
モデル詳細
属性 | 详情 |
---|---|
開発組織 | Meta AIのFAIRチーム |
モデル日付 | 2023年4月から5月の間に訓練されました。 |
モデルバージョン | モデルのバージョン1です。 |
モデルタイプ | MusicGenは、音声トークン化用のEnCodecモデルと、音楽モデリング用のTransformerアーキテクチャに基づく自己回帰型言語モデルで構成されています。モデルには、300M、1.5B、3.3Bのパラメータサイズがあり、2つのバリエーションがあります。1つはテキストから音楽の生成タスク用に訓練されたモデル、もう1つはメロディガイド付きの音楽生成用に訓練されたモデルです。 |
詳細情報の論文またはリソース | 詳細情報は、論文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で公開されています。 | | モデルに関する質問やコメントの送信先 | MusicGenに関する質問やコメントは、プロジェクトのGithubリポジトリを通じて、またはissueを開くことで送信できます。 |
想定使用方法
- 主な想定使用方法:MusicGenの主な使用方法は、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 |
性能評価の詳細については、論文Simple and Controllable Music GenerationのResultsセクションを参照してください。
制限事項とバイアス
- データ:モデルの訓練に使用されるデータソースは、音楽専門家によって作成され、権利所有者との法的契約の対象となっています。モデルは20,000時間のデータで訓練されており、より大きなデータセットでモデルを拡張することで、モデルの性能をさらに向上させることができると考えています。
- 軽減策:データソースからは、対応するタグを使用してボーカルを削除し、その後、最先端の音楽ソース分離方法、具体的にはオープンソースのHybrid Transformer for Music Source Separation (HT - Demucs)を使用して処理しました。
- 制限事項:
- モデルは、リアルなボーカルを生成することができません。
- モデルは英語の記述で訓練されており、他の言語では性能が低下します。
- モデルは、すべての音楽スタイルや文化に対して同等の性能を発揮しません。
- モデルは、時々曲の終わりを生成し、無音になってしまいます。
- どのようなタイプのテキスト記述が最良の生成結果をもたらすかを評価することは、時々困難です。満足のいく結果を得るためには、プロンプトエンジニアリングが必要になる場合があります。
- バイアス:データソースは多様性に欠ける可能性があり、すべての音楽文化がデータセットに均等に表されているわけではありません。モデルは、存在する幅広い音楽ジャンルに対して同等の性能を発揮しない可能性があります。モデルから生成されるサンプルは、訓練データのバイアスを反映します。このモデルに関する今後の作業では、例えば訓練データを多様で包括的なものに拡張することで、文化のバランスの取れた公正な表現方法を含める必要があります。
- リスクと害:モデルのバイアスと制限事項により、偏見がある、不適切な、または不快なと感じられるサンプルが生成される可能性があります。私たちは、研究を再現し、新しいモデルを訓練するためのコードを提供することで、より代表的な新しいデータへの適用範囲を広げることができると考えています。
- 使用例:ユーザーは、モデルのバイアス、制限事項、およびリスクを認識している必要があります。MusicGenは、制御可能な音楽生成に関する人工知能研究用に開発されたモデルです。したがって、リスクのさらなる調査と軽減策を行わずに下流のアプリケーションで使用してはなりません。







