EchoraEchora
返回模型列表

Bark:把语音只当作众多声音之一的模型

2026年8月31日
•
7 分钟阅读

把文字和录音,做成能听的作品

配音、分轨、翻唱和音效,都在浏览器里完成。

  • 文字转语音,也能克隆音色
  • 分离音轨,或直接生成翻唱
  • 注册就能试听,先听再决定
免费开始创作

让大多数 TTS 模型生成一声笑,你得到的要么是沉默,要么像是从音效库里粗糙拼接进来的声音。Suno 的开源模型 Bark 采用了不同的处理方式,因为它从一开始就不是一款狭义的文本转语音引擎——它是一款生成式文本转音频模型,而语音只是它恰好擅长生成的声音之一。在句子里加入 [laughs],Bark 就会像生成前后文字一样,在语境中亲自演绎这声笑。

Bark 是什么?

Bark 是 Suno 创建、采用 MIT 许可证发布的基于 Transformer 的生成式音频模型。它并不遵循传统 TTS 的流程——从文本到音素,再到声学特征,最后到波形——而更像一个碰巧输出音频 token 而不是文本 token 的语言模型。它通过三阶段自回归流程,将书面提示直接转换为 24kHz 波形:先生成表示预期内容的语义 token,再生成粗粒度声学 token,最后生成细粒度声学 token,底层音频 token 化使用 Meta 的 EnCodec。整个过程完全没有音素转换步骤——文本输入后,越来越细致的音频表示端到端地输出。

方括号标签:笑声和叹气究竟如何工作

这是 Bark 最具代表性的功能,而且确实很容易使用。只要把标签直接插入输入文本,就能触发非语言声音和情绪提示:[laughter]、[sighs]、[gasps] 以及类似标记会让模型在句子的对应位置生成该声音,由当前正在说话的声音亲自演绎,而不是作为独立音频片段插入。除方括号标签外,Bark 也会把普通格式当作表达提示——把某个词写成全大写会促使模型加重语气,在句末用“...”收尾则会产生自然的迟疑感,两种效果都不需要专门的参数。

不只是语音

因为 Bark 生成的是广义音频,而不只是语音,所以它还能直接根据文本提示生成简单的音乐、背景环境声和基础音效——这些能力完全超出了专用 TTS 模型的设计范围。它支持十多种语言,并能自然地进行语码转换,也就是说,脚本在一句话中途切换语言时不需要分别发起生成调用;它还内置了一系列覆盖不同声音风格的说话人预设,而不是只有一种默认声音。

Bark 做不到什么(开始前请先阅读)

有几项实际限制值得提前了解,因为它们决定了 Bark 真正适合做什么:

它主要不是一款声音克隆模型。 与大多数以克隆为重点的系统不同,Bark 的标准工作流围绕其内置说话人预设构建,而不是根据短音频片段复现任意参考声音——如果你的核心需求是克隆某个特定人物的声音,专门为此设计的模型会更适合。

输出真的可能出乎意料。 Bark 是完全生成式模型,而不是受到严格约束的 TTS 系统,因此它偶尔会以意想不到的方式偏离输入提示——跳过某个短语、加入未要求的声音,或者没有逐字说出你输入的内容。这是架构本身的特性,不是能通过配置消除的 bug。

它速度较慢,而且单次生成长度有限。 Bark 的自回归流程意味着,即使在 GPU 上,生成一个句子通常也需要 5 到 15 秒;每次生成调用还被限制在大约 13-14 秒的音频——更长的内容需要拆成多次调用,无法一次生成完毕。

Bark 入门

  1. 通过 pip 安装或克隆代码仓库。 使用 pip install git+https://github.com/suno-ai/bark.git 可以快速开始;如果你想查看或修改代码,也可以直接克隆仓库。
  2. 检查 PyTorch 和 CUDA 版本。 Bark 需要 PyTorch 2.0 或更高版本;如果使用 GPU 运行,则需支持 CUDA 11.7 或 12.0。
  3. 显存有限时使用小模型变体。 加载模型前设置环境变量 SUNO_USE_SMALL_MODELS=True,即可让 Bark 在大约 8GB 显存上运行,但输出质量会有所降低。
  4. 在提示词中直接写入标签。 一次基础生成只需几行代码:加载模型,传入包含所需方括号标签的文本字符串,再写出生成的波形——非语言提示本身无需单独配置。
  5. 把较长的脚本拆成多次生成。 考虑到每次调用大约 13-14 秒的限制,应把较长旁白拆成句子或段落大小的片段,再拼接生成的音频,不要期待一次调用处理完整的长段落。
  6. 如果不想使用独立仓库,可以尝试 Hugging Face Transformers 集成。 从 4.31.0 版本开始,Transformers 已支持 Bark;如果项目本来就依赖该库,这种方式可以简化集成。

获得更好效果的技巧

  • 少量使用标签,并确保符合语境。 在脚本中真正好笑的内容后加入 [laughs] 会显得自然;到处散布非语言标签会削弱效果,让表达听起来像照本宣科,而不是自然反应。
  • 先测试预设说话人,再判断是否需要自定义声音。 Bark 并非围绕零样本克隆构建,因此先浏览其内置说话人预设,通常比强行把任意参考声音塞进流程更快。
  • 重新生成,不必和不可预测的输出较劲。 鉴于 Bark 的生成式特性,偶尔出现异常结果时,直接用相同提示重新生成,往往比试图只靠提示工程提前阻止问题更快。
  • 从一开始就为单次调用的长度限制做好规划。 提前把脚本整理成自然片段,比写完一整篇长稿后才在项目中途发现长度上限更能避免返工。
  • 把它用在表达力比精确度更重要的地方。 角色配音、动画内容和创意音频项目最能体现 Bark 的非语言表现范围——对于精确、可预测的旁白,更传统的 TTS 模型可能更合适。

Bark 与其他表达性 TTS 模型对比

BarkChatterboxCosyVoice3
核心用途生成式文本转音频带情绪控制的声音克隆支持方言的多语言克隆
非语言声音原生方括号标签,另支持音乐/音效副语言标签(Turbo 变体)并非专用功能
声音克隆不是主要工作流是,零样本是,零样本
输出可预测性可能偏离提示更一致更一致
语言13+英语(Multilingual:23)9 种语言 + 18 种中文方言
许可证MITMIT开放,提供托管 API

Bark 的独特定位是表达性强、以角色为中心的音频;在这类音频中,笑声、叹气和语调变化比复现某个特定人物的声音更重要——针对这项工作,很少有开源模型能像它一样自然地生成非语言声音。

常见问题

如何让 Bark 生成笑声或叹气?

在希望声音出现的位置,直接在输入文本中插入 [laughter] 或 [sighs] 等方括号标签——Bark 会用当前说话人的声音进行演绎,无需额外添加独立音效。

Bark 可以克隆某个特定人物的声音吗?

这不是它的主要设计。Bark 围绕一组预设声音构建,而不是根据参考片段进行零样本克隆——如果要克隆某个真实人物的特定声音,专用克隆模型更合适。

Bark 可以免费用于商业用途吗?

可以。Bark 采用 MIT 许可证发布,允许商业使用,无需支付版税或另行签订许可协议。

为什么 Bark 有时生成的内容和我输入的不一样?

Bark 是完全生成式音频模型,而不是受限的 TTS 系统,因此它偶尔会偏离准确提示——这是其架构的已知特性,而不是配置问题。

Bark 单次生成可以有多长?

每次生成调用限制在大约 13-14 秒的音频;更长的内容需要拆成多个片段,分别生成。

在浏览器中把文字转换为语音

如果你希望完成相近的“文字 → 单人语音”流程,可以使用 Echora 的文字转语音。输入最多 5,000 个字符,选择内置音色或已保存的自定义音色,按需添加支持的表达标签并调整语音稳定度,然后试听结果并下载生成的 MP3。

开始生成语音 →