<영어 | 简体中文 | 繁體中文>
이 저장소는 Myshell.ai가 출시 한 고품질의 다국어 텍스트-음성 (TTS) 라이브러리 인 Melotts의 C ++ 구현을 제공합니다. 영어, 중국어 (영어와 혼합) 및 기타 다양한 언어를 지원합니다. 이 구현은 OpenVino와 완전히 통합되어 CPU, GPU 및 NPU 장치의 원활한 배포를 지원합니다. 현재이 저장소는 영어와 혼합 된 중국 만 지원합니다. 다음에 영어 모델에 대한 지원이 다가오고 있습니다.
파이프 라인 설계는 DeepFilternet이 추가 구성 요소로 추가 된 3 가지 모델 (Bert, TTS 및 DeepFilternet)으로 구성된 Orignal Pytorch 버전과 크게 일치합니다.

bert-base-uncased bert-base-multilingual-uncased -ing아래 표는 각 모델의 지원되는 장치를 설명합니다.
| 모델 이름 | 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 ++ 패키지를 다운로드 할 수 있습니다. Linux 용 OpenVino 설치. Linux의 OpenVino 2024.5 의 경우 https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.5/linux에서 다운로드하고 패키지를 zip으로 다운로드하십시오.
OpenVino에 대한 추가 버전 및 자세한 내용은 공식 OpenVino 툴킷 페이지 : 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
DeepFilternet 기능은 현재 Windows에서만 지원되며 Int8 양자화 된 모델에서 노이즈를 필터링하는 데 사용됩니다. 기본적으로 활성화되어 있지만 -DUSE_DEEPFILTERNET 옵션을 사용하여 CMAKE 단계에서 활성화 또는 비활성화 할 수 있습니다.
예를 들어 기능을 비활성화하려면 CMAKE 생성 프로세스 중에 다음 줄을 사용할 수 있습니다.
cmake -S . -B build -DUSE_DEEPFILTERNET=OFF
자세한 내용은 DeepFilternet.cpp를 참조하십시오.
run_tts.bat 또는 run_tts.sh 샘플 스크립트로 사용하여 모델을 실행할 수 있습니다. 아래는이 스크립트에서 사용할 수있는 모든 인수의 의미입니다.
--model_dir : REPO의 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 Quantized 모델을 사용할지 여부를 나타냅니다. 기본값은 False이므로 FP16 모델이 기본적으로 사용됩니다.--disable_bert : Bert 모델 추론을 비활성화할지 여부를 나타냅니다. 기본값은 False입니다.--disable_nf : 심해 모델 추론을 비활성화할지 여부를 나타냅니다 (기본값 : 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 사용하고 DeepFilternet 모델의 경우 --nf_device NPU 각각 사용하십시오. 예를 들어: 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를 사용하는 경우 GPU 드라이버를 설치하려면 OpenVino ™가있는 Intel® 프로세서 그래픽 (GPU)의 구성을 참조하십시오.
NPU의 경우 : NPU를 사용하는 경우 NPU 드라이버가 올바르게 설치되도록 NPU 장치를 참조하십시오.
모든 드라이버는 Windows와 Linux간에 다르므로 특정 운영 체제의 지침을 따라야합니다.
향후 릴리스를 위해 계획된 몇 가지 기능과 개선 사항은 다음과 같습니다.
영어 TTS 지원 추가 :
양자화 된 TTS 모델의 품질 향상 :
이 저장소의 파이썬 버전 (OpenVino와 통합 된 Melotts)은 Melotts-OV에서 제공됩니다. 파이썬 버전에는 모델을 OpenVino IR로 변환하는 방법이 포함되어 있습니다.
이 저장소에는 중국어 단어 세분화 및 Pinyin 처리를위한 타사 코드 및 라이브러리가 포함되어 있습니다.