🚀 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许可证。