Bark文本提示生成音频模型

联合创作 · 2023-09-29 20:27

Bark 是由 Suno 创建的基于转换器的文本到音频模型。Bark 可以生成高度逼真的多语言语音以及其他音频 - 包括音乐、背景噪音和简单的音效。该模型还可以产生非语言交流,如大笑、叹息和哭泣。为了支持研究社区,我们提供了对准备好进行推理的预训练模型检查点的访问。

Usage

from bark import SAMPLE_RATE, generate_audio
from IPython.display import Audio

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.
"""
audio_array = generate_audio(text_prompt)
Audio(audio_array, rate=SAMPLE_RATE)

Bark 支持开箱即用的各种语言,并自动根据输入文本确定语言。当提示使用代码转换文本时,Bark 甚至会尝试在同一声音中使用各种语言的本地口音。

text_prompt = """
    Buenos días Miguel. Tu colega piensa que tu alemán es extremadamente malo. 
    But I suppose your english isn't terrible.
"""
audio_array = generate_audio(text_prompt)

Bark 可以生成所有类型的音频,并且原则上看不出语音和音乐之间的区别。有时 Bark 选择将文本生成为音乐,但你可以通过在歌词周围添加音符来帮助它。

text_prompt = """
    ♪ In the jungle, the mighty jungle, the lion barks tonight ♪
"""
audio_array = generate_audio(text_prompt)

Bark 具有完全克隆声音的能力——包括音调、音调、情感和韵律。该模型还试图从输入音频中保留音乐、环境噪音等。但是,为了减少对这项技术的滥用,开发团队将音频历史提示限制为一组有限的 Suno 提供的、完全合成的选项,以供每种语言选择。指定以下模式:{lang_code}_speaker_{number}

text_prompt = """
    I have a silky smooth voice, and today I will tell you about 
    the exercise regimen of the common sloth.
"""
audio_array = generate_audio(text_prompt, history_prompt="en_speaker_1")

你可以提供特定的演讲者提示,例如旁白、男人、女人等。但这些提示并不总是被尊重的,尤其是在给出冲突的音频历史提示时。

text_prompt = """
    WOMAN: I would like an oatmilk latte please.
    MAN: Wow, that's expensive!
"""
audio_array = generate_audio(text_prompt)

Bark 已经过测试并适用于 CPU 和 GPU(pytorch 2.0+、CUDA 11.7 和 CUDA 12.0)。运行 Bark 需要运行 >100M 的参数转换器模型。在现代 GPU 和 PyTorch nightly 上,Bark 可以大致实时地生成音频。在较旧的 GPU、默认 colab 或 CPU 上,推理时间可能会慢 10-100 倍。

如果你没有可用的新硬件,或者如果想玩更大版本的模型,也可以在此处注册以抢先体验 model playground

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报