<英语| 简体中文| 繁体中文>
该存储库提供了Melotts的C ++实现,这是MyShell.ai发布的高质量的多语言文本到语音(TTS)库,该库支持英语,中文(与英语)和其他各种语言。该实现与OpenVino完全集成,支持CPU,GPU和NPU设备上的无缝部署。目前,该存储库仅支持中文与英语混合。接下来要支持英语模型。
管道设计在很大程度上与Orignal Pytorch版本一致,该版本包括三种型号(Bert,TTS和DeepFilternet),并添加了DeepFilternet作为附加组件。

bert-base-multilingual-uncased in Chinese和bert-base-uncased用于英语下表概述了每个模型的支持设备:
| 模型名称 | CPU支持 | GPU支持 | NPU支持 |
|---|---|---|---|
| 伯特(预处理) | ✅ | ✅ | ✅ |
| TTS(推理) | ✅ | ✅ | |
| DeepFilternet(后处理) | ✅ | ✅ | ✅ |
要下载Windows的OpenVino C ++软件包,请参阅以下链接:Windows安装OpenVino。对于Windows上的OpenVino 2024.5 ,您可以在命令提示符(CMD)中运行命令行。
curl -O https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.5/windows/w_openvino_toolkit_windows_2024.5.0.17288.7975fa5da0c_x86_64.zip --ssl-no-revoke
tar -xvf w_openvino_toolkit_windows_2024.5.0.17288.7975fa5da0c_x86_64.zip
对于Linux,您可以从此链接下载C ++软件包:for Linux安装OpenVino。对于Linux上的OpenVino 2024.5 ,只需从https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.5/linux下载它。
有关其他版本和有关OpenVino的更多信息,请访问官方的OpenVino Toolkit页面:OpenVino Toolkit概述。
git lfs install
git clone https://github.com/apinge/MeloTTS.cpp.git
<OpenVINO_DIR>setupvars.bat
cd MeloTTS.cpp
cmake -S . -B build && cmake --build build --config Release
.buildReleasemeloTTS_ov.exe --model_dir ov_models --input_file inputs.txt --output_file audio.wav
source <OpenVINO_DIR>/setupvars.sh
cd MeloTTS.cpp
cmake -S . -B build && cmake --build build --config Release
./build/meloTTS_ov --model_dir ov_models --input_file inputs.txt --output_file audio.wav
当前仅在Windows上支持DeepFilternet功能,并用于过滤INT8量化模型的噪声。默认情况下,它已启用,但是您可以在CMAKE阶段使用-DUSE_DEEPFILTERNET选项启用或禁用它。
例如,为了禁用该功能,您可以在CMAKE生成过程中使用以下行:
cmake -S . -B build -DUSE_DEEPFILTERNET=OFF
有关更多信息,请参阅deepfilternet.cpp。
您可以将run_tts.bat或run_tts.sh用作示例脚本来运行模型。以下是您可以与这些脚本一起使用的所有参数的含义:
--model_dir :指定包含模型文件,字典文件和第三方资源文件的文件夹,该文件是revo中的ov_models文件夹。您可能需要根据当前的工作目录调整相对路径。--tts_device :指定用于TTS模型的OpenVino设备。支持的设备包括CPU和GPU(默认:CPU)。--bert_device :指定用于BERT模型的OpenVino设备。支持的设备包括CPU,GPU和NPU(默认:CPU)。--nf_device :指定用于DeepFilternet模型的OpenVino设备。支持的设备包括CPU,GPU和NPU(默认:CPU)。--input_file :指定要处理的输入文本文件。确保文本为UTF-8格式。--output_file :指定要生成的输出 *WAV音频文件。--speed :指定输出音频的速度。默认值为1.0。--quantize :指示是否使用INT8量化模型。默认值是错误的,这意味着默认情况下使用FP16模型。--disable_bert :指示是否禁用BERT模型推断。默认值为false。--disable_nf :指示是否禁用DeepFilternet模型推理(默认值:false)。--language :指定TTS的语言。默认语言是中文( ZH )。 管道中的Bert和DeepFilternet模型利用Meteor Lake和Lunar Lake的综合NPU支持NPU作为推理装置。
以下是启用此功能和使用详细信息的方法:
-DUSE_BERT_NPU=ON 。例如: cmake -DUSE_BERT_NPU=ON -B build -S .--bert_device NPU作为BERT模型和--nf_device NPU分别为DeepFilternet模型。例如: buildReleasemeloTTS_ov.exe --bert_device NPU --nf_device NPU --model_dir ov_models --input_file inputs.txt --output_file audio.wav 如果您使用的是带有Windows的AI PC笔记本电脑,则通常会预装GPU和NPU驱动程序。但是,喜欢更新到最新驱动程序的Linux用户或Windows用户应遵循以下准则:
对于GPU :如果使用GPU,请参阅Intel®处理器图形(GPU)带有OpenVino™的配置,以安装GPU驱动程序。
对于NPU :如果使用NPU,请参阅NPU设备,以确保正确安装NPU驱动程序。
请注意,所有驱动程序在Windows和Linux之间都不同,因此请确保遵循特定操作系统的说明。
以下是计划发布的一些功能和改进:
添加英语TTS支持:
提高量化TTS模型的质量:
Melotts-ov提供了此存储库的Python版本(与OpenVino集成的Melotts)。 Python版本包括将模型转换为OpenVino IR的方法。
该存储库包括用于中文单词分割和拼音处理的第三方代码和库。