นี่คือที่เก็บสำหรับกระดาษของเรา ? NIX-TTS (ยอมรับ IEEE SLT 2022) เราเปิดตัวโมเดลที่ผ่านการฝึกอบรมการสาธิตแบบโต้ตอบและตัวอย่างเสียงด้านล่าง
- ลิงค์กระดาษ] (เร็ว ๆ นี้!)] [? การสาธิตแบบโต้ตอบ] [? ตัวอย่างเสียง]
บทคัดย่อ โซลูชั่นหลายอย่างสำหรับ TTS ที่มีน้ำหนักเบาได้แสดงผลลัพธ์ที่มีแนวโน้ม ถึงกระนั้นพวกเขาก็พึ่งพาการออกแบบที่สร้างขึ้นด้วยมือซึ่งมีขนาดที่ไม่เหมาะสมหรือใช้การค้นหาสถาปัตยกรรมระบบประสาท แต่มักจะได้รับค่าใช้จ่ายในการฝึกอบรม เรานำเสนอ Nix-TTS ซึ่งเป็น TTS ที่มีน้ำหนักเบาโดยผ่านการกลั่นความรู้ไปยังรูปแบบที่มีคุณภาพสูง แต่มีขนาดใหญ่ไม่ใช่แบบอัตโนมัติและแบบ end-to-end (ฟรี) TTS โดยเฉพาะเรานำเสนอการกลั่นแบบโมดูลที่ชาญฉลาดช่วยให้การกลั่นที่ยืดหยุ่นและเป็นอิสระไปยังโมดูลตัวเข้ารหัสและตัวถอดรหัส Nix-TTS ที่เกิดขึ้นนั้นสืบทอดคุณสมบัติที่ได้เปรียบของการไม่ได้เป็นแบบไม่ได้และแบบ end-to-end จากครู แต่มีขนาดเล็กลงอย่างมีนัยสำคัญโดยมีพารามิเตอร์เพียง 5.23m หรือลดลงสูงสุด 89.34% ของแบบจำลองครู นอกจากนี้ยังประสบความสำเร็จมากกว่า 3.04 $ times $ และ 8.36 $ times $ การประเมินค่าการประเมินบน CPU Intel-I7 และ Raspberry Pi 3B ตามลำดับและยังคงรักษาความเป็นธรรมชาติและความเข้าใจที่เป็นธรรมเมื่อเทียบกับรุ่นครู
โคลนที่เก็บ 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หรือทำตามคำแนะนำอย่างเป็นทางการในกรณีที่ไม่ได้ผล
ดาวน์โหลดโมเดลที่คุณได้รับการฝึกฝนไว้ล่วงหน้าที่คุณเลือกที่นี่
| แบบอย่าง | จำนวน ของ params | เร็วกว่าแบบเรียลไทม์ * (CPU Intel-I7) | เร็วกว่าแบบเรียลไทม์ * (Raspi Model 3B) |
|---|---|---|---|
| nix-tts (onnx) | 5.23 ม. | 11.9x | 0.50x |
| Nix-TTS W/ Stochastic Duration (ONNX) | 6.03 ม. | 10.8x | 0.50x |
* ที่นี่เราคำนวณว่าโมเดลทำงานได้เร็วกว่าแบบเรียลไทม์เป็นค่าผกผันของปัจจัยเรียลไทม์ (RTF) ตารางที่สมบูรณ์ของการเร่งความเร็วแบบจำลองทั้งหมดมีรายละเอียดบนกระดาษ
และการเรียกใช้ Nix-TTS นั้นง่ายเหมือน:
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 )