最近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的效果並不好,必須針對底模進行微調才能夠解決此類問題。