แพลตฟอร์ม Actions on Google รองรับฟีเจอร์ SSML เบต้าหลายรายการนอกเหนือจากองค์ประกอบ SSML มาตรฐานของ Actions on Google
สรุปฟีเจอร์ SSML เบต้าที่รองรับ
<phoneme>
: ปรับแต่งการออกเสียงคำที่ต้องการ<say-as interpret-as="duration">
: ระบุระยะเวลา<voice>
: สลับระหว่างเสียงต่างๆ ในคำขอเดียวกัน<lang>
: ใช้หลายภาษาในคำขอเดียวกัน- จุดเวลา: ใช้แท็ก
<mark>
เพื่อแสดงเวลาของจุดที่ระบุในข้อความถอดเสียง
<phoneme>
คุณใช้แท็ก <phoneme>
เพื่อสร้างการออกเสียงที่กำหนดเองสำหรับคำในบรรทัดได้ Actions on Google ยอมรับตัวอักษรแบบออกเสียง IPA และ X-SAMPA ดูหน้าการโทรสำหรับรายการภาษาและโทรศัพท์ที่รองรับ
การใช้แท็ก <phoneme>
แต่ละครั้งจะออกเสียงคำเดียว ดังนี้
<phoneme alphabet="ipa" ph="ˌmænɪˈtoʊbə">manitoba</phoneme> <phoneme alphabet="x-sampa" ph='m@"hA:g@%ni:'>mahogany</phoneme>
เครื่องหมายระบุความเครียด
ระบบสามารถให้ความเครียดในการถอดเสียงเป็นคำได้สูงสุด 3 ระดับ ดังนี้
- ความเครียดหลัก: ระบุด้วย
ˈ
ใน IPA และ"
ใน X-SAMPA - ความเครียดรอง: ระบุด้วย
ˌ
ใน IPA และ%
ใน X-SAMPA - ไม่เน้นสี: ไม่แสดงด้วยสัญลักษณ์ (ทั้งในเครื่องหมาย)
บางภาษาอาจมีไม่ถึง 3 ระดับหรือไม่ได้แสดงถึงความตึงเครียดเลย ดูหน้าการออกเสียงเพื่อดูระดับความเครียดที่มีให้บริการสำหรับภาษาของคุณ เครื่องหมายระบุความเครียดจะวางไว้ที่ ตอนต้นของแต่ละพยางค์ที่เน้นความเครียด ตัวอย่างเช่น ในภาษาอังกฤษ (สหรัฐอเมริกา)
คำตัวอย่าง | IPA | เอ็กซ์-ซัมปา |
---|---|---|
ค่าน้ำ | ˈwɑːtɚ |
"wA:t@` |
ใต้น้ำ | ˌʌndɚˈwɑːtɚ |
%Vnd@"wA:t@ |
การถอดเสียงเป็นคำแบบกว้างและแบบจำกัด
ทั้งนี้ตามกฎทั่วไป คุณควรใช้การถอดเสียงเป็นคำให้กว้างและออกเสียงตามปกติมากขึ้น
เช่น ในภาษาอังกฤษ (สหรัฐอเมริกา) ให้ถอดเสียงคำภายใน t
(แทนที่จะใช้การแตะ) ดังนี้
คำตัวอย่าง | IPA | เอ็กซ์-ซัมปา |
---|---|---|
เนย | ˈbʌtɚ จากราคาเต็ม ˈbʌɾɚ |
"bVt@` จากราคาเต็ม "bV4@` |
มีบางกรณีที่การใช้การแทนเสียงทางเสียงทำให้ผลการค้นหา TTS ฟังดูไม่เป็นธรรมชาติ (เช่น ถ้าลำดับการออกเสียงออกเสียงได้ยาก)
ตัวอย่างหนึ่งคือการรวบรวมเสียงพูดสำหรับ s
ในภาษาอังกฤษ ในกรณีนี้ การทำงานควรแสดงขึ้นในการถอดเสียงเป็นคำ
คำตัวอย่าง | IPA | เอ็กซ์-ซัมปา |
---|---|---|
แมว | ˈkæts |
"k{ts |
สุนัข | ˈdɑːgz จากราคาเต็ม ˈdɑːgs |
"dA:gz จากราคาเต็ม "dA:gs |
การลด
ทุกพยางค์ต้องมีสระ 1 ตัว (สระเดียวเท่านั้น) นั่นหมายความว่าคุณควรหลีกเลี่ยงการใช้พยัญชนะที่เป็นพยางค์ และถอดเสียงพยัญชนะโดยใช้สระลดรูปแทน ตัวอย่างเช่น
คำตัวอย่าง | IPA | เอ็กซ์-ซัมปา |
---|---|---|
ลูกแมว | ˈkɪtən จากราคาเต็ม ˈkɪtn |
"kIt@n จากราคาเต็ม "kitn |
กาต้มน้ำ | ˈkɛtəl จากราคาเต็ม ˈkɛtl |
"kEt@l จากราคาเต็ม "kEtl |
การจัดประยุกต์ใช้ภาษา
คุณสามารถเลือกระบุขอบเขตพยางค์ได้โดยใช้ .
แต่ละพยางค์ต้องมีสระ 1 ตัว (สระเดียวเท่านั้น) เช่น
คำตัวอย่าง | IPA | เอ็กซ์-ซัมปา |
---|---|---|
การเขียนให้อ่านง่าย | ˌɹiː.də.ˈbɪ.lə.tiː |
%r\i:.d@."bI.l@.ti: |
ระยะเวลา
แพลตฟอร์ม Actions on Google รองรับระยะเวลาที่อ่าน <say-as interpret-as="duration">
ได้อย่างถูกต้อง เช่น ตัวอย่างต่อไปนี้จะอ่านออกเสียงว่า "5 ชั่วโมง 30 นาที"
<say-as interpret-as="duration" format="h:m">5:30</say-as>
สตริงรูปแบบรองรับค่าต่อไปนี้
ตัวย่อ | ค่า |
---|---|
h | ชั่วโมง |
นาที | นาที |
วินาที | วินาที |
ms | มิลลิวินาที |
<voice>
แท็ก <voice>
ให้คุณใช้มากกว่า 1 เสียงในคำขอ SSML เดียว ในตัวอย่างต่อไปนี้ เสียงเริ่มต้นเป็นเสียงผู้ชายภาษาอังกฤษ
ทุกคำจะสังเคราะห์เสียงนี้ ยกเว้น "qu'est-ce qui t'amène
ici" ซึ่งจะอ่านออกเสียงเป็นภาษาฝรั่งเศสโดยใช้เสียงผู้หญิงแทนภาษาเริ่มต้น (อังกฤษ) และเพศ (ชาย)
<speak>And then she asked, <voice language="fr-FR" gender="female">qu'est-ce qui t'amène ici</voice><break time="250ms"/> in her sweet and gentle voice.</speak>
นอกจากนี้ คุณสามารถใช้แท็ก <voice>
เพื่อระบุเสียงเดี่ยวๆ (ชื่อเสียงในหน้าเสียงและภาษาที่รองรับ) แทนการระบุ language
และ/หรือ gender
<speak>The dog is friendly<voice name="fr-CA-Wavenet-B">mais la chat est mignon</voice><break time="250ms"/> said a pet shop owner</speak>
เมื่อใช้แท็ก <voice>
Actions on Google คาดหวังว่าจะได้รับ name
(ชื่อของเสียงที่คุณต้องการใช้) หรือชุดค่าผสมของแอตทริบิวต์ต่อไปนี้ แอตทริบิวต์ทั้ง 3 รายการเป็นแอตทริบิวต์ที่ไม่บังคับ แต่คุณต้องใส่อย่างน้อย 1 รายการหากไม่ได้ระบุ name
gender
: 1 จากmale
,female
หรือneutral
variant
: ใช้เป็นตัวตัดเสียงในกรณีที่มีการใช้เสียงหลายเสียงตามการกำหนดค่าของคุณlanguage
: ภาษาที่ต้องการ ระบุภาษาในแท็ก<voice>
ที่ระบุได้เพียงภาษาเดียวเท่านั้น ระบุภาษาของคุณในรูปแบบ BCP-47 คุณดูรหัส BCP-47 สำหรับภาษาของคุณได้ในคอลัมน์รหัสภาษาบนหน้าเสียงและภาษาที่รองรับ
นอกจากนี้ คุณยังควบคุมลำดับความสำคัญที่เกี่ยวข้องของแอตทริบิวต์ gender
, variant
และ language
แต่ละรายการได้โดยใช้แท็กเพิ่มเติม 2 รายการ ได้แก่ required
และ ordering
required
: หากมีการกำหนดให้แอตทริบิวต์เป็นrequired
และไม่ได้กำหนดค่าอย่างถูกต้อง คำขอจะไม่สำเร็จordering
: แอตทริบิวต์ที่แสดงหลังแท็กordering
จะถือเป็นแอตทริบิวต์ที่ต้องการแทนที่จะเป็นแอตทริบิวต์ที่จำเป็น SSML จะพิจารณาแอตทริบิวต์ที่ต้องการอย่างดีที่สุดตามลำดับที่แสดงรายการไว้หลังแท็กordering
หากกำหนดค่าแอตทริบิวต์ที่ต้องการไม่ถูกต้อง Actions on Google อาจยังแสดงเสียงที่ถูกต้องอยู่ แต่จะไม่มีการกำหนดค่าที่ไม่ถูกต้อง
ตัวอย่างการกำหนดค่าที่ใช้แท็ก required
และ ordering
<speak>And there it was <voice language="en-GB" gender="male" required="gender" ordering="gender language">a flying bird </voice>roaring in the skies for the first time.</speak>
<speak>Today is supposed to be <voice language="en-GB" gender="female" ordering="language gender">Sunday Funday.</voice></speak>
<lang>
คุณใช้ <lang>
เพื่อรวมข้อความหลายภาษาภายในคำขอ SSML เดียวกันได้ ทุกภาษาจะสังเคราะห์เสียงเดียวกัน เว้นแต่คุณจะใช้แท็ก <voice>
เพื่อเปลี่ยนเสียงอย่างชัดเจน สตริง xml:lang
ต้องมีภาษาเป้าหมายในรูปแบบ BCP-47 (ค่านี้จะแสดงเป็น "รหัสภาษา" ในตารางเสียงที่รองรับ) ในตัวอย่างต่อไปนี้ ระบบจะอ่านออกเสียง "แชท" เป็นภาษาฝรั่งเศสแทนภาษาเริ่มต้น (อังกฤษ)
<speak>The french word for cat is <lang xml:lang="fr-FR">chat</lang></speak>
แพลตฟอร์ม Actions on Google รองรับแท็ก <lang>
อย่างเต็มความสามารถ ชุดค่าผสมของภาษาไม่ได้สร้างผลลัพธ์ที่มีคุณภาพเหมือนกันหากระบุไว้ในคำขอ SSML เดียวกัน ในบางกรณี ชุดภาษาอาจสร้างผลกระทบที่ตรวจพบได้แต่เป็นนัยยะแฝงหรือมองว่าเป็นผลเชิงลบ ปัญหาที่ทราบ
- แท็ก
<lang>
ไม่รองรับภาษาญี่ปุ่นที่มีอักขระคันจิ ข้อมูลที่ป้อนเป็นคำทับศัพท์และอ่านเป็นตัวอักษรจีน - แท็ก
<lang>
ไม่รองรับภาษากึ่งภาษา เช่น อาหรับ ฮีบรู และเปอร์เซีย และจะทำให้ระบบปิดเสียง หากต้องการใช้ภาษาใดภาษาหนึ่งต่อไปนี้ เราขอแนะนำให้ใช้แท็ก<voice>
เพื่อเปลี่ยนเป็นเสียงที่พูดภาษาที่ต้องการ (หากมี)