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