suno-ai/bark · 上手攻略

  • 仓库suno-ai/bark
  • 链接:https://github.com/suno-ai/bark
  • 分类:Text-to-Speech · Generative Audio
  • 作者:Tom
  • 更新:2026-08-17

是什么

Bark 是 Suno 出品的基于 Transformer 的文本到音频生成模型,可以生成高真实度的多语言语音、音乐、背景音和简单音效。模型还能生成非语言音频,如笑声、叹息声、哭声等。

与传统的 TTS(Text-to-Speech)不同,Bark 是完全生成式的文本到音频模型(类似 GPT 之于文本,而非拼接式 TTS),输入文字后不经过音素中介,直接转换为音频编码(Bark 使用 EnCodec 量化表示),再解码为 WAV。

2023 年 5 月从 CC BY-NC 4.0 改为 MIT 许可证,可免费商用


解决什么问题

传统 TTS 的局限: - 只能生成语音,无法生成音乐或音效 - 多数需要音素标注,多语言支持复杂 - 无法克隆自定义声音 - 商业使用有许可证限制

Bark 的能力: - 一句话生成音乐:用 ♪ 歌词 ♪ 包裹文字,直接生成歌曲 - 多语言自然切换:自动识别输入文字语言,支持 13 种语言 - 生成音效和背景音:无需分开制作 - 非语言声音:笑声、叹息等直接生成 - 商用免费:MIT 许可证,无商业限制


快速安装

方式一:Hugging Face Transformers(推荐,最简)

# 依赖 Transformers ≥ 4.31.0,先安装最新版
pip install git+https://github.com/huggingface/transformers.git

# Python 代码
from transformers import AutoProcessor, BarkModel

processor = AutoProcessor.from_pretrained("suno/bark")
model = BarkModel.from_pretrained("suno/bark")

# 选择语音预设(100+ 预设可选)
voice_preset = "v2/en_speaker_6"

inputs = processor("Hello, my dog is cute", voice_preset=voice_preset)
audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()

# 播放(在 Jupyter notebook)
from IPython.display import Audio
sample_rate = model.generation_config.sample_rate
Audio(audio_array, rate=sample_rate)

# 保存为 WAV
import scipy
scipy.io.wavfile.write("bark_out.wav", rate=sample_rate, data=audio_array)

⚠️ GPU 推荐:CPU 生成极慢(约 10x),有 NVIDIA GPU 建议配置 CUDA。

方式二:官方 bark 包(不推荐)

# ⚠️ 不要用 pip install bark!PyPI 上的 bark 包是第三方同名包,与 Suno 无关!
pip install git+https://github.com/suno-ai/bark.git
from bark import SAMPLE_RATE, generate_audio, preload_models
from scipy.io.wavfile import write as write_wav

# 下载并加载所有模型(约几 GB)
preload_models()

text_prompt = """
 Hello, my name is Suno. And, uh — and I like pizza.
 But I also have other interests such as playing tic tac toe.
"""
audio_array = generate_audio(text_prompt)
write_wav("bark_generation.wav", SAMPLE_RATE, audio_array)

方式三:CLI

# 需要先 pip install git+https://github.com/suno-ai/bark.git
python -m bark --text "Hello, my name is Suno." --output_filename "example.wav"

云端运行(无需本地 GPU)

  • Hugging Face Spaceshttps://huggingface.co/spaces/suno/bark(免费 GPU)
  • Replicatehttps://replicate.com/suno-ai/bark(按运行分钟计费,约 \$0.01/次)
  • Google Colab:官方提供了 notebook,直接运行即可

核心用法

多语言语音

# 韩语(自动识别)
text_ko = "추석은 내가 가장 좋아하는 명절이다. 나는 며칠 동안 휴식을 취하고 친구 및 가족과 시간을 보낼 수 있습니다."
audio_ko = generate_audio(text_ko)

# 德语+英语混用(会自动用对应语言口音)
text_mix = """
 Der Dreißigjährige Krieg (1618-1648) war ein verheerender Konflikt, der Europa stark geprägt hat.
 This is a beginning of the history. If you want to hear more, please continue.
"""
audio_mix = generate_audio(text_mix)

生成音乐

# 用音乐符号包裹歌词
text_music = "♪ In the jungle, the mighty jungle, the lion barks tonight ♪"
audio_music = generate_audio(text_music)

💡 技巧:Bark 可以将任意文字识别为音乐,但不一定每次都生成歌曲,加上♪符号能显著提高成功率。

生成带笑声/叹息等非语言声音

text_with_laugh = "Hello! That's really funny! [laughs] I can't believe it!"
audio_laugh = generate_audio(text_with_laugh)

长文本处理

默认 generate_audio 适合约 13 秒语音文本。更长文本参考官方 Notebook:

# 参考:notebooks/long_form_generation.ipynb
# 基本思路:分段生成,再拼接

选择不同语音预设

Bark 内置 100+ 语音预设,浏览:https://suno-ai.notion.site/8b8e8749ed514b0cbf3f699013548683

# 使用特定预设
audio = generate_audio(text, history_prompt="v2/en_speaker_1")  # 丝滑男声
audio2 = generate_audio(text, history_prompt="v2/en_speaker_6")  # 另一个音色

命令行批量生成

# 批量处理
for line in $(cat prompts.txt); do
  python -m bark --text "$line" --output_filename "output_$RANDOM.wav"
done

典型适用场景

场景 适合度 说明
AI 播客/有声书(多角色) ⭐⭐⭐⭐ 多预设+多语言,适合实验性内容
游戏配音(短音效/语音) ⭐⭐⭐ 生成 NPC 语音、音效
短视频配音 ⭐⭐⭐ 多语言+音乐,适合 TikTok/Reels
歌曲创作demo ⭐⭐⭐⭐ 一句话生成歌曲 demo
语音研究/实验 ⭐⭐⭐⭐ 开源+MIT,可自由研究
企业级语音播报 ⭐⭐ 非传统 TTS,输出不稳定,不适合精准信息播报
克隆特定人声 Bark 不支持声音克隆

坑与注意

  1. 不要用 pip install bark:PyPI 上的 bark 包是第三方同名包,与本项目无关,官方只有 git+https://github.com/suno-ai/bark.git 一种安装方式。
  2. 不是传统 TTS:Suno 官方明确警告,Bark 是完全生成式模型,可能产生与输入文本不符的意外输出,不适合做精确信息播报
  3. Bark 2023 年发布后活跃度有限:GitHub 更新频率较低,主流使用通过 Hugging Face Transformers(≥4.31.0)接入。
  4. 长文本需分批:默认 generate_audio 适合约 13 秒语音文本,更长文本需参考 Notebook 中的长文本生成示例。
  5. Hugging Face 包版本要求:Transformers ≥ 4.31.0 才支持 Bark,使用前确认版本。
  6. CPU 生成极慢:官方称 CPU 比 GPU 慢约 10 倍,有条件建议用 GPU。
  7. 语音克隆不支持:Bark 不支持自定义声音克隆,如有此需求看 Coqui TTS 或 Tortoise-TTS。
  8. 多语言质量参差:英语质量最佳,其他语言(尤其小语种)效果相对弱。

与同类对比

特性 Bark (Suno) Tortoise-TTS Coqui TTS Microsoft SpeechT5
开源协议 MIT(2023.5起) GPL-3.0 AGPL-3.0 MIT
商业可用 ⚠️(部分模型)
多语言 ✅ 13+ 语言 ✅ 更多
音乐/音效生成
语音克隆
本地运行 ✅(需 GPU)
Hugging Face 支持
非语言声音(笑声等) 有限
维护活跃度 中等 中等 中等

Bark 的独特优势:唯一开源且支持将任意文字(含歌词)直接生成音乐/音效的模型;多语言开箱即用;MIT 许可证商业可用。


一句话推荐结论

需要免费开源、多语言、支持语音+音乐一键生成的 TTS 方案,且不追求克隆特定人声 → 选 Bark(通过 Hugging Face Transformers 最简接入);追求极致语音质量或需要克隆 → Coqui TTS 或 Tortoise-TTS。