前言#
本文簡單記錄介紹一下 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保持同步。