MeloTTS.cpp 是一个轻量级的纯 C++ 文本转语音(Text-to-Speech,TTS)库,由 MyShell.ai 开发并发布。它基于 MeloTTS 项目,支持多种语言的语音合成,包括英语、中文(混合英语)以及即将支持的日语等。
MeloTTS.cpp 的技术架构主要包含以下三个模型:
BERT 模型:用于文本预处理,采用 bert-base-multilingual-uncased
(中文)或 bert-base-uncased
(英语)。
TTS 模型:负责将处理后的文本转换为语音。
DeepFilterNet 模型:用于去噪,特别是处理 int8 量化模型生成的背景噪声。
一、下载 OpenVINO™ GenAI C++ 包
Windows 系统:
1. 在命令提示符(cmd)中运行以下命令下载 OpenVINO™ GenAI C++ 包:
curl -O https://storage.openvinotoolkit.org/repositories/openvino_genai/packages/2025.1/windows/openvino_genai_windows_2025.1.0.0_x86_64.zip
tar -xzvf openvino_genai_windows_2025.1.0.0_x86_64.zip
Linux 系统:
1. 访问 OpenVINO 官方网站的 OpenVINO™ GenAI 包下载页面。
2. 下载适合您系统的 C++ 包,并解压该包。
二、安装 CMake
Windows 系统
1. 访问 CMake 官方下载页面,下载适合当前系统的安装程序
CMake 官方下载页面。
在安装选项中,建议勾选“Add CMake to system PATH for all users”或“Add CMake to system PATH for current user”,以便在命令行中直接使用 CMake。
2. 验证安装
打开命令提示符(cmd),输入以下命令验证 CMake 是否安装成功:
cmake --version
如果显示 CMake 的版本信息,则表示安装成功。
Linux 系统
1. 使用包管理器安装(适用于基于 Debian 的系统,如 Ubuntu)
打开终端,输入以下命令安装 CMake:
sudo apt update
sudo apt install cmake
2. 使用包管理器安装(适用于基于 Red Hat 的系统,如 CentOS 或 Fedora)
sudo yum install cmake # CentOS
sudo dnf install cmake # Fedora
三、克隆 MeloTTS.cpp 仓库
1. 安装 Git LFS(如果尚未安装):
git lfs install
2. 克隆 MeloTTS.cpp 仓库:
git clone https://github.com/apinge/MeloTTS.cpp.git
四、构建和运行项目
Windows 系统:
1. 打开命令提示符并设置 OpenVINO™ GenAI 环境变量(假设 `<OpenVINO_GenAI_DIR>` 是 OpenVINO™ GenAI 包的解压目录):
<OpenVINO_GenAI_DIR>setupvars.bat
2. 切换到 MeloTTS.cpp 仓库目录并构建项目:
cd MeloTTS.cpp
cmake -S . -B build && cmake --build build --config Release
3. 运行构建后的可执行文件:
.uildReleasemeloTTS_ov.exe --model_dir ov_models --input_file inputs_en.txt --output_filename audio
Linux 系统:
1. 打开终端并设置 OpenVINO™ GenAI 环境变量:
source <OpenVINO_GenAI_DIR>/setupvars.sh
2. 切换到 MeloTTS.cpp 仓库目录并构建项目:
cd MeloTTS.cpp
cmake -S . -B build && cmake --build build --config Release
3. 运行构建后的可执行文件:
./build/meloTTS_ov --model_dir ov_models --input_file inputs_en.txt --output_filename audio
五、启用或禁用 DeepFilterNet
DeepFilterNet 是用于从 int8 量化模型中过滤背景噪声的功能,该功能默认启用。如果希望禁用 DeepFilterNet,可以在 CMake 阶段使用以下选项:
cmake -S . -B build -DUSE_DEEPFILTERNET=OFF
六、参数说明
可以通过以下参数自定义运行脚本的行为:
--model_dir
: 指定包含模型文件、字典文件和第三方资源文件的目录,默认为仓库中的 ov_models
文件夹。
--tts_device
: 指定用于 TTS 模型的 OpenVINO 设备,默认为 CPU。
--bert_device
: 指定用于 BERT 模型的 OpenVINO 设备,默认为 CPU。
--nf_device
: 指定用于 DeepFilterNet 模型的 OpenVINO 设备,默认为 CPU。
--input_file
: 指定要处理的输入文本文件,确保文本为 UTF-8 格式。
--output_filename
: 指定生成的输出音频文件名,格式为 {output_filename}_{language_style}.wav
。
--speed
: 指定输出音频的速度,默认为 1.0。
--quantize
: 是否使用量化 TTS 模型,默认为 true
。
--disable_bert
: 是否禁用 BERT 模型推理,默认为 false
。
--disable_nf
: 是否禁用 DeepFilterNet 模型推理,默认为 false
。
--language
: 指定 TTS 的语言,默认为英语(EN
)。
七、NPU 设备支持
如果使用 NPU 作为推理设备,以下是启用该功能的方法:
1. 构建时,启用 BERT 模型的 NPU 支持:
cmake -DUSE_BERT_NPU=ON -B build -S .
2. 设置模型的设备参数:
buildReleasemeloTTS_ov.exe --bert_device NPU --nf_device NPU --model_dir ov_models --input_file inputs.txt --output_file audio.wav
八、支持的系统和版本
操作系统: Windows, Linux
CPU 架构: Meteor Lake, Lunar Lake, 以及大多数 Intel CPU
GPU 架构: Intel® Arc™ Graphics (Intel Xe, 包括 iGPU)
NPU 架构: NPU 4, 以及 Meteor Lake 或 Lunar Lake 中的 NPU
OpenVINO 版本: >=2024.4
C++ 版本: >=C++20
注意事项:如果使用的是 Windows 系统的 AI 笔记本电脑,通常 GPU 和 NPU 驱动程序已经预装。但对于 Linux 用户或希望更新到最新驱动程序的 Windows 用户,应遵循以下指南:
GPU: 如果使用 GPU,请参考 OpenVINO™ 的 Intel® 处理器图形配置 以安装 GPU 驱动程序。
NPU: 如果使用 NPU,请参考 NPU 设备文档 以确保 NPU 驱动程序正确安装。
暂无评论内容