
เปรียบเทียบโมเดล TTS แสดงอารมณ์ 5 ตัวสำหรับภาษาญี่ปุ่นและภาษาจีน ด้วย 6 อารมณ์, SenseVoice, emotion2vec anchors, CER, ความเป็นธรรมชาติ, ความเร็ว และตัวอย่างเสียง
โมเดลและเอกสารอ้างอิง:
สรุป
เรา benchmark ระบบ TTS แสดงอารมณ์ 5 ระบบสำหรับภาษาญี่ปุ่นและภาษาจีน โดยใช้ 6 อารมณ์เป้าหมาย: neutral, happy, sad, angry, fear, disgust ข้อความถูกทำให้เป็นกลางเพื่อให้อารมณ์ต้องมาจากรูปแบบการพูด
ตัวเลือกที่สมดุลที่สุดคือ Qwen3-TTS CustomVoice 1.7B เพราะมี CER ต่ำ, anchor hit rate ดี, ความเป็นธรรมชาติแข็งแรง และผลด้านอารมณ์ที่ใช้งานได้ดีที่สุดเมื่อดูทั้งญี่ปุ่นและจีน
CosyVoice 300M Instruct ให้เสียงเป็นธรรมชาติที่สุด แต่การควบคุมอารมณ์ยังอ่อน ส่วน IndexTTS-2 มี pooled SenseVoice score ดูดี แต่ CER ภาษาญี่ปุ่นสูงเกินไป จึงยังไม่ควรใช้เป็นหลักฐาน TTS ภาษาญี่ปุ่นที่เชื่อถือได้ ภาษาจีนง่ายกว่าญี่ปุ่น และ fear กับ disgust ยังเป็นปัญหาเปิด
แรงจูงใจ
TTS แสดงอารมณ์ไม่ใช่แค่ทำให้เสียงฟังดูเป็นธรรมชาติ ระบบต้องพูดประโยคให้ถูก ฟังได้ดี และแสดงอารมณ์ที่ขออย่างชัดเจน การประเมินนี้จึงรวมการรู้จำอารมณ์, emotion anchors, ความผิดพลาดของการถอดเสียง, ความเป็นธรรมชาติ, เวลาในการสร้าง และตัวอย่างเสียง
- ประโยคภาษาญี่ปุ่นหรือภาษาจีนที่ต้องการต้องยังถูกต้อง
- เสียงพูดควรเป็นธรรมชาติเพียงพอสำหรับการฟังจริง
- เสียงที่สร้างควรแสดงอารมณ์ที่ขอ ไม่ใช่ถอยกลับไปเป็นเสียงกลางหรืออารมณ์ใกล้เคียง
วิธีประเมิน
การทดสอบใช้กริดที่สมดุลตามภาษา อารมณ์ และข้อความ prompt ประโยคเดียวกันถูกใช้กับทั้ง 6 อารมณ์ เพื่อบังคับให้โมเดลแสดงอารมณ์ผ่านน้ำเสียงและ prosody ไม่ใช่คำที่มีอารมณ์อยู่แล้ว
ชุดพรอมป์
ตัวอย่างพรอมป์ภาษาญี่ปุ่น:
| ID | ประโยค |
|---|---|
ja_001 | 会議は午前十時に始まります。 |
ja_002 | 資料は机の上に置いてあります。 |
ja_003 | 明日の予定を確認してください。 |
ja_004 | 電車は三番線から出発します。 |
ja_005 | 受付で名前を伝えてください。 |
ตัวอย่างพรอมป์ภาษาจีน:
| ID | ประโยค |
|---|---|
zh_001 | 会议将在上午十点开始。 |
zh_002 | 资料已经放在桌子上。 |
zh_003 | 请确认明天的日程安排。 |
zh_004 | 列车将从三号站台出发。 |
zh_005 | 请在前台告知您的姓名。 |
การควบคุมอารมณ์
| Target emotion | Control text |
|---|---|
neutral | Speak in a clear, neutral, natural voice. |
happy | Speak in a happy, warm, bright voice. |
sad | Speak in a sad, soft, slow, gentle voice. |
angry | Speak in an angry, tense, forceful voice. |
fear | Speak in a fearful, tense, trembling voice. |
disgust | Speak in a disgusted, displeased, rejecting voice. |
ตัวชี้วัด
- ความแม่นยำอารมณ์ของ SenseVoice: ตัวชี้วัดหลักสำหรับการคัดกรองอัตโนมัติ
- emotion2vec anchor hit และ margin: ตัวชี้วัดเสริมจาก centroid ของ anchor เสียงอารมณ์
- CER: อัตราความผิดพลาดของตัวอักษรเมื่อเทียบ transcription กับ prompt ต้นฉบับ
- NISQA-TTS และ UTMOS: ตัวชี้วัดความเป็นธรรมชาติและคุณภาพของเสียงสังเคราะห์
- RTF: real-time factor สำหรับวัดความเร็วในการสังเคราะห์เสียง
ผลลัพธ์
การใช้ทรัพยากร
ตัวชี้วัดทรัพยากรมาจาก 600 แถวที่สร้างสำเร็จ GPU, VRAM, wall time และ RTF ถูกบันทึกครบ ส่วน CPU ไม่ได้ถูกเก็บครบใน adapter แบบ server-backed
| Model | Median wall time | Median RTF | Median peak VRAM | GPU util | GPU power | CPU | Median peak RSS |
|---|---|---|---|---|---|---|---|
cosyvoice_300m_instruct | 2.26s | 0.85 | 3.96 GB | 30.3% avg / 39.0% peak | 145.0W avg / 155.6W peak | 127.8% peak; 100% coverage | 5.54 GB |
qwen3_tts_customvoice_1_7b | 4.20s | 1.58 | 8.13 GB | 22.9% avg / 25.0% peak | 126.3W avg / 127.1W peak | 138.1% peak; 100% coverage | 6.22 GB |
fish_audio_s1_mini | 7.06s | 3.47 | 13.05 GB | 25.3% avg / 69.0% peak | 150.4W avg / 183.7W peak | not captured; 0% coverage | 0.80 GB |
indextts-2 | 26.39s | 6.97 | 7.29 GB | 18.2% avg / 100.0% peak | 131.3W avg / 199.6W peak | not captured; 0% coverage | 7.69 GB |
voxcpm2 | 28.44s | 9.84 | 12.79 GB | 12.3% avg / 100.0% peak | 106.7W avg / 191.5W peak | not captured; 0% coverage | 10.65 GB |
CosyVoice เร็วที่สุดและใช้ VRAM ต่ำที่สุด แต่ไม่ใช่โมเดลที่ควบคุมอารมณ์ดีที่สุด Qwen3-TTS ใช้ VRAM มากกว่า CosyVoice แต่เร็วกว่า IndexTTS-2 และ VoxCPM2 มาก พร้อมให้สมดุลที่ดีที่สุดระหว่างอารมณ์และความถูกต้องของข้อความ
ภาพรวมตัวชี้วัด JA/ZH
ตารางนี้แยกภาษาญี่ปุ่นและภาษาจีนตามการตรวจหลักสามอย่าง: SenseVoice emotion accuracy, CER และ emotion2vec anchor alignment
| Model | JA SenseVoice | ZH SenseVoice | JA CER | ZH CER | JA anchor hit | ZH anchor hit | JA anchor margin | ZH anchor margin |
|---|---|---|---|---|---|---|---|---|
qwen3_tts_customvoice_1_7b | 15.0% | 53.3% | 8.6% | 9.7% | 40.0% | 64.0% | -0.06645 | 0.04480 |
indextts-2 | 43.3% | 16.7% | 91.0% | 10.3% | 38.0% | 30.0% | -0.08293 | -0.04063 |
voxcpm2 | 6.7% | 35.0% | 18.6% | 4.4% | 40.0% | 36.0% | -0.04479 | -0.02693 |
cosyvoice_300m_instruct | 1.7% | 36.7% | 43.9% | 11.1% | 24.0% | 72.0% | -0.05481 | 0.03796 |
fish_audio_s1_mini | 6.7% | 16.7% | 12.7% | 16.8% | 20.0% | 24.0% | -0.08972 | -0.09542 |
ภาษาจีนโดยรวมง่ายกว่าในตัวชี้วัดอารมณ์อัตโนมัติ แต่ CER และความถูกต้องของอารมณ์ไม่ได้ไปในทิศทางเดียวกันเสมอ Qwen3-TTS รักษา CER ต่ำทั้งสองภาษา ส่วน IndexTTS-2 ได้ SenseVoice ภาษาญี่ปุ่นสูงสุดแต่ CER ภาษาญี่ปุ่นแย่ที่สุด
ความถูกต้องของข้อความ (CER)
ด้านความถูกต้องของข้อความ Qwen3-TTS เสถียรที่สุด: CER ภาษาญี่ปุ่น 8.6% และภาษาจีน 9.7% IndexTTS-2 เป็นกรณีเตือน เพราะ CER ภาษาญี่ปุ่นสูงถึง 91.0%
ความถูกต้องของอารมณ์
SenseVoice
ในชุดทดสอบอัตโนมัตินี้ ภาษาจีนง่ายกว่าญี่ปุ่นอย่างชัดเจน สำหรับ Qwen3-TTS ความแม่นยำ SenseVoice ภาษาจีนคือ 53.3% ส่วนญี่ปุ่นคือ 15.0% แม้ CER จะต่ำทั้งคู่ แปลว่าปัญหาไม่ใช่แค่ความชัดของคำพูด แต่เป็นสัญญาณอารมณ์ภาษาญี่ปุ่นที่อ่อนหรือไม่ตรงกับ SenseVoice
fear และ disgust เป็นป้ายกำกับที่ยากที่สุด SenseVoice recall เป็น 0.0% ในทุกคู่โมเดล/ภาษา และมักถูกทำนายเป็น sad, neutral, angry หรือ unknown
แถวคืออารมณ์เป้าหมาย และคอลัมน์คือผลทำนายของ SenseVoice กล่องสีเขียวคือเส้นทแยงมุมที่ควรถูกต้อง
| กรณี | สิ่งที่เกิดขึ้น | ความหมาย |
|---|---|---|
indextts-2 / ja | happy -> sad 4/10; fear -> sad 5/10; disgust -> angry 10/10. | ป้ายอารมณ์อาจดูสมเหตุสมผล แม้คุณภาพข้อความภาษาญี่ปุ่นจะไม่น่าเชื่อถือ |
qwen3_tts_customvoice_1_7b / zh | happy -> neutral 5/10; fear -> sad 9/10; disgust -> neutral 9/10. | Qwen เป็นตัวเลือกที่สมดุลที่สุด แต่อารมณ์ที่ยากยังคง collapse |
cosyvoice_300m_instruct / ja | happy -> unknown 10/10; fear -> unknown 9/10; disgust -> unknown 8/10. | ความเป็นธรรมชาติไม่ได้รับประกันว่า emotion control จะถูกจดจำได้ |
fish_audio_s1_mini / zh | happy -> neutral 10/10; fear -> neutral 9/10; disgust -> neutral 8/10. | marker อารมณ์แบบ inline ไม่ได้เปลี่ยน prosody อย่างเสถียร |
voxcpm2 / zh | happy -> neutral 7/10; fear -> neutral 6/10; disgust -> neutral 10/10. | การควบคุมด้วย prompt มักถอยกลับไปเป็นเสียง neutral |
emotion2vec anchors
ตัวชี้วัด anchor ให้ภาพคล้าย SenseVoice: anchor ภาษาจีนดีกว่าญี่ปุ่น margin บวกหมายถึงเสียงที่สร้างใกล้ centroid ของอารมณ์เป้าหมายมากกว่า centroid อื่น Qwen3-TTS มี margin บวกในภาษาจีน แต่ margin ภาษาญี่ปุ่นทั้งหมดเป็นลบ
ความเป็นธรรมชาติ
| Model | Mean NISQA-TTS | Low NISQA-TTS <3.0 | Mean UTMOS | Low UTMOS <3.0 |
|---|---|---|---|---|
cosyvoice_300m_instruct | 4.267 | 0.0% | 3.282 | 20.8% |
indextts-2 | 4.063 | 11.7% | 2.078 | 93.3% |
qwen3_tts_customvoice_1_7b | 4.007 | 0.8% | 2.939 | 51.7% |
fish_audio_s1_mini | 3.935 | 3.3% | 2.932 | 55.8% |
voxcpm2 | 3.788 | 8.3% | 2.596 | 76.7% |
ความเป็นธรรมชาติและความถูกต้องของอารมณ์เป็นคนละคำถาม CosyVoice ชนะด้านความเป็นธรรมชาติ แต่ไม่ชนะด้านการควบคุมอารมณ์ Qwen3-TTS ต่ำกว่าเล็กน้อยใน NISQA-TTS แต่สมดุลกว่าระหว่างอารมณ์ ความถูกต้องของประโยค และความเร็ว
ตัวอย่างเสียง
ตารางด้านล่างใช้ prompt index เดียวกันสำหรับตัวอย่าง happy และ angry ในภาษาญี่ปุ่นและภาษาจีน คลิปเหล่านี้ไม่ใช่ human listening test แต่เป็นจุดอ้างอิงเชิงคุณภาพสำหรับตัวชี้วัดอัตโนมัติ
| Model | Language | Target | SenseVoice prediction | Sample |
|---|---|---|---|---|
qwen3_tts_customvoice_1_7b | JA | happy | unknown | |
qwen3_tts_customvoice_1_7b | JA | angry | angry | |
qwen3_tts_customvoice_1_7b | ZH | happy | neutral | |
qwen3_tts_customvoice_1_7b | ZH | angry | angry | |
cosyvoice_300m_instruct | JA | happy | unknown | |
cosyvoice_300m_instruct | JA | angry | unknown | |
cosyvoice_300m_instruct | ZH | happy | happy | |
cosyvoice_300m_instruct | ZH | angry | neutral | |
indextts-2 | JA | happy | sad | |
indextts-2 | JA | angry | surprised | |
indextts-2 | ZH | happy | neutral | |
indextts-2 | ZH | angry | neutral | |
fish_audio_s1_mini | JA | happy | happy | |
fish_audio_s1_mini | JA | angry | happy | |
fish_audio_s1_mini | ZH | happy | neutral | |
fish_audio_s1_mini | ZH | angry | neutral | |
voxcpm2 | JA | happy | unknown | |
voxcpm2 | JA | angry | angry | |
voxcpm2 | ZH | happy | happy | |
voxcpm2 | ZH | angry | angry |
ข้อจำกัด
- ป้ายอารมณ์อัตโนมัติไม่ใช่การตัดสินของมนุษย์ SenseVoice มีประโยชน์เพราะรองรับญี่ปุ่นและจีน แต่ยังอาจมี bias ของ classifier และความไม่สมดุลตามภาษา
- ตัวชี้วัด anchor ขึ้นกับชุดข้อมูล anchor Anchor ญี่ปุ่นมาจาก JVNV และจีนจาก CSEMOTIONS; รอบนี้ไม่มี
ja/neutralและzh/disgust - ผลภาษาญี่ปุ่นของ IndexTTS-2 เป็นเชิงวิเคราะห์เท่านั้น pooled score ดูดี แต่ CER ญี่ปุ่นสูงเกินไปในชุดทดสอบนี้
งานวิจัยต่อไป
- ทำ MOS/CMOS ขนาดเล็กกับ native listeners สำหรับ Qwen3-TTS และ CosyVoice โดยแยกคะแนนความเป็นธรรมชาติ ความถูกต้องของอารมณ์ และความเข้าใจข้อความ
- ใช้ IndexTTS-2 เป็นกรณีภาษาจีนก่อน หรือ rerun หลังแก้ tokenizer/text path ภาษาญี่ปุ่น
- เติมหรือ curate anchor ที่ขาดสำหรับ
ja/neutralและzh/disgust - ตรวจมนุษย์เฉพาะภาษาจีนสำหรับ
sad,angry,fear,disgust - ใช้ SenseVoice สำหรับคัดกรองอัตโนมัติ แต่ตัดสิน production ด้วย human listening tests
สรุปผล
สำหรับ TTS แสดงอารมณ์ภาษาญี่ปุ่นและภาษาจีน Qwen3-TTS CustomVoice 1.7B คือโมเดลที่สมดุลที่สุดใน benchmark นี้ มันยังไม่แก้ทุกอารมณ์ แต่ให้ส่วนผสมที่ใช้งานได้ดีที่สุดระหว่าง emotion recognition, CER ต่ำ, anchor hit rate, ความเป็นธรรมชาติ และเวลาในการสร้าง