<英語| 簡體中文| 繁體中文>
該存儲庫提供了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的方法。
該存儲庫包括用於中文單詞分割和拼音處理的第三方代碼和庫。