🚀 MusicGen - 立體聲 - 旋律 - 15億參數模型
MusicGen是一個文本到音樂的模型,能夠根據文本描述或音頻提示生成高質量的音樂樣本。本項目進一步發佈了一組支持立體聲的模型,這些模型是從單聲道模型開始進行了200k次更新的微調。訓練數據與基礎模型相同,其能力和侷限性也與基礎模型一致。立體聲模型通過從EnCodec模型獲取2個令牌流,並使用延遲模式交錯這些令牌來工作。
🚀 快速開始
你可以通過以下方式體驗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 = ['歡快的搖滾', '充滿活力的電子舞曲', '悲傷的爵士']
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")
✨ 主要特性
- 高質量音樂生成:能夠根據文本描述或音頻提示生成高質量的音樂樣本。
- 單階段自迴歸模型:不同於現有方法,如MusicLM,MusicGen不需要自監督語義表示,並且可以一次性生成所有4個碼本。
- 支持立體聲:發佈了支持立體聲的模型,通過從EnCodec模型獲取2個令牌流並交錯來工作。
- 多模式生成:提供文本到音樂和旋律引導的音樂生成兩種模式。
📚 詳細文檔
模型詳情
屬性 |
詳情 |
開發組織 |
Meta AI的FAIR團隊 |
模型日期 |
2023年4月至2023年5月訓練 |
模型版本 |
版本1 |
模型類型 |
由用於音頻分詞的EnCodec模型和基於Transformer架構的自迴歸語言模型組成,有3億、15億和33億參數三種大小,以及文本到音樂生成和旋律引導音樂生成兩種變體 |
更多信息論文 |
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模型的當前能力。
- 主要預期用戶:音頻、機器學習和人工智能領域的研究人員,以及希望更好理解這些模型的愛好者。
- 超出範圍的用例:在沒有進一步風險評估和緩解措施的情況下,不應將該模型用於下游應用。不應使用該模型故意創建或傳播會給人們帶來敵對或疏離環境的音樂作品。
評估指標
- 模型性能指標:
- 使用預訓練音頻分類器(VGGish)提取的特徵計算Frechet音頻距離。
- 使用預訓練音頻分類器(PaSST)提取的標籤分佈計算Kullback - Leibler散度。
- 計算預訓練CLAP模型提取的音頻嵌入和文本嵌入之間的CLAP分數。
- 此外,還通過人類參與者進行定性研究,從音樂樣本的整體質量、與輸入文本的相關性、旋律引導音樂生成中對旋律的遵循度等方面評估模型性能。
- 決策閾值:不適用。
評估數據集
模型在MusicCaps基準和一個域內保留評估集上進行評估,評估集與訓練集沒有藝術家重疊。
訓練數據集
模型使用以下來源的許可數據進行訓練:Meta音樂倡議聲音集、Shutterstock音樂集和Pond5音樂集。
評估結果
模型 |
Frechet音頻距離 |
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 |
更多關於性能指標和人類研究的詳細信息可以在論文中找到。
侷限性和偏差
- 數據方面:用於訓練模型的數據源由音樂專業人士創建,並與版權持有者簽訂了法律協議。模型在20000小時的數據上進行訓練,擴大訓練數據規模可能會進一步提高模型性能。
- 緩解措施:使用相應標籤從數據源中去除了人聲,然後使用最先進的音樂源分離方法,即開源的音樂源分離混合Transformer(HT - Demucs)。
- 侷限性:
- 模型無法生成逼真的人聲。
- 模型使用英語描述進行訓練,在其他語言中的表現不佳。
- 模型在所有音樂風格和文化中的表現不一致。
- 模型有時會生成歌曲結尾並陷入沉默。
- 有時很難確定哪種文本描述能產生最佳的生成效果,可能需要進行提示工程以獲得滿意的結果。
- 偏差:數據源可能缺乏多樣性,並非所有音樂文化都在數據集中得到平等體現。模型生成的樣本會反映訓練數據中的偏差。未來的工作應包括採用平衡和公正的文化表示方法,例如擴大訓練數據的多樣性和包容性。
- 風險和危害:模型的偏差和侷限性可能導致生成被認為有偏差、不適當或冒犯性的樣本。提供代碼以重現研究和訓練新模型將有助於將應用擴展到更新、更具代表性的數據上。
- 使用案例:用戶必須瞭解模型的偏差、侷限性和風險。MusicGen是為可控音樂生成的人工智能研究而開發的模型,在沒有進一步調查和風險緩解的情況下,不應將其用於下游應用。
📄 許可證
本項目代碼採用MIT許可證發佈,模型權重採用CC - BY - NC 4.0許可證發佈。