<Bahasa Inggris | 简体中文 | 繁體中文>
Repositori ini menawarkan implementasi C ++ dari Melotts, yang merupakan perpustakaan multibahasa teks-ke-speech (TTS) berkualitas tinggi yang dirilis oleh myshell.ai yang mendukung bahasa Inggris, Cina (dicampur dengan bahasa Inggris), dan berbagai bahasa lainnya. Implementasi ini sepenuhnya terintegrasi dengan OpenVino, mendukung penyebaran tanpa batas pada perangkat CPU, GPU, dan NPU. Saat ini, repositori ini hanya mendukung bahasa Cina yang dicampur dengan bahasa Inggris. Dukungan untuk model bahasa Inggris akan datang berikutnya.
Desain pipa sebagian besar konsisten dengan versi pytorch orignal, terdiri dari tiga model (Bert, TTS, dan DeepFilternet), dengan DeepFilternet ditambahkan sebagai komponen tambahan.

bert-base-multilingual-uncased for China dan bert-base-uncased for EnglishTabel di bawah ini menguraikan perangkat yang didukung untuk setiap model:
| Nama model | Dukungan CPU | Dukungan GPU | Dukungan NPU |
|---|---|---|---|
| Bert (preprocessing) | ✅ | ✅ | ✅ |
| TTS (inferensi) | ✅ | ✅ | |
| DeepFilternet (pasca pemrosesan) | ✅ | ✅ | ✅ |
Untuk mengunduh paket OpenVino C ++ untuk Windows, silakan merujuk ke tautan berikut: Instal OpenVino untuk Windows. Untuk OpenVino 2024.5 di Windows, Anda dapat menjalankan baris perintah di prompt perintah (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
Untuk Linux, Anda dapat mengunduh paket C ++ dari tautan ini: Instal OpenVino untuk Linux. Untuk OpenVino 2024.5 di Linux, cukup unduh dari https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.5/linux dan unzip paket.
Untuk versi tambahan dan informasi lebih lanjut tentang OpenVino, kunjungi halaman OpenVino Toolkit resmi: OpenVino Toolkit Tinjauan.
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
Fungsionalitas DeepFilternet saat ini hanya didukung pada windows dan digunakan untuk memfilter noise dari model terkuantisasi int8. Secara default, diaktifkan, tetapi Anda dapat mengaktifkan atau menonaktifkannya selama tahap CMake menggunakan opsi -DUSE_DEEPFILTERNET .
Misalnya, untuk menonaktifkan fitur, Anda dapat menggunakan baris berikut selama proses pembuatan CMake:
cmake -S . -B build -DUSE_DEEPFILTERNET=OFF
Untuk informasi lebih lanjut, silakan merujuk ke DeepFilternet.cpp.
Anda dapat menggunakan run_tts.bat atau run_tts.sh sebagai skrip sampel untuk menjalankan model. Di bawah ini adalah makna dari semua argumen yang dapat Anda gunakan dengan skrip ini:
--model_dir : Menentukan folder yang berisi file model, file kamus, dan file sumber daya pihak ketiga, yang merupakan folder ov_models di dalam repo. Anda mungkin perlu menyesuaikan jalur relatif berdasarkan direktori kerja Anda saat ini.--tts_device : Menentukan perangkat OpenVino yang akan digunakan untuk model TTS. Perangkat yang didukung termasuk CPU dan GPU (default: CPU).--bert_device : Menentukan perangkat OpenVino yang akan digunakan untuk model BERT. Perangkat yang didukung termasuk CPU, GPU, dan NPU (default: CPU).--nf_device : Menentukan perangkat OpenVino yang akan digunakan untuk model DeepFilternet. Perangkat yang didukung termasuk CPU, GPU, dan NPU (default: CPU).--input_file : Menentukan file teks input yang akan diproses. Pastikan teksnya dalam format UTF-8 .--output_file : Menentukan file audio output *.wav yang akan dihasilkan.--speed : Menentukan kecepatan output audio. Standarnya adalah 1.0.--quantize : Menunjukkan apakah akan menggunakan model terkuantisasi int8. Standarnya false, artinya model FP16 digunakan secara default.--disable_bert : Menunjukkan apakah akan menonaktifkan inferensi model Bert. Standarnya false.--disable_nf : Menunjukkan apakah akan menonaktifkan inferensi model DeepFilternet (default: false).--language : Menentukan bahasa untuk TTS. Bahasa default adalah Cina ( ZH ). Model Bert dan DeepFilternet dalam pipa mendukung NPU sebagai perangkat inferensi, menggunakan NPU terintegrasi di Meteor Lake dan Lunar Lake.
Di bawah ini adalah metode untuk mengaktifkan fitur ini dan detail penggunaan:
-DUSE_BERT_NPU=ON diperlukan selama pembuatan CMake. Misalnya: cmake -DUSE_BERT_NPU=ON -B build -S .--bert_device NPU untuk model BERT dan --nf_device NPU untuk masing -masing model DeepFilternet. Misalnya: buildReleasemeloTTS_ov.exe --bert_device NPU --nf_device NPU --model_dir ov_models --input_file inputs.txt --output_file audio.wav Jika Anda menggunakan buku catatan PC AI dengan windows, driver GPU dan NPU biasanya sudah diinstal sebelumnya. Namun, pengguna Linux atau pengguna Windows yang lebih suka memperbarui ke driver terbaru harus mengikuti pedoman di bawah ini:
Untuk GPU : Jika menggunakan GPU, silakan merujuk ke konfigurasi untuk Intel® Processor Graphics (GPU) dengan OpenVino ™ untuk menginstal driver GPU.
Untuk NPU : Jika menggunakan NPU, silakan merujuk ke perangkat NPU untuk memastikan driver NPU diinstal dengan benar.
Perhatikan bahwa semua driver berbeda antara Windows dan Linux, jadi pastikan untuk mengikuti instruksi untuk sistem operasi spesifik Anda.
Berikut adalah beberapa fitur dan perbaikan yang direncanakan untuk rilis di masa mendatang:
Tambahkan Dukungan Bahasa Inggris TTS :
Meningkatkan kualitas dalam model TTS terkuantisasi :
Versi python dari repositori ini (Melotts yang diintegrasikan dengan OpenVino) disediakan di Melotts-OV. Versi Python mencakup metode untuk mengubah model menjadi OpenVino IR.
Repositori ini mencakup kode pihak ketiga dan perpustakaan untuk segmentasi kata Cina dan pemrosesan pinyin.