이것은 우리 논문의 저장소입니다 . Nix-TTS (IEEE SLT 2022에 허용). 우리는 미리 잡은 모델, 대화식 데모 및 오디오 샘플을 발표했습니다.
[? 종이 링크] (곧 출시 될!)] [? 대화식 데모] [? 오디오 샘플]
경량 TT에 대한 몇 가지 솔루션을 추상화 한 결과 유망한 결과가 나타났습니다. 그럼에도 불구하고, 그들은 최적의 비대형 크기에 도달하거나 신경 구조 검색을 사용하는 손으로 만들어진 디자인에 의존하지만 종종 훈련 비용을 겪습니다. 우리는 지식 증류를 통해 고품질의 대형 크기, 비 유포리 및 엔드 투 엔드 (보코더 프리) TTS 교사 모델에 대한 경량 TTS 인 NIX-TTS를 제시합니다. 구체적으로, 우리는 모듈 별 증류를 제공하여 인코더 및 디코더 모듈에 유연하고 독립적 인 증류를 가능하게합니다. 결과적으로 NIX-TT는 교사로부터 비 유적지 및 엔드 투 엔드라는 유리한 특성을 물려 받았지만 크기는 5.23m 매개 변수 또는 교사 모델의 최대 89.34% 감소로 크기가 상당히 작습니다. 또한 Intel-I7 CPU 및 Raspberry Pi 3B에서 각각 3.04 $ Times $ 및 8.36 $ Times $ 추론 속도를 달성하며 교사 모델에 비해 공정한 음성 자연과 명료성을 유지합니다.
nix-tts 저장소를 복제하고 디렉토리로 이동하십시오
git clone https://github.com/rendchevi/nix-tts.git
cd nix-tts종속성을 설치하십시오
python >= 3.8 권장합니다 pip install -r requirements.txt sudo apt-get install espeak또는 작동하지 않는 경우 공식 지시를 따르십시오.
선택한 미리 훈련 된 모델을 여기에서 다운로드하십시오 .
| 모델 | 숫자. 매개 변수 | 실시간보다 빠릅니다 * (CPU Intel-I7) | 실시간보다 빠릅니다 * (Raspi Model 3B) |
|---|---|---|---|
| Nix-TTS (Onnx) | 5.23 m | 11.9x | 0.50x |
| 확률 론적 기간이있는 닉스 TTS (ONNX) | 6.03m | 10.8x | 0.50x |
* 여기서는 실시간 계수 (RTF)의 역수로 모델이 실시간보다 빠르게 실행되는 금액을 계산합니다. 모든 모델 속도의 전체 테이블은 종이에 자세히 설명되어 있습니다.
닉스를 실행하는 것만 큼 쉽습니다.
from nix . models . TTS import NixTTSInference
from IPython . display import Audio
# Initiate Nix-TTS
nix = NixTTSInference ( model_dir = "<path_to_the_downloaded_model>" )
# Tokenize input text
c , c_length , phoneme = nix . tokenize ( "Born to multiply, born to gaze into night skies." )
# Convert text to raw speech
xw = nix . vocalize ( c , c_length )
# Listen to the generated speech
Audio ( xw [ 0 , 0 ], rate = 22050 )