<Englisch | 简体中文 | 繁體中文>
Dieses Repository bietet eine C ++-Implementierung von Meloten, eine hochwertige, mehrsprachige Text-zu-Sprache-Bibliothek (TTS), die von MyShell.ai veröffentlicht wurde und Englisch, Chinesisch (gemischt mit Englisch) und verschiedene andere Sprachen unterstützt. Diese Implementierung ist vollständig in OpenVino integriert und unterstützt die nahtlose Bereitstellung auf CPU-, GPU- und NPU -Geräten. Derzeit unterstützt dieses Repository nur Chinesen, gemischt mit Englisch. Die Unterstützung für das englische Modell kommt als nächstes.
Das Pipeline -Design stimmt weitgehend mit der Orignal Pytorch -Version überein, die drei Modelle (Bert, TTS und DeepFilternet) umfasst, wobei DeepFilternet als zusätzliche Komponente hinzugefügt wurde.

bert-base-multilingual-uncased für Chinese und bert-base-uncased für EnglischDie folgende Tabelle beschreibt die unterstützten Geräte für jedes Modell:
| Modellname | CPU -Unterstützung | GPU -Unterstützung | NPU -Unterstützung |
|---|---|---|---|
| Bert (Vorverarbeitung) | ✅ | ✅ | ✅ |
| TTS (Inferenz) | ✅ | ✅ | |
| DeepFilternet (Nachbearbeitung) | ✅ | ✅ | ✅ |
Um das OpenVino C ++ - Paket für Windows herunterzuladen, finden Sie im folgenden Link: Installieren Sie OpenVino für Windows. Für OpenVino 2024.5 unter Windows können Sie die Befehlszeile in der Eingabeaufforderung (CMD) ausführen.
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
Für Linux können Sie das C ++ - Paket von diesem Link herunterladen: Installieren Sie OpenVino für Linux. Für OpenVino 2024.5 laden Sie es einfach von https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.5/linux herunter und entpacken Sie das Paket.
Weitere Versionen und weitere Informationen zu OpenVino finden Sie auf der offiziellen OpenVino -Toolkit -Seite: OpenVino -Toolkit -Übersicht.
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
Die DeepFilternet -Funktionalität wird derzeit nur unter Windows unterstützt und wird verwendet, um Rauschen von int8 quantisierten Modellen zu filtern. Standardmäßig ist es aktiviert, aber Sie können es während der CMAKE -Stufe mit der Option -DUSE_DEEPFILTERNET aktivieren oder deaktivieren.
Um die Funktion zu deaktivieren, können Sie die folgende Zeile während des CMake -Erzeugungsprozesses verwenden:
cmake -S . -B build -DUSE_DEEPFILTERNET=OFF
Weitere Informationen finden Sie unter DeepFilternet.cpp.
Sie können run_tts.bat oder run_tts.sh als Beispielskripts verwenden, um die Modelle auszuführen. Nachfolgend finden Sie die Bedeutungen aller Argumente, die Sie mit diesen Skripten verwenden können:
--model_dir : Gibt den Ordner an, der die Modelldateien, Wörterbuchdateien und Ressourcendateien von Drittanbietern enthält, nämlich ov_models Ordner im Repo. Möglicherweise müssen Sie den relativen Pfad basierend auf Ihrem aktuellen Arbeitsverzeichnis anpassen.--tts_device : Gibt das OpenVino-Gerät an, das für das TTS-Modell verwendet werden soll. Zu den unterstützten Geräten gehören CPU und GPU (Standard: CPU).--bert_device : Gibt das OpenVino-Gerät an, das für das Bert-Modell verwendet werden soll. Zu den unterstützten Geräten gehören CPU, GPU und NPU (Standard: CPU).--nf_device : Gibt das OpenVino-Gerät an, das für das DeepFilternet-Modell verwendet werden soll. Zu den unterstützten Geräten gehören CPU, GPU und NPU (Standard: CPU).--input_file : Gibt die zu verarbeitende Eingabedatei an. Stellen Sie sicher, dass sich der Text im UTF-8- Format befindet.--output_file : Gibt die ausgiebige Ausgabe *.wav-Audiodatei an.--speed : Gibt die Geschwindigkeit des Ausgangs-Audios an. Der Standard ist 1.0.--quantize : Gibt an, ob ein int8 quantisierter Modell verwendet werden soll. Die Standardeinstellung ist falsch, was bedeutet, dass ein FP16 -Modell standardmäßig verwendet wird.--disable_bert : Zeigt an, ob die Inferenz des Bert-Modells deaktiviert werden soll. Der Standard ist falsch.--disable_nf : Zeigt an, ob die Inferenz von DeepFilternet-Modell deaktiviert werden soll (Standard: Falsch).--language : Gibt die Sprache für TTs an. Die Standardsprache ist chinesisch ( ZH ). Die Bert- und DeepFilternet -Modelle in der Pipeline unterstützen die NPU als Inferenzvorrichtung, wobei der integrierte NPUs im Meteor Lake und im Lunar Lake verwendet wird.
Im Folgenden finden Sie die Methoden, um diese Funktion und die Verwendungsdetails zu aktivieren:
-DUSE_BERT_NPU=ON erforderlich. Zum Beispiel: cmake -DUSE_BERT_NPU=ON -B build -S .--bert_device NPU für das Bert -Modell und --nf_device NPU für das DeepFilternet -Modell. Zum Beispiel: buildReleasemeloTTS_ov.exe --bert_device NPU --nf_device NPU --model_dir ov_models --input_file inputs.txt --output_file audio.wav Wenn Sie ein AI-PC-Notebook mit Windows verwenden, sind die GPU- und NPU-Treiber in der Regel vorinstalliert. Linux -Benutzer oder Windows -Benutzer, die es vorziehen, die neuesten Treiber zu aktualisieren, sollten jedoch die folgenden Richtlinien befolgen:
Für die GPU : Wenn Sie GPU verwenden, finden Sie in OpenVino ™ auf Intel® -Prozessorgrafiken (GPU) auf die Installation des GPU -Treibers.
Für NPU : Wenn Sie die NPU verwenden, finden Sie auf dem NPU -Gerät, um sicherzustellen, dass der NPU -Treiber korrekt installiert ist.
Beachten Sie, dass sich alle Treiber zwischen Windows und Linux unterscheiden. Befolgen Sie daher die Anweisungen für Ihr spezifisches Betriebssystem.
Hier sind einige Funktionen und Verbesserungen, die für zukünftige Veröffentlichungen geplant sind:
Fügen Sie englischsprachige TTS -Unterstützung hinzu :
Verbesserung der Qualität in quantisierten TTS -Modellen :
Die Python-Version dieses Repositorys (Melotts Integrated in OpenVino) ist in Melotts-av bereitgestellt. Die Python -Version enthält Methoden zum Umwandeln des Modells in OpenVino IR.
Dieses Repository enthält Code von Drittanbietern und Bibliotheken für die chinesische Wortsegmentierung und die Pinyin-Verarbeitung.