Menggunakan Bahasa Markah Sintesis Ucapan (Speech Synthesis Markup Language)
Meskipun Azure AI Speech SDK memungkinkan Anda mengirimkan teks biasa untuk disintesis ke dalam ucapan (misalnya, dengan menggunakan metode SpeakTextAsync( ), layanan ini juga mendukung sintaks berbasis XML untuk menjelaskan karakteristik ucapan yang ingin Anda hasilkan. Sintaks Speech Synthesis Markup Language (SSML) ini menawarkan kontrol yang lebih besar atas suara output lisan, memungkinkan Anda untuk:
- Tentukan gaya berbicara, seperti "bersemangat" atau "ceria" saat menggunakan suara saraf.
- Sisipkan jeda atau keheningan.
- Tentukan fonem (pengucapan fonetik), misalnya untuk mengucapkan teks "SQL" sebagai "sekuel".
- Sesuaikan prosodi suara (memengaruhi nada, timbre, dan kecepatan berbicara).
- Gunakan aturan "say-as" umum, misalnya untuk menentukan bahwa string tertentu harus dinyatakan sebagai tanggal, waktu, nomor telepon, atau formulir lainnya.
- Sisipkan ucapan atau audio yang direkam, misalnya untuk menyertakan pesan standar yang direkam atau mensimulasikan kebisingan latar belakang.
Misalnya, pertimbangkan SSML berikut:
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AriaNeural">
<mstts:express-as style="cheerful">
I say tomato
</mstts:express-as>
</voice>
<voice name="en-US-GuyNeural">
I say <phoneme alphabet="sapi" ph="t ao m ae t ow"> tomato </phoneme>.
<break strength="weak"/>Lets call the whole thing off!
</voice>
</speak>
SSML ini menentukan dialog lisan antara dua suara saraf yang berbeda, seperti ini:
- Ariana (ceria): "Saya bilang tomat"
- Guy: "Saya mengatakan tomat (diucapkan tom-ah-toe) ... Mari kita batalkan semuanya!"
Untuk mengirimkan deskripsi SSML ke layanan Ucapan, Anda dapat menggunakan metode SpeakSsmlAsync(), seperti ini:
speechSynthesizer.SpeakSsmlAsync(ssml_string);
Untuk informasi selengkapnya tentang SSML, lihat dokumentasi Azure AI Speech SDK.