前言#
本文简单记录介绍一下 bark。
bark 是一个文本提示生成音频模型。可以提供高质量的语音合成服务,需要用户提供文本,并选择所需的声音和音效,即可生成符合要求的音频文件。
正文#
一、什么是 bark#
二、bark 功能#
Bark 可以生成高度逼真的多语言语音以及其他音频,包括音乐、背景噪音和简单的音效,非语言交流,如大笑、叹息和哭泣。
三、bark 使用#
手动在官方提供的model_zoo处下载模型参数,如果让脚本自动下载速度比较慢,其中后缀为_2
的是大规格的模型,不带后缀的是 small 模型。
安装好项目文件,项目环境推荐是 Torch2.0+,在 1.12 上也能顺利运行,需要如果本地已经安装了非 2.0 + 版本的 Torch,安装项目时会自动安装最新的 Torchaudio,导致无法运行,所以需要手动安装对应版本。
安装好后可以使用以下代码运行测试:
from bark import SAMPLE_RATE, generate_audio, preload_models
from scipy.io.wavfile import write as write_wav
#from IPython.display import Audio
# download and load all models
preload_models()
# generate audio from text
# 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.
# """
text_prompt = """
[MAN]大家好,我是人工智障250,请多指教! [clears throat]
[WOMAN]骗你们的,其实我是练习时长两天半的tom CAT.
"""
audio_array = generate_audio(text_prompt)
# save audio to disk
write_wav("bark_generation.wav", SAMPLE_RATE, audio_array)
# play text in notebook
#Audio(audio_array, rate=SAMPLE_RATE)
得到的音频文件是这样的:
bark_generation1.wav
这样的:
bark_generation2.wav
还有这样的:
bark_generation3.wav
四、总结#
说实话,效果不错,bark 与传统 TTS 的区别在于 TTS 是忠于输入的,完全文本到音频的转换,而 bark 是生成音频,可能会有脑补或自行修改的情况发生,对于严谨的场合最好不要使用。
bark 可以根据文本自动检测语言并生成,还支持很多音效,音乐等生成,其中英文是效果最好的,中文生成后一股歪果仁说汉语的调调😂,需要使用更多中文预料微调。
最后#
参考文章:
声明#
本文仅作为个人学习记录。
本文与hblog保持同步。