🚀 MusicGen - 立體聲 - 中等規模 - 1.5B
MusicGen是一個文本到音樂的模型,能夠根據文本描述或音頻提示生成高質量的音樂樣本。本項目進一步發佈了一組支持立體聲的模型,這些模型從單聲道模型開始進行了20萬次更新的微調,訓練數據與基礎模型相同,能力和侷限性也與基礎模型一致。
🚀 快速開始
你可以通過以下幾種方式體驗MusicGen:
- Audiocraft Colab:
- Hugging Face Colab:
- Hugging Face Demo:
✨ 主要特性
- 立體聲支持:能夠生成具有深度和方向感的立體聲音樂。
- 單階段自迴歸:不同於現有方法,MusicGen不需要自監督語義表示,且能一次生成所有4個碼本。
- 多模式支持:支持文本到音樂以及旋律引導的音樂生成。
📦 安裝指南
你可以使用🤗 Transformers庫在本地運行MusicGen立體聲模型。
- 首先安裝🤗 Transformers庫 和scipy:
pip install --upgrade pip
pip install --upgrade git+https://github.com/huggingface/transformers.git scipy
💻 使用示例
基礎用法
使用Text-to-Audio
(TTA)管道進行推理:
import torch
import soundfile as sf
from transformers import pipeline
synthesiser = pipeline("text-to-audio", "facebook/musicgen-stereo-medium", device="cuda:0", torch_dtype=torch.float16)
music = synthesiser("lo-fi music with a soothing melody", forward_params={"max_new_tokens": 256})
sf.write("musicgen_out.wav", music["audio"][0].T, music["sampling_rate"])
高級用法
使用Transformers建模代碼進行推理,實現更精細的控制:
from transformers import AutoProcessor, MusicgenForConditionalGeneration
processor = AutoProcessor.from_pretrained("facebook/musicgen-stereo-medium")
model = MusicgenForConditionalGeneration.from_pretrained("facebook/musicgen-stereo-medium").to("cuda")
inputs = processor(
text=["80s pop track with bassy drums and synth", "90s rock song with loud guitars and heavy drums"],
padding=True,
return_tensors="pt",
).to("cuda")
audio_values = model.generate(**inputs, max_new_tokens=256)
📚 詳細文檔
模型詳情
屬性 |
詳情 |
開發組織 |
Meta AI的FAIR團隊 |
模型日期 |
2023年4月至2023年5月訓練 |
模型版本 |
版本1 |
模型類型 |
由用於音頻標記化的EnCodec模型和基於Transformer架構的自迴歸語言模型組成,有不同大小和兩種變體 |
參考資料 |
Simple and Controllable Music Generation |
引用詳情 |
見文檔中的BibTeX引用 |
許可證 |
代碼採用MIT許可證,模型權重採用CC - BY - NC 4.0許可證 |
反饋渠道 |
通過Github倉庫或提交issue |
預期用途
- 主要用途:基於AI的音樂生成研究,包括探索和理解生成模型的侷限性,以及讓機器學習愛好者瞭解生成式AI模型的能力。
- 主要用戶:音頻、機器學習和人工智能領域的研究人員,以及希望更好理解這些模型的愛好者。
- 非預期用例:在未進行進一步風險評估和緩解的情況下,不應將模型用於下游應用;不應故意使用模型創建或傳播會給人帶來不良環境的音樂作品。
評估指標
- 客觀指標:使用Frechet音頻距離、Kullback - Leibler散度和CLAP分數進行評估。
- 主觀評估:通過人類參與者進行定性研究,評估音樂樣本的整體質量、與文本輸入的相關性以及旋律引導生成的音樂對旋律的遵循程度。
評估數據集
模型在MusicCaps基準和一個領域內保留評估集上進行評估,評估集與訓練集無藝術家重疊。
訓練數據集
模型在授權數據上進行訓練,數據來源包括Meta音樂倡議聲音集、Shutterstock音樂集和Pond5音樂集。
評估結果
在MusicCaps上發佈的模型獲得的客觀指標如下:
模型 |
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 |
侷限性和偏差
- 數據:訓練數據由音樂專業人士創建,模型在2萬小時的數據上訓練,擴大數據集可能會提高模型性能。
- 緩解措施:使用標籤和先進的音樂源分離方法去除數據源中的人聲。
- 侷限性:無法生成逼真的人聲;在非英語描述下表現不佳;對不同音樂風格和文化的表現不均;有時會生成無聲結尾;難以確定最佳文本描述。
- 偏差:數據源可能缺乏多樣性,模型生成的樣本會反映訓練數據的偏差。
- 風險和危害:模型的偏差和侷限性可能導致生成有偏差、不適當或冒犯性的樣本。
- 使用建議:用戶必須瞭解模型的偏差、侷限性和風險,在未進一步調查和緩解風險的情況下,不應將模型用於下游應用。
引用詳情
@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許可證。