语音合成工具_bark
1 介绍
多语言的文字转语音模型。
地址: https://github.com/suno-ai/bark
2 模型原理
Bark 通过三个 Transformer 模型,将文本转换为音频。
2.1 文本到语义 Token
输入:由 Hugging Face 的 BERT 标记器分词的文本
输出:编码生成音频的语义 Token
2.2 语义到粗略 Token
输入:语义 Token
输出:来自 Facebook 的 EnCodec 编解码器的前两个 codebooks 的 Token
2.3 粗略到细节 Token
输入:EnCodec 的前两个 codebooks
输出:EnCodec 的 8 个 codebooks
3 使用方法
3.1 环境配置
1 | docker pull pytorch/pytorch:2.0.0-cuda11.7-cudnn8-runtime |
运行 docker
1 | nvidia-docker run -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all -p 8893:8888 -v /raid/:/opt/raid --gpus all --rm -it pytorch/pytorch:2.0.0-cuda11.7-cudnn8-runtime bash |
3.2 安装 bark
进入 docker 后:
1 | # 安装 bark |
3.3 测试
设置环境变量:
1 | import os |
合成语音:
1 | from bark import SAMPLE_RATE, generate_audio, preload_models |
4 用后感
- 试用 SMALL 版本,一共下载三个模型,大小分别是 1.1G,1.2G,2.5G,不是很大。
- 试用普通版本,一共下载三个模型,大小分别是 3.5G, 3.7G, 5.5G,运行时占 GPU 6G 左右。
- 小模型中英文都能合成人声,但听起来比较粗糙,普通模型比较清晰。流畅度还可以,对于中文的语调感觉不太好,无论模型大小均有此问题,有丢字,错误问题。
- 可以用提示指定男声或女声。
- 没看到论文,基本是现有技术的组合,结构类似 AudioLM。
5 参考资料
[语音合成最新技术分享]https://zhuanlan.zhihu.com/p/622980527
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.