🚀 Bark
Bark是由Suno創建的基於Transformer的文本轉音頻模型。Bark可以生成高度逼真的多語言語音以及其他音頻,包括音樂、背景噪音和簡單的音效。該模型還可以產生如大笑、嘆息和哭泣等非語言交流聲音。為了支持研究社區,我們提供了可用於推理的預訓練模型檢查點。
原始的GitHub倉庫和模型卡片可以在這裡找到。
此模型僅用於研究目的。模型輸出未經過審查,作者不認可生成內容中的觀點。使用風險自負。
已發佈兩個檢查點:
🚀 快速開始
你可以親自嘗試使用Bark!
- Bark Colab:
- Hugging Face Colab:
- Hugging Face演示:
✨ 主要特性
- 能夠生成高度逼真的多語言語音。
- 可以生成包括音樂、背景噪音和簡單音效在內的其他音頻。
- 支持產生非語言交流聲音。
📦 安裝指南
使用🤗 Transformers庫
你可以使用版本4.31.0及以上的🤗 Transformers庫在本地運行Bark。
- 首先從主分支安裝🤗 Transformers庫:
pip install git+https://github.com/huggingface/transformers.git
使用Suno的Bark庫
你也可以通過原始的Bark庫在本地運行Bark:
- 首先安裝
bark
庫
💻 使用示例
使用🤗 Transformers庫
運行以下Python代碼生成語音樣本:
from transformers import AutoProcessor, AutoModel
processor = AutoProcessor.from_pretrained("suno/bark-small")
model = AutoModel.from_pretrained("suno/bark-small")
inputs = processor(
text=["Hello, my name is Suno. And, uh — and I like pizza. [laughs] But I also have other interests such as playing tic tac toe."],
return_tensors="pt",
)
speech_values = model.generate(**inputs, do_sample=True)
在ipynb筆記本中收聽語音樣本:
from IPython.display import Audio
sampling_rate = model.generation_config.sample_rate
Audio(speech_values.cpu().numpy().squeeze(), rate=sampling_rate)
或者使用第三方庫(如scipy
)將其保存為.wav
文件:
import scipy
sampling_rate = model.config.sample_rate
scipy.io.wavfile.write("bark_out.wav", rate=sampling_rate, data=speech_values.cpu().numpy().squeeze())
更多關於使用🤗 Transformers庫進行Bark模型推理的詳細信息,請參考Bark文檔。
使用Suno的Bark庫
運行以下Python代碼:
from bark import SAMPLE_RATE, generate_audio, preload_models
from IPython.display import Audio
preload_models()
text_prompt = """
Hello, my name is Suno. And, uh — and I like pizza. [laughs]
But I also have other interests such as playing tic tac toe.
"""
speech_array = generate_audio(text_prompt)
Audio(speech_array, rate=SAMPLE_RATE)
pizza.webm
將audio_array
保存為WAV文件:
from scipy.io.wavfile import write as write_wav
write_wav("/path/to/audio.wav", SAMPLE_RATE, audio_array)
📚 詳細文檔
模型細節
以下是關於此處發佈的模型的額外信息。
Bark是一系列將文本轉換為音頻的三個Transformer模型。
文本到語義標記
語義標記到粗略標記
粗略標記到精細標記
- 輸入:EnCodec的前兩個碼本
- 輸出:EnCodec的8個碼本
架構
模型 |
參數 |
注意力機制 |
輸出詞彙表大小 |
文本到語義標記 |
80/300 M |
因果 |
10,000 |
語義標記到粗略標記 |
80/300 M |
因果 |
2x 1,024 |
粗略標記到精細標記 |
80/300 M |
非因果 |
6x 1,024 |
發佈日期
2023年4月
更廣泛的影響
我們預計該模型的文本轉音頻能力可用於改進多種語言的無障礙工具。
雖然我們希望此次發佈能讓用戶發揮創造力並構建有益的應用程序,但我們也承認任何文本轉音頻模型都有雙重用途的可能性。雖然使用Bark對已知人物進行語音克隆並不容易,但它仍可能被用於惡意目的。為了進一步降低Bark被意外使用的可能性,我們還發布了一個簡單的分類器,可高精度檢測Bark生成的音頻(見主倉庫的筆記本部分)。
📄 許可證
本項目採用CC BY-NC 4.0許可證。