OpenVoiceV2本地部署教程,苹果MacOs部署流程,声音响度统一,文字转语音,TTS

最近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的效果并不好,必须针对底模进行微调才能够解决此类问题。