🚀 Tango 2:通過直接偏好優化對齊基於擴散的文本到音頻生成模型
🎵 我們在 Tango 的基礎上開發了 Tango 2,用於文本到音頻的生成。Tango 2 以 Tango-full-ft 檢查點進行初始化,並在音頻偏好數據集 audio-alpaca 上使用直接偏好優化(DPO)進行對齊訓練。🎶
閱讀論文
🚀 快速開始
下載 Tango 2 模型,並根據文本提示生成音頻:
import IPython
import soundfile as sf
from tango import Tango
tango = Tango("declare-lab/tango2")
prompt = "An audience cheering and clapping"
audio = tango.generate(prompt)
sf.write(f"{prompt}.wav", audio, samplerate=16000)
IPython.display.Audio(data=audio, rate=16000)
模型將自動下載並保存到緩存中。後續運行將直接從緩存中加載模型。
generate
函數默認使用 100 步從潛在擴散模型中採樣。我們建議使用 200 步來生成更高質量的音頻,但這會增加運行時間。
prompt = "Rolling thunder with lightning strikes"
audio = tango.generate(prompt, steps=200)
IPython.display.Audio(data=audio, rate=16000)
使用 generate_for_batch
函數為一批文本提示生成多個音頻樣本:
prompts = [
"A car engine revving",
"A dog barks and rustles with some clicking",
"Water flowing and trickling"
]
audios = tango.generate_for_batch(prompts, samples=2)
這將為三個文本提示中的每個提示生成兩個樣本。
💻 使用示例
基礎用法
import IPython
import soundfile as sf
from tango import Tango
tango = Tango("declare-lab/tango2")
prompt = "An audience cheering and clapping"
audio = tango.generate(prompt)
sf.write(f"{prompt}.wav", audio, samplerate=16000)
IPython.display.Audio(data=audio, rate=16000)
高級用法
prompt = "Rolling thunder with lightning strikes"
audio = tango.generate(prompt, steps=200)
IPython.display.Audio(data=audio, rate=16000)
prompts = [
"A car engine revving",
"A dog barks and rustles with some clicking",
"Water flowing and trickling"
]
audios = tango.generate_for_batch(prompts, samples=2)
📚 詳細文檔
我們的代碼發佈在此處:https://github.com/declare-lab/tango
請按照倉庫中的說明進行安裝、使用和實驗。
📄 許可證
本項目採用 CC BY-NC-SA 4.0 許可證。
📦 相關信息
屬性 |
詳情 |
模型類型 |
文本到音頻生成模型 |
訓練數據 |
bjoernp/AudioCaps、declare-lab/audio_alpaca |
標籤 |
文本到音頻 |
管道標籤 |
文本到音頻 |