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保持同步。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。