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

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