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