Dies ist ein Repository für unser Papier ? NIX-TTS (akzeptiert an IEEE SLT 2022). Wir haben unten die vorbereiteten Modelle, eine interaktive Demo und Audio -Beispiele veröffentlicht.
[[? Papierlink] (bald kommt!)] [? Interaktive Demo] [? Audio -Samples]
Abstract Mehrere Lösungen für leichte TTs haben vielversprechende Ergebnisse gezeigt. Dennoch verlassen sie sich entweder auf ein handgefertigtes Design, das nicht optimale Größe erreicht, oder verwenden eine neuronale Architektursuche, leiden jedoch häufig bei Schulungskosten. Wir präsentieren NIX-TTs, ein leichtes TTS, das durch Wissensdestillation erreicht wird, einer hochwertigen, aber großgrößten, nicht autoregressiven und End-to-End-TTS-Lehrermodell. Insbesondere bieten wir eine modulische Destillation an und ermöglichen eine flexible und unabhängige Destillation für das Encoder- und Decodermodul. Die resultierenden NIX-TTs erbten die vorteilhaften Eigenschaften, nicht autoregressive und End-to-End vom Lehrer zu sein, aber signifikant kleiner, mit nur 5,23 m-Parametern oder bis zu 89,34% der Reduzierung des Lehrermodells; Es erreicht außerdem über 3,04 $ mal $ und 8,36 $ mal $ Inferenz beschleunigt auf Intel-I7-CPU und Raspberry Pi 3B und behält im Vergleich zum Lehrermodell immer noch eine natürliche Natürlichkeit und Verständlichkeit für faire Stimme bei.
Klonen Sie das nix-tts Repository und wechseln Sie in sein Verzeichnis
git clone https://github.com/rendchevi/nix-tts.git
cd nix-ttsInstallieren Sie die Abhängigkeiten
python >= 3.8 pip install -r requirements.txt sudo apt-get install espeakOder folgen Sie der offiziellen Anweisung, falls es nicht funktioniert hat.
Laden Sie hier Ihr ausgebildetes vorgebildetes Modell herunter .
| Modell | Num. von Params | Schneller als Echtzeit * (CPU Intel-I7) | Schneller als Echtzeit * (Raspi-Modell 3b) |
|---|---|---|---|
| NIX-TTS (ONNX) | 5,23 m | 11.9x | 0,50x |
| NIX-TTS mit stochastischer Dauer (ONNX) | 6,03 m | 10.8x | 0,50x |
* Hier berechnen wir, wie viel das Modell schneller als Echtzeit als Umkehrung des Echtzeitfaktors (RTF) verläuft. Die vollständige Tabelle aller Modelle beschleunigt wird auf dem Papier detailliert.
Und das Ausführen von Nix-TTs ist so einfach wie:
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 )