Ini adalah repositori untuk makalah kami , ? NIX-TTS (diterima untuk IEEE SLT 2022). Kami merilis model pretrained, demo interaktif, dan sampel audio di bawah ini.
[[? Tautan kertas] (segera hadir!)] [? Demo interaktif] [? Sampel audio]
Abstrak Beberapa solusi untuk TT ringan telah menunjukkan hasil yang menjanjikan. Namun, mereka mengandalkan desain kerajinan tangan yang mencapai ukuran yang tidak optimal atau menggunakan pencarian arsitektur saraf tetapi sering menderita biaya pelatihan. Kami menyajikan NIX-TTS, TTS ringan yang dicapai melalui distilasi pengetahuan ke model guru TTS berkualitas tinggi namun besar, non-autoregresif, dan ujung ke ujung (bebas vokoder). Secara khusus, kami menawarkan distilasi modul-bijaksana, memungkinkan distilasi yang fleksibel dan independen ke modul encoder dan decoder. NIX-TT yang dihasilkan mewarisi sifat menguntungkan menjadi non-autoregresif dan ujung-ke-ujung dari guru, namun secara signifikan lebih kecil, dengan hanya 5,23m parameter atau hingga 89,34% pengurangan model guru; Ini juga mencapai lebih dari 3,04 $ kali $ dan 8,36 $ kali $ Inferensi Speedup pada CPU Intel-I7 dan Raspberry Pi 3B masing-masing dan masih mempertahankan kealamian dan kejelasan suara yang adil dibandingkan dengan model guru.
Klon Repositori nix-tts dan Pindah ke Direktori
git clone https://github.com/rendchevi/nix-tts.git
cd nix-ttsInstal dependensi
python >= 3.8 pip install -r requirements.txt sudo apt-get install espeakAtau ikuti instruksi resmi jika tidak berhasil.
Unduh model pra-terlatih yang Anda pilih di sini .
| Model | Num. Params | Lebih cepat dari waktu nyata * (CPU Intel-I7) | Lebih cepat dari waktu nyata * (model raspi 3b) |
|---|---|---|---|
| NIX-TTS (ONNX) | 5.23 m | 11.9x | 0,50x |
| NIX-TTS W/ Durasi Stokastik (ONNX) | 6.03 m | 10.8x | 0,50x |
* Di sini kita menghitung seberapa banyak model berjalan lebih cepat daripada real-time sebagai kebalikan dari real time factor (RTF). Tabel lengkap dari semua model speedup dirinci di atas kertas.
Dan menjalankan NIX-TTS semudah:
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 )