Menggunakan SSML pada AWS CLI - Amazon Polly

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan SSML pada AWS CLI

Anda dapat menggunakan AWS CLI untuk mensintesis teks masukan SSML. Contoh berikut menunjukkan bagaimana melakukan tugas-tugas umum menggunakan AWS CLI.

Menggunakan SSML dengan perintah Synthesize-Speech

Contoh ini menunjukkan cara menggunakan synthesize-speech perintah dengan string SSML. Saat Anda menggunakan synthesize-speech perintah, Anda biasanya memberikan yang berikut:

  • Teks masukan (wajib)

  • Membuka dan menutup tag (wajib)

  • Format output

  • Sebuah suara

Dalam contoh ini, Anda menentukan string teks sederhana dalam tanda kutip bersama dengan <speak></speak> tag pembuka dan penutup yang diperlukan.

penting

Meskipun Anda tidak menggunakan tanda kutip di sekitar teks input di konsol Amazon Polly, Anda harus menggunakannya dalam menggunakan AWS CLI Penting juga bagi Anda untuk membedakan antara tanda kutip di sekitar teks input dan kutipan yang diperlukan untuk tag individual.

Misalnya, Anda dapat menggunakan tanda kutip standar (“) untuk melampirkan teks input, dan tanda kutip tunggal (') untuk tag interior, atau sebaliknya. Opsi mana pun berfungsi untuk Unix, Linux, dan macOS. Namun, dengan Windows Anda harus melampirkan teks input dalam tanda kutip standar dan menggunakan tanda kutip tunggal untuk tag.

Untuk semua sistem operasi, Anda dapat menggunakan tanda kutip standar (“) untuk melampirkan teks input, dan tanda kutip tunggal (') untuk tag interior). Sebagai contoh:

--text "<speak>Hello <break time='300ms'/> World</speak>"

Untuk Unix, Linux, dan macOS, Anda juga dapat menggunakan kebalikannya, dengan tanda kutip tunggal (') yang melampirkan teks input dan tanda kutip standar (“) untuk tag interior:

--text '<speak>Hello <break time="300ms"/> World</speak>'

AWS CLI Contoh berikut diformat untuk Unix, Linux, dan macOS. Untuk Windows, ganti karakter kelanjutan backslash (\) Unix di akhir setiap baris dengan tanda sisipan (^) dan gunakan tanda kutip penuh (“) di sekitar teks input dengan tanda kutip tunggal (') untuk tag interior.

aws polly synthesize-speech \ --text-type ssml \ --text '<speak>Hello world</speak>' \ --output-format mp3 \ --voice-id Joanna \ speech.mp3

Untuk mendengar pidato yang disintesis, putar speech.mp3 file yang dihasilkan menggunakan pemutar audio apa pun.

Mensintesis dokumen yang disempurnakan SSML

Untuk teks input yang lebih panjang, Anda mungkin merasa lebih mudah untuk menyimpan konten SSML Anda ke file dan cukup tentukan nama file dalam perintah. synthesize-speech Misalnya Anda dapat menyimpan yang berikut ini ke file bernamaexample.xml:

<?xml version="1.0"?> <speak version="1.1" xmlns="http://www.w3.org/2001/10/synthesis" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis11/synthesis.xsd" xml:lang="en-US">Hello World</speak>

xml:langAtribut menentukan en-US (US English) sebagai bahasa dari teks input. Untuk informasi tentang bagaimana bahasa teks input dan bahasa suara yang dipilih memengaruhi SynthesizeSpeech operasi, lihatMeningkatkan pengucapan kata-kata asing.

Untuk menjalankan file yang disempurnakan SSML
  1. Simpan SSML ke file (misalnya,example.xml).

  2. Jalankan synthesize-speech perintah berikut dari jalur tempat file XHTML disimpan dan tentukan file SSML sebagai input dengan mengganti file:\\example.xml teks masukan. Karena perintah ini menunjuk ke file alih-alih berisi teks input yang sebenarnya, Anda tidak menggunakan tanda kutip.

    catatan

    AWS CLI Contoh berikut diformat untuk Unix, Linux, dan macOS. Untuk Windows, ganti karakter kelanjutan backslash (\) Unix di akhir setiap baris dengan tanda sisipan (^).

    aws polly synthesize-speech \ --text-type ssml \ --text file://example.xml \ --output-format mp3 \ --voice-id Joanna \ speech.mp3
  3. Untuk mendengar pidato yang disintesis, putar speech.mp3 file yang dihasilkan menggunakan pemutar audio apa pun.

Menggunakan SSML untuk tugas-tugas Amazon Polly umum

Contoh berikut menunjukkan cara menggunakan tag SSML untuk menyelesaikan tugas Amazon Polly umum. Untuk tag SSML lainnya, lihat. Tag SSML yang didukung

Untuk menguji contoh berikut, gunakan synthesize-speech perintah berikut dengan teks yang disempurnakan SSML yang sesuai:

AWS CLI Contoh berikut diformat untuk Unix, Linux, dan macOS. Untuk Windows, ganti karakter kelanjutan backslash (\) Unix di akhir setiap baris dengan tanda sisipan (^) dan gunakan tanda kutip penuh (“) di sekitar teks input dengan tanda kutip tunggal (') untuk tag interior.

aws polly synthesize-speech \ --text-type ssml \ --text '<speak>Hello <break time="300ms"/> World</speak>' \ --output-format mp3 \ --voice-id Joanna \ speech.mp3

Menambahkan jeda

Untuk menambahkan jeda di antara kata-kata, gunakan <break>elemen. synthesize-speechPerintah SSML berikut menggunakan <break> elemen untuk menambahkan penundaan 300 milidetik antara kata “Hello” dan “World.”

<speak> Hello <break time="300ms"/> World. </speak>

Mengontrol volume, nada, dan kecepatan

Untuk mengontrol nada, kecepatan bicara, dan volume bicara, gunakan <prosody>elemen.

  • Perintah synthesize-speech berikut menggunakan <prosody> elemen untuk mengontrol volume:

    <speak> <prosody volume="+20dB">Hello world</prosody> </speak>
  • synthesize-speechPerintah berikut menggunakan <prosody> elemen untuk mengontrol pitch:

    <speak> <prosody pitch="x-high">Hello world.</prosody> </speak>
  • synthesize-speechPerintah berikut menggunakan <prosody> elemen untuk menentukan kecepatan bicara (kecepatan berbicara):

    <speak> <prosody rate="x-fast">Hello world.</prosody> </speak>
  • Anda dapat menentukan beberapa atribut dalam <prosody> elemen, seperti yang ditunjukkan dalam contoh berikut:

    <speak> <prosody volume="x-loud" pitch="x-high" rate="x-fast">Hello world.</prosody> </speak>

Berbisik

Untuk membisikkan kata-kata, gunakan <amazon:effect name="whispered"> elemen. Dalam contoh berikut, <amazon:effect name="whispered"> elemen tersebut memberi tahu Amazon Polly untuk membisikkan “domba kecil”:

<speak> Mary has a <amazon:effect name="whispered">little lamb.</amazon:effect> </speak>

Untuk meningkatkan efek ini, gunakan <prosody>elemen untuk sedikit memperlambat ucapan berbisik.

Menekankan kata-kata

Untuk menekankan kata atau frasa, gunakan <emphasis>elemen.

<speak> <emphasis level="strong">Hello</emphasis> world how are you? </speak>

Menentukan cara mengucapkan kata-kata tertentu

Untuk memberikan informasi tentang jenis teks yang akan diucapkan, gunakan <say-as>elemen.

Misalnya, dalam SSML berikut, <say-as> menunjukkan bahwa teks 4/6 harus ditafsirkan sebagai tanggal. Atribut interpret-as="date" format="dm" menunjukkan bahwa itu harus diucapkan sebagai tanggal dengan format bulan/hari.

Anda juga dapat menggunakan <say-as>elemen untuk memberi tahu Amazon Polly untuk mengatakan angka sebagai pecahan, nomor telepon, unit pengukuran, dan banyak lagi.

<speak> Today is <say-as interpret-as="date" format="md" >4/6</say-as> </speak>

Pidato yang dihasilkan adalah “Hari ini adalah 4 Juni.” <say-as>Tag menjelaskan bagaimana teks harus ditafsirkan dengan memberikan konteks tambahan dengan interpret-as atribut.

Untuk memverifikasi keakuratan pidato yang disintesis, putar speech.mp3 file yang dihasilkan.

Untuk informasi lebih lanjut tentang elemen ini, lihatMengontrol bagaimana jenis kata khusus diucapkan .

Meningkatkan pengucapan kata-kata asing

Amazon Polly mengasumsikan bahwa teks input dalam bahasa yang sama dengan bahasa yang diucapkan oleh suara yang Anda pilih. Untuk meningkatkan pengucapan kata-kata asing dalam teks input, dalam synthesize-speech panggilan. Tentukan bahasa target dengan xml:lang atribut. Ini memberitahu Amazon Polly untuk menerapkan aturan pengucapan yang berbeda untuk kata-kata asing yang Anda tag.

Contoh berikut menunjukkan cara menggunakan kombinasi bahasa yang berbeda dalam teks input, dan cara menentukan suara dan pengucapan kata-kata asing. Untuk daftar lengkap bahasa yang tersedia, lihatBahasa di Amazon Polly.

Dalam contoh berikut, suara (Joanna) adalah suara Inggris AS. Secara default, Amazon Polly mengasumsikan bahwa teks input dalam bahasa yang sama dengan suara (dalam hal ini, bahasa Inggris AS). Saat Anda menggunakan xml:lang tag, Amazon Polly menafsirkan teks sebagai bahasa Spanyol dan teks diucapkan karena suara yang dipilih akan mengucapkan kata-kata Spanyol, sesuai dengan aturan pengucapan bahasa asing. Tanpa tag ini, teks diucapkan menggunakan aturan pengucapan suara yang dipilih.

<speak> That restaurant is terrific. <lang xml:lang="es-ES">Mucho gusto.</lang> </speak>

Karena bahasa teks input adalah bahasa Inggris, Amazon Polly memetakan fonem Spanyol ke fonem bahasa Inggris terdekat. Akibatnya, Joanna berbicara teks sebagai penutur asli AS yang mengucapkan karya dengan benar dalam bahasa Spanyol, tetapi dengan aksen Inggris AS.

catatan

Beberapa bahasa lebih mirip daripada yang lain, sehingga beberapa kombinasi bahasa bekerja lebih baik daripada yang lain.