banner
hughie

hughie

热爱技术的小菜鸟, 记录一下所学所感

bark-生成高度逼真的多语言语音以及音效

前言#

​ 本文简单记录介绍一下 bark。

​ 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_generation1.wav

这样的:

bark_generation2.wav
bark_generation2.wav

还有这样的:

bark_generation3.wav
bark_generation3.wav

四、总结#

说实话,效果不错,bark 与传统 TTS 的区别在于 TTS 是忠于输入的,完全文本到音频的转换,而 bark 是生成音频,可能会有脑补或自行修改的情况发生,对于严谨的场合最好不要使用。

bark 可以根据文本自动检测语言并生成,还支持很多音效,音乐等生成,其中英文是效果最好的,中文生成后一股歪果仁说汉语的调调😂,需要使用更多中文预料微调。


最后#

参考文章:

官方项目


声明#

本文仅作为个人学习记录。

本文与hblog保持同步。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。