OpenVoiceV2本地部署教程,蘋果MacOs部署流程,聲音響度統一,文字轉語音,TTS

刘悦的技术博客發表於2024-05-10

最近OpenVoice專案更新了V2版本,新的模型對於中文推理更加友好,音色也得到了一定的提升,本次分享一下如何在蘋果的MacOs系統中本地部署OpenVoice的V2版本。

首先下載OpenVoiceV2的壓縮包:

OpenVoiceV2-for-mac程式碼和模型 https://pan.quark.cn/s/33dc06b46699

該版本針對MacOs系統做了一些最佳化,同時針對中文語音做了響度統一的修改。

解壓縮後,首先將專案目錄中的HF_HOME中的hub資料夾複製到當前系統的如下目錄:

/Users/當前使用者名稱/.cache/huggingface

這是huggingface模型在Mac系統的預設儲存路徑,如果不複製的話,需要從頭下載十幾個G的預訓練模型,非常麻煩。

隨後回到專案的根目錄,輸入命令:

conda create -n openvoice python=3.10

建立Python版本為3.10的虛擬環境,注意版本只能是3.10。

接著啟用虛擬環境:

conda activate openvoice

系統返回:

(base) ➜  OpenVoiceV2 git:(main) ✗ conda activate openvoice  
(openvoice) ➜  OpenVoiceV2 git:(main) ✗

說明啟用成功。

由於底層需要mecab,所以透過brew進行安裝:

brew install mecab

開始安裝依賴:

pip install -r requirements.txt

由於OpenVoice只負責音素的提取,轉換語音還需要tts支援,這裡底層依賴melo-tts模組。

進入Melo目錄:

(openvoice) ➜  OpenVoiceV2 git:(main) ✗ cd MeloTTS   
(openvoice) ➜  MeloTTS git:(main) ✗

安裝MeloTTS依賴:

pip install -e .

成功後,需要單獨下載字典檔案:

python -m unidic download

隨後回到根目錄,啟動專案即可:

python app.py

系統返回:

(openvoice) ➜  OpenVoiceV2 git:(main) ✗ python app.py   
Running on local URL:  http://0.0.0.0:7860  
IMPORTANT: You are using gradio version 3.48.0, however version 4.29.0 is available, please upgrade.  
--------  
  
To create a public link, set `share=True` in `launch()`.

至此,就完成了在MacOs中針對OpenVoice的部署。

結語

OpenVoice的一個突破性功能是其能夠進行zero-shot跨語言聲音克隆。它可以將聲音克隆到未包含在訓練資料集中的語言中,而無需為這些語言提供大量說話者的訓練資料。但事實上,與具有豐富標記資料的傳統監督學習相比,Zero-shot learning在未知類別上通常面臨較低的準確性,特別是在複雜類別上。依賴輔助資訊可能會引入噪聲和不準確性,所以,對於一些很特殊的音色,OpenVoice的效果並不好,必須針對底模進行微調才能夠解決此類問題。

相關文章