แพลตฟอร์ม Actions on Google รองรับฟีเจอร์ SSML เบต้าจำนวนหนึ่งนอกเหนือจาก การดำเนินการกับองค์ประกอบ SSML มาตรฐานของ 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 | X-SAMPA |
---|---|---|
น้ำ | ˈwɑːtɚ |
"wA:t@` |
ใต้น้ำ | ˌʌndɚˈwɑːtɚ |
%Vnd@"wA:t@ |
การถอดเสียงเป็นคำแบบกว้างเทียบกับแบบแคบ
ตามกฎทั่วไป ทำให้การถอดเสียงเป็นคำของคุณกว้างขึ้นและเป็นไปตามหลักสัทศาสตร์มากขึ้น
เช่น ในภาษาอังกฤษแบบสหรัฐอเมริกา ให้ถอดเสียง t
(แทนที่จะใช้
แตะ):
คำตัวอย่าง | IPA | X-SAMPA |
---|---|---|
เนย | ˈbʌtɚ จากราคาเต็ม ˈbʌɾɚ |
"bVt@` จากราคาเต็ม "bV4@` |
มีบางกรณีที่การใช้การนำเสนอแบบสัทศาสตร์ทำให้ TTS ของคุณ ผลลัพธ์ดูไม่เป็นธรรมชาติ (ตัวอย่างเช่น ถ้าลำดับของสัทศาสตร์คือ ออกเสียงยากทางกายวิภาค)
ตัวอย่างหนึ่งคือการออกเสียงเสียงที่เรียกได้สำหรับ s
ในภาษาอังกฤษ ในกรณีนี้
ความคล้ายคลึงกันควรแสดงให้เห็นในการถอดเสียงเป็นคำ
คำตัวอย่าง | IPA | X-SAMPA |
---|---|---|
แมว | ˈkæts |
"k{ts |
สุนัข | ˈdɑːgz จากราคาเต็ม ˈdɑːgs |
"dA:gz จากราคาเต็ม "dA:gs |
การลด
ทุกพยางค์ต้องมีสระ 1 ตัว ซึ่งหมายความว่าคุณควร หลีกเลี่ยงการใช้พยัญชนะพยางค์แล้วถอดเสียงด้วยสระที่ลดทอนลงแทน สำหรับ ตัวอย่าง:
คำตัวอย่าง | IPA | X-SAMPA |
---|---|---|
ลูกแมว | ˈkɪtən จากราคาเต็ม ˈkɪtn |
"kIt@n จากราคาเต็ม "kitn |
กาต้มน้ำ | ˈkɛtəl จากราคาเต็ม ˈkɛtl |
"kEt@l จากราคาเต็ม "kEtl |
เค้าโครงหลักสูตร
คุณเลือกระบุขอบเขตแบบพยางค์ได้โดยใช้ .
แต่ละพยางค์ต้อง
มีสระหนึ่ง (หนึ่งคำ) เท่านั้น เช่น
คำตัวอย่าง | IPA | X-SAMPA |
---|---|---|
ความอ่านง่าย | ˌɹiː.də.ˈbɪ.lə.tiː |
%r\i:.d@."bI.l@.ti: |
ระยะเวลา
แพลตฟอร์ม Actions on Google รองรับ <say-as interpret-as="duration">
อย่างถูกต้อง
ระยะเวลาการอ่าน ตัวอย่างเช่น ตัวอย่างต่อไปนี้จะอ่านออกเสียงว่า "ห้า"
ชั่วโมง 30 นาที":
<say-as interpret-as="duration" format="h:m">5:30</say-as>
สตริงรูปแบบรองรับค่าต่อไปนี้
ตัวย่อ | ค่า |
---|---|
h | ชั่วโมง |
ม. | นาที |
s | วินาที |
มิลลิวินาที | มิลลิวินาที |
<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
: หนึ่งในmale
,female
หรือneutral
variant
: ใช้เป็นตัวตัดคำในกรณีที่มี เสียงที่จะใช้โดยอิงตามการกำหนดค่าของคุณlanguage
: ภาษาที่ต้องการ ระบุได้เพียง 1 ภาษาใน ที่ได้รับ<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>
เพื่อเปลี่ยนไปใช้เสียง พูดภาษาที่คุณต้องการ (หากมี)