<Английский | 简体中文 | 繁體中文>
Этот репозиторий предлагает реализацию C ++ Melotts, которая представляет собой высокоязычную многоязычную библиотеку текста в речь (TTS), выпущенная MyShell.ai, которая поддерживает английский, китайский (смешанный с английским) и различные другие языки. Эта реализация полностью интегрирована с OpenVino, поддерживая бесшовное развертывание на устройствах процессора, GPU и NPU. В настоящее время этот репозиторий поддерживает только китайский, смешанный с английским языком. Поддержка английской модели будет следующей.
Конструкция трубопровода в значительной степени согласуется с версией orignal pytorch, включающей три модели (BERT, TTS и DeepFilternet), при этом DeepFilternet добавлен в качестве дополнительного компонента.

bert-base-multilingual-uncased для китайского и bert-base-uncased для английского языкаВ таблице ниже описываются поддерживаемые устройства для каждой модели:
| Название модели | Поддержка процессора | Поддержка графического процессора | NPU поддержка |
|---|---|---|---|
| Берт (предварительная обработка) | ✅ | ✅ | ✅ |
| TTS (вывод) | ✅ | ✅ | |
| DeepFilternet (после обработки) | ✅ | ✅ | ✅ |
Чтобы загрузить пакет OpenVino C ++ для Windows, обратитесь к следующей ссылке: Установите OpenVino для Windows. Для OpenVino 2024.5 в Windows вы можете запустить командную строку в командной строке (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 ++ по этой ссылке: Установите OpenVino для Linux. Для OpenVino 2024.5 на Linux просто загрузите его с https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.5/linux и не растится в пакет.
Для получения дополнительной версии и дополнительной информации о OpenVino посетите официальную страницу Toolkit OpenVino: Обзор инструментов OpenVino.
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
Функциональность DeepFilternet в настоящее время поддерживается только в Windows и используется для фильтрации шума из квантовых моделей Int8. По умолчанию это включено, но вы можете включить или отключить его во время стадии Cmake, используя опцию -DUSE_DEEPFILTERNET .
Например, чтобы отключить эту функцию, вы можете использовать следующую линию во время процесса генерации Cmake:
cmake -S . -B build -DUSE_DEEPFILTERNET=OFF
Для получения дополнительной информации, пожалуйста, обратитесь к DeepFilternet.cpp.
Вы можете использовать run_tts.bat или run_tts.sh в качестве образцов сценариев для запуска моделей. Ниже приведены значения всех аргументов, которые вы можете использовать с этими сценариями:
--model_dir : указывает папку, содержащую файлы модели, файлы словаря и сторонние файлы ресурсов, которая представляет собой папку ov_models в репо. Возможно, вам потребуется скорректировать относительный путь на основе вашего текущего рабочего каталога.--tts_device : указывает устройство OpenVino, которое будет использоваться для модели TTS. Поддерживаемые устройства включают процессор и графический процессор (по умолчанию: процессор).--bert_device : указывает устройство OpenVino, которое будет использоваться для модели BERT. Поддерживаемые устройства включают процессор, GPU и NPU (по умолчанию: ЦП).--nf_device : указывает устройство OpenVino, которое будет использоваться для модели DeepFilternet. Поддерживаемые устройства включают процессор, GPU и NPU (по умолчанию: ЦП).--input_file : определяет входной текстовый файл, который будет обработан. Убедитесь, что текст находится в формате UTF-8 .--output_file : указывает вывод *.--speed : указывает скорость выходного аудио. По умолчанию 1,0.--quantize : указывает, использовать ли квантованная модель Int8. По умолчанию неверно, то есть модель FP16 используется по умолчанию.--disable_bert : указывает, следует ли отключить вывод модели BERT. По умолчанию ложь.--disable_nf : указывает, следует ли отключить вывод модели DeepFilternet (по умолчанию: false).--language : указывает язык для TTS. Язык по умолчанию - китайский ( ZH ). Модели BERT и DeepFilternet в NPU поддерживают устройства вывода, используя интегрированные NPU в Метеорском озере и Лунном озере.
Ниже приведены методы для включения этой функции и детали использования:
-DUSE_BERT_NPU=ON требуется во время генерации Cmake. Например: 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 Если вы используете ноутбук AI с Windows, драйверы GPU и NPU обычно предварительно установлены. Тем не менее, пользователи Linux или пользователи Windows, которые предпочитают обновляться до последних драйверов, должны следовать указаниям ниже:
Для GPU : при использовании GPU, пожалуйста, обратитесь к конфигурациям для процессора Intel® Processor Graphics (GPU) с OpenVino ™ для установки драйвера GPU.
Для NPU : при использовании NPU, пожалуйста, обратитесь к устройству NPU, чтобы убедиться, что драйвер NPU правильно установлен.
Обратите внимание, что все драйверы отличаются между Windows и Linux, поэтому обязательно следуйте инструкциям для вашей конкретной операционной системы.
Вот некоторые функции и улучшения, запланированные для будущих выпусков:
Добавить поддержку TTS на английском языке :
Повышение качества в квантованных моделях TTS :
Версия этого репозитория Python (Melotts, интегрированная с OpenVino), представлена в Melotts-OV. Версия Python включает в себя методы преобразования модели в OpenVino IR.
Этот репозиторий включает в себя сторонний код и библиотеки для сегментации китайской слов и обработки пиньина.