Paxa Labs
บล็อก

Paxa TTS Flash อ่านแท็กอารมณ์ได้แล้ว บนเสียงใหม่สองเสียง

ขนมชั้นและกะเพราเข้าร่วม Paxa TTS Flash เป็นเสียงทดลองที่อ่านแท็กอารมณ์ 26 คำที่เขียนไว้ในข้อความ พร้อมน้ำหนักกำหนดว่าแต่ละแท็กเข้มแค่ไหน

· Paxa Labs · อ่าน 4 นาที

คำตอบภาษาไทยพกความอบอุ่นมาในถ้อยคำอยู่แล้ว แต่ประโยคอย่าง ดีใจด้วยนะ ที่อ่านด้วยน้ำเสียงเรียบเท่ากับข้อความแจ้งสถานะพัสดุ ฟังแล้วเหมือนคนอ่านตามบท ตั้งแต่วันที่ 25 กันยายน สองเสียงใน Paxa TTS Flash รับน้ำเสียงจากข้อความได้ด้วย เขียน [happy] ไว้หน้าประโยค เสียงก็จะพูดประโยคนั้นอย่างดีใจ

สองเสียงนี้ แบบไม่มีแท็ก

มีอะไรเปลี่ยนไป#

  • ขนมชั้น (khanomchan) และกะเพรา (kaprao) เข้าร่วมชุดเสียงในฐานะเสียงทดลอง รวมเป็น 34 เสียง
  • ทั้งสองเสียงอ่านแท็กอารมณ์ 26 คำที่เขียนไว้ใน text เช่น [happy] [sad] และ [furious] ส่วนเสียงอื่นจะข้ามแท็ก
  • น้ำหนักหลังโคลอน เช่น [sad:0.5] กำหนดว่าแท็กเข้มแค่ไหน
  • GET /v1/voices เพิ่มฟิลด์ experimental และ emotion_tags ให้ทุกเสียง
  • รหัสโมเดลยังเป็น paxa-tts-flash-v1 และอัตราค่าบริการเสียงพูดไม่เปลี่ยน

แท็กทำงานอย่างไร#

แท็กกำหนดน้ำเสียงตั้งแต่ตำแหน่งที่วางไว้ไปจนถึงแท็กถัดไป ข้อความก่อนแท็กแรกใช้น้ำเสียงของเสียงนั้นเอง คำขอเดียวจึงเปลี่ยนน้ำเสียงได้บ่อยเท่าที่ข้อความต้องการ

คำขอเดียว สองน้ำเสียง
POST /v1/tts

{ "model": "paxa-tts-flash-v1", "voice": "khanomchan",
  "text": "[happy] สอบผ่านแล้ว [sad:0.6] แต่คงคิดถึงที่นี่" }
คำขอด้านบน เสียงขนมชั้น

แท็กทั้งหมด#

แท็กคือคำธรรมดาที่บอกว่าอยากให้ประโยคมีอารมณ์แบบไหน ห้าคำเป็นอารมณ์หลัก ได้แก่ [neutral] [happy] [sad] [angry] และ [afraid] ส่วนคำอื่นบอกอารมณ์ที่ละเอียดขึ้นของหนึ่งในนั้น เช่น [annoyed] หรือ [crying]

ห้าอารมณ์หลักบนประโยคเดียวกัน เสียงขนมชั้น
ประโยคและแท็กเดียวกัน เสียงกะเพรา

คำอื่นในกลุ่มเดียวกันกำหนดว่าน้ำเสียงไปได้ไกลแค่ไหน [annoyed] คือโกรธแบบเบา และ [shouting] ดังที่สุด [disappointed] คือเศร้าแบบเบา และ [crying] ฟังเหมือนใกล้ร้องไห้

กลุ่มโกรธ จากเบาที่สุดถึงดังที่สุด เสียงกะเพรา
กลุ่มเศร้า เสียงขนมชั้น
กลุ่มแท็ก
เป็นกลาง[neutral], [calm], [normal], [plain]
ดีใจ[happy], [excited], [cheerful], [joyful], [amazed], [laughing]
เศร้า[sad], [crying], [sorrowful], [gloomy], [disappointed]
โกรธ[angry], [shouting], [furious], [annoyed], [frustrated]
กลัว[afraid], [scared], [fearful], [nervous], [terrified], [anxious]

หน้าเสียงใส่อารมณ์ มีเสียงของแท็กทั้ง 26 คำในทั้งสองเสียง และคู่มือแท็กอารมณ์ อธิบายวิธีเขียน

แท็กเข้มแค่ไหน#

น้ำหนักหลังโคลอนกำหนดว่าแท็กมีผลมากแค่ไหน ตั้งแต่ 0 ถึง 1 [sad:0.5] กับ [sad:50%] อ่านเหมือนกัน ค่าที่เกินปลายด้านใดอ่านเป็นปลายด้านนั้น และแท็กที่น้ำหนัก 0 ไม่มีผล

[sad] จาก 0 ถึง 1 เสียงขนมชั้น

แท็กในประโยคจริง#

แต่ละประโยคด้านล่างคือ text ของคำขอหนึ่งครั้ง ส่งไปตามที่เขียนไว้ และคลิปคือเสียงที่คำขอนั้นได้กลับมา

คำตอบของเพื่อน AI เปลี่ยนจากความยินดี เป็นความใจหายที่จะไม่ได้เจอกัน แล้วจบด้วยการนัดกันใหม่ คู่มือเพื่อน AI อธิบายระดับภาษาที่ถ้อยคำพกมาอยู่แล้ว

ข้อความ
[happy] ได้ข่าวว่าสอบผ่านแล้ว ดีใจด้วยจริง ๆ นะ
[sad:0.6] แต่ก็ใจหายเหมือนกัน ต่อไปคงไม่ค่อยได้เจอกันแล้ว
[calm] ไม่เป็นไร เดี๋ยวเรานัดกินข้าวกันนะ
คำตอบของเพื่อน AI

ยามในเกมผจญภัยตวาดเรื่องประตูค่ายที่ถูกเปิดทิ้งไว้ แล้วกังวลว่าหัวหน้าจะรู้ นิยายโต้ตอบ อธิบายการให้เสียงตัวละครหลายตัว

ข้อความ
[furious] ใครเปิดประตูค่ายทิ้งไว้
[anxious:0.7] ถ้าหัวหน้ารู้เข้า พวกเราโดนหนักแน่
ยามในเกม

นิยายเสียงเล่าเรื่องด้วยน้ำเสียงสงบ จนประตูหลังบ้านเปิดออก นิยายเสียง อธิบายการอ่านเรื่องยาวทั้งบทด้วยเสียงเดียว

ข้อความ
[calm] คืนนั้นฝนตกทั้งคืน บ้านทั้งหลังเงียบสนิท
[terrified] จนกระทั่งประตูหลังบ้านค่อย ๆ เปิดออกเอง
บทบรรยาย

เจ้าหน้าที่บริการลูกค้าขอโทษเรื่องพัสดุล่าช้า แล้วแจ้งวันที่จะได้รับของ วอยซ์บอท อธิบายเสียงพูดสำหรับผู้ช่วยทางโทรศัพท์และแชต

ข้อความ
[disappointed:0.4] ขออภัยค่ะ พัสดุของคุณส่งช้ากว่ากำหนด
[cheerful] ตอนนี้ออกจากคลังแล้ว คาดว่าจะถึงพรุ่งนี้ค่ะ
คำตอบของฝ่ายบริการลูกค้า

ใช้แท็กได้ที่ไหน#

  • POST /v1/tts ทั้งแบบรอไฟล์และแบบสตรีม เมื่อเปิด timestamps ช่วงเวลาจะครอบคลุมเฉพาะข้อความที่พูด แท็กไม่มีช่วงเวลาของตัวเอง
  • POST /v1/audio/speech เส้นทางที่เข้ากันได้กับ OpenAI อ่านแท็กใน input
  • การเชื่อมต่อแบบสด อ่านแท็กที่ถูกแบ่งอยู่ในสองเฟรมเป็นแท็กเดียว และแต่ละรอบเริ่มด้วยน้ำเสียงที่รอบก่อนจบไว้ จนกว่า cancel จะรีเซ็ต
  • เครื่องมือเสียงพูดในคอนโซลมีแผงอารมณ์ที่รวมทุกแท็กและแถบปรับความเข้ม และแสดงแท็กเป็นสีของเสียงนั้นระหว่างพิมพ์

สิ่งที่ API ปฏิเสธ#

สำหรับสองเสียงนี้ คำในวงเล็บเหลี่ยมที่ไม่อยู่ในรายการ เช่น [laughs] หรือน้ำหนักที่ไม่ใช่ตัวเลข เช่น [sad:half] จะได้คำตอบ 400 tag_invalid ก่อนคิดค่าบริการ คำนอกรายการที่ตามด้วยโคลอน เช่น [Fig:2] เป็นข้อความปกติและถูกอ่านออกเสียง ข้อความที่มีแต่แท็กจะได้คำตอบ 422 unspeakable_text ก่อนคิดค่าบริการ

เสียงอื่นไม่ปฏิเสธแท็กใดเลย โดยตัดแท็กที่อยู่ในรายการออก และอ่านคำในวงเล็บที่ไม่อยู่ในรายการออกเสียง

ค่าบริการของแท็ก#

แท็กคือข้อความ ตัวอักษรของแท็กคิดตามอัตราเสียงพูดอัตราเดียว 10 เครดิตต่อ 1,000 ตัวอักษร คำขอด้านบนยาว 47 ตัวอักษรรวมแท็ก คิดเป็น 0.47 เครดิต

ขั้นทดลองหมายความว่าอะไร#

รหัสเสียงและรายการแท็กคงเดิม ส่วนเสียงของแต่ละแท็กอาจเปลี่ยนระหว่างที่เราปรับจูนสองเสียงนี้ ประโยคเดียวกันที่สร้างทีหลังจึงอาจฟังต่างจากที่สร้างวันนี้ เสียงอื่นทุกเสียงยังคงน้ำเสียงเดิม

ลองใช้#

  • เปิดเครื่องมือเสียงพูด เลือกขนมชั้นหรือกะเพรา แล้วเปิดแผงอารมณ์
  • อ่านคู่มือแท็กอารมณ์ สำหรับวิธีเขียน น้ำหนัก และการเชื่อมต่อแบบสด

อ่านต่อ

โพสต์อื่นในบล็อก