模型概述
模型特點
模型能力
使用案例
🚀 MusicGen - Melody - 1.5B
Audiocraft 為 MusicGen 提供了代碼和模型,MusicGen 是一個簡單且可控的音樂生成模型。該模型能夠有效解決音樂生成過程中的複雜控制問題,為音樂創作帶來了更便捷的方式,具有較高的應用價值。
🚀 快速開始
你可以親自嘗試使用 MusicGen:
-model = MusicGen.get_pretrained('melody') model.set_generation_params(duration=8) # 生成 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): # 將以 -14 db LUFS 進行響度歸一化,並保存為 {idx}.wav。 audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness")
## ✨ 主要特性
- Audiocraft 為 MusicGen 提供代碼和模型,MusicGen 是一個簡單且可控的音樂生成模型。
- MusicGen 是一個單階段自迴歸 Transformer 模型,基於 32kHz EnCodec 分詞器進行訓練,有 4 個碼本,採樣頻率為 50 Hz。
- 與 MusicLM 等現有方法不同,MusicGen 不需要自監督語義表示,並且可以一次性生成所有 4 個碼本。
- 通過在碼本之間引入小的延遲,可以並行預測碼本,因此每秒音頻僅需 50 個自迴歸步驟。
## 📚 詳細文檔
### 模型信息
- **開發組織**:Meta AI 的 FAIR 團隊。
- **模型日期**:MusicGen 於 2023 年 4 月至 5 月期間進行訓練。
- **模型版本**:這是模型的第 1 版。
- **模型類型**:MusicGen 由用於音頻分詞的 EnCodec 模型和基於 Transformer 架構的自迴歸語言模型組成,用於音樂建模。該模型有不同的大小:300M、1.5B 和 3.3B 參數;有兩個變體:一個用於文本到音樂生成任務的模型和一個用於旋律引導音樂生成的模型。
- **更多信息的論文或資源**:更多信息可在論文 [Simple and Controllable Music Generation](https://arxiv.org/abs/2306.05284) 中找到。
- **引用詳情**:
@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 倉庫](https://github.com/facebookresearch/audiocraft) 發送,或通過創建問題反饋。
### 預期用途
- **主要預期用途**:MusicGen 的主要用途是基於人工智能的音樂生成研究,包括:
- 研究工作,如探索和更好地理解生成模型的侷限性,以進一步推動科學發展。
- 由文本或旋律引導的音樂生成,供機器學習愛好者瞭解生成式人工智能模型的當前能力。
- **主要預期用戶**:該模型的主要預期用戶是音頻、機器學習和人工智能領域的研究人員,以及希望更好地瞭解這些模型的愛好者。
- **超出範圍的用例**:在沒有進一步的風險評估和緩解措施的情況下,該模型不應用於下游應用。該模型不應被用於故意創建或傳播會給人們造成敵對或疏離環境的音樂作品。這包括生成人們可預見會感到不安、痛苦或冒犯的音樂;或傳播歷史或當前刻板印象的內容。
### 指標
- **模型性能指標**:我們使用以下客觀指標在標準音樂基準上評估模型:
- 基於預訓練音頻分類器(VGGish)提取的特徵計算的 Frechet 音頻距離。
- 基於預訓練音頻分類器(PaSST)提取的標籤分佈計算的 Kullback - Leibler 散度。
- 基於預訓練 CLAP 模型提取的音頻嵌入和文本嵌入之間的 CLAP 分數。
此外,我們還進行了有人類參與者的定性研究,從以下幾個方面評估模型的性能:
- 音樂樣本的整體質量。
- 與提供的文本輸入的相關性。
- 旋律引導音樂生成中對旋律的遵循程度。
更多關於性能指標和人類研究的詳細信息可在論文中找到。
- **決策閾值**:不適用。
### 評估數據集
該模型在 [MusicCaps 基準](https://www.kaggle.com/datasets/googleai/musiccaps) 和一個領域內保留評估集上進行了評估,評估集與訓練集沒有藝術家重疊。
### 訓練數據集
該模型使用以下來源的許可數據進行訓練:[Meta Music Initiative Sound Collection](https://www.fb.com/sound)、[Shutterstock 音樂庫](https://www.shutterstock.com/music) 和 [Pond5 音樂庫](https://www.pond5.com/)。有關訓練集和相應預處理的更多詳細信息,請參閱論文。
### 評估結果
以下是發佈的模型在 MusicCaps 上獲得的客觀指標。請注意,對於公開發布的模型,我們讓所有數據集通過最先進的音樂源分離方法,即使用開源的 [Hybrid Transformer for Music Source Separation](https://github.com/facebookresearch/demucs) (HT - Demucs),以僅保留樂器部分。這解釋了與論文中使用的模型在客觀指標上的差異。
| 模型 | 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 小時的數據上進行訓練,我們認為在更大的數據集上擴展模型可以進一步提高模型的性能。
- **緩解措施**:使用相應的標籤從數據源中去除了人聲,然後使用最先進的音樂源分離方法,即使用開源的 [Hybrid Transformer for Music Source Separation](https://github.com/facebookresearch/demucs) (HT - Demucs)。
- **侷限性**:
- 該模型無法生成逼真的人聲。
- 該模型使用英文描述進行訓練,在其他語言中的表現不佳。
- 該模型在所有音樂風格和文化中的表現並不相同。
- 該模型有時會生成歌曲結尾,最終變為靜音。
- 有時很難評估哪種類型的文本描述能提供最佳的生成效果。可能需要進行提示工程才能獲得滿意的結果。
- **偏差**:數據源可能缺乏多樣性,所有音樂文化在數據集中的代表性並不相同。該模型在各種音樂流派中的表現可能不同。模型生成的樣本會反映訓練數據中的偏差。對該模型的進一步研究應包括平衡和公正地呈現各種文化的方法,例如,通過擴展訓練數據使其既多樣化又具有包容性。
- **風險和危害**:模型的偏差和侷限性可能導致生成被認為有偏差、不適當或冒犯性的樣本。我們認為提供重現研究和訓練新模型的代碼將有助於將應用擴展到新的、更具代表性的數據上。
- **使用場景**:用戶必須瞭解模型的偏差、侷限性和風險。MusicGen 是一個用於可控音樂生成的人工智能研究模型。因此,在沒有進一步調查和緩解風險的情況下,不應將其用於下游應用。
## 📄 許可證
代碼遵循 MIT 許可證發佈,模型權重遵循 CC - BY - NC 4.0 許可證發佈。







