Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Build a Serverless Text-to-Speech Application with Amazon Polly (Indonesian)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

Gambaran Umum

Secara umum, sintesis ucapan tidaklah mudah. Anda tidak dapat berasumsi bahwa ketika sebuah aplikasi membaca setiap huruf dari sebuah kalimat, hasilnya akan masuk akal. Beberapa tantangan umum untuk aplikasi teks-ke-ucapan meliputi:

  • Kata-kata yang ditulis dengan cara yang sama, tetapi pengucapannya berbeda: I live in Las Vegas dibandingkan dengan This presentation broadcasts live from Las Vegas.
  • Normalisasi teks: Singkatan, akronim, dan unit yang tidak ambigu: St., yang dapat berarti Street atau Saint.
  • Mengonversi teks ke fonem dalam bahasa dengan pemetaan kompleks, seperti, dalam bahasa Inggris, tough, through, dan though. Dalam contoh ini, bagian yang mirip dari kata yang berbeda dapat diucapkan secara berbeda tergantung kata dan konteksnya.
  • Kata asing (déjà vu), nama orang (François Hollande) dan slang (ASAP, LOL).

Amazon Polly menyediakan fungsionalitas sintesis ucapan yang mengatasi tantangan ini, yang memungkinkan Anda fokus membuat aplikasi yang menggunakan teks-ke-ucapan, dan bukannya mengatasi tantangan interpretasi.

Amazon Polly mengubah teks menjadi ucapan yang realistis. Amazon Polly memungkinkan Anda membuat aplikasi yang berbicara secara alami, yang memungkinkan Anda membuat seluruh kategori baru dari produk yang mendukung ucapan. Amazon Polly adalah layanan AI Amazon yang menggunakan teknologi deep learning lanjutan untuk mensintesis ucapan yang terdengar seperti suara manusia. Saat ini terdapat puluhan suara yang mirip aslinya dalam lebih dari 20 bahasa, sehingga Anda dapat memilih suara yang ideal dan membuat aplikasi yang mendukung ucapan yang berfungsi di berbagai negara.

Selain itu, Amazon Polly memberikan waktu respons cepat secara konsisten yang diperlukan untuk mendukung dialog interaktif real-time. Anda dapat meng-cache dan menyimpan file audio Polly untuk pemutaran ulang atau redistribusi secara luring. (Dengan kata lain, apa yang Anda konversi dan simpan adalah milik Anda. Tidak ada biaya teks-ke-ucapan tambahan untuk menggunakan ucapan tersebut.) Polly juga mudah digunakan. Anda cukup mengirim teks yang ingin Anda ubah menjadi ucapan ke API Amazon Polly. Amazon Polly segera mengembalikan stream audio ke aplikasi sehingga aplikasi Anda dapat memutarnya secara langsung atau menyimpannya dalam format file audio standar seperti MP3.

Di lab ini Anda membuat aplikasi dasar nirserver yang menggunakan Amazon Polly untuk mengonversi teks menjadi ucapan. Aplikasi ini memiliki antarmuka pengguna yang sederhana yang menerima teks dalam berbagai bahasa dan kemudian mengubahnya menjadi file audio yang dapat Anda putar dari browser web. Lab ini menggunakan postingan blog, tetapi Anda dapat menggunakan semua jenis teks. Misalnya, Anda dapat menggunakan aplikasi untuk membaca resep saat Anda menyiapkan makanan, atau artikel berita atau buku saat mengemudi atau mengendarai sepeda.

Arsitektur Aplikasi

Anda membuat sebuah aplikasi nirserver, yang berarti Anda tidak perlu bekerja dengan server — tanpa penyediaan, tanpa patching, tanpa penskalaan. AWS Cloud secara otomatis menangani hal ini, yang memungkinkan Anda fokus pada aplikasi.

Aplikasi ini menyediakan dua metode – satu untuk mengirim informasi tentang postingan baru, yang harus diubah menjadi file MP3, dan satu untuk menerima informasi tentang postingan (termasuk tautan ke file MP3 yang disimpan di Bucket Amazon S3). Kedua metode tersebut diekspos sebagai layanan web RESTful melalui Amazon API Gateway.

Saat aplikasi mengirimkan informasi tentang postingan baru:

1 Informasi diterima oleh layanan web RESTful yang diekspos oleh Amazon API Gateway. Layanan web ini diminta oleh halaman web statis yang di-hosting di Amazon Simple Storage Service (Amazon S3).

2 Amazon API Gateway memicu suatu fungsi AWS Lambda, Postingan Baru, yang bertanggung jawab untuk menginisialisasi proses pembuatan file MP3.

3 Fungsi Lambda menyisipkan informasi tentang postingan ke dalam tabel Amazon DynamoDB, tempat informasi tentang semua postingan disimpan.

4 Untuk menjalankan seluruh proses secara asinkron, Anda menggunakan Amazon Simple Notification Service (Amazon SNS) untuk memisahkan proses penerimaan informasi tentang postingan baru dan memulai konversi audionya.

5 Fungsi Lambda lainnya, Convert to Audio (Konversi ke Audio), berlangganan ke topik SNS Anda dan dipicu setiap kali pesan baru muncul (yang berarti bahwa postingan baru harus diubah menjadi file audio).

6 Fungsi Lambda Convert to Audio (Konversi ke Audio) menggunakan Amazon Polly untuk mengonversi teks menjadi file audio dalam bahasa yang telah ditentukan (sama dengan bahasa teks).

7 File MP3 baru disimpan dalam Bucket S3 khusus.

8 Informasi tentang postingan diperbarui di tabel DynamoDB. URL ke file audio yang disimpan di bucket S3 disimpan dengan data yang disimpan sebelumnya.

Saat aplikasi menerima informasi tentang postingan baru:

1 Layanan web RESTful di-deploy menggunakan Amazon API Gateway. Amazon API Gateway mengekspos metode untuk menerima informasi tentang postingan. Metode ini berisi teks postingan dan tautan ke bucket S3 tempat file MP3 disimpan. Layanan web ini diminta oleh sebuah halaman web statis yang di-hosting di Amazon S3.

2 Amazon API Gateway meminta fungsi Get Post Lambda, yang men-deploy logika untuk menerima data postingan.

3 Fungsi Get Post Lambda menerima informasi tentang postingan (termasuk referensi ke Amazon S3) dari tabel DynamoDB dan mengembalikan informasi tersebut.

Topik yang dibahas

Pada akhir lab ini, Anda akan mampu:

  • Membuat Amazon DynamoDB untuk menyimpan data
  • Membuat Amazon API Gateway RESTful API
  • Membuat fungsi AWS Lambda yang dipicu oleh API Gateway
  • Menghubungkan fungsi AWS Lambda dengan Amazon Simple Notification Service (SNS)
  • Menggunakan Amazon Polly untuk mensintesis ucapan dalam berbagai bahasa dan suara

Kunci ikon

Beragam ikon digunakan di seluruh lab ini untuk menarik perhatian kepada berbagai jenis petunjuk dan catatan. Daftar berikut menjelaskan tujuan setiap ikon:

  • Perintah yang harus Anda jalankan
  • Output sampel yang dapat Anda gunakan untuk memverifikasi output dari perintah atau file yang diedit
  • Petunjuk, tips, atau panduan penting
  • Informasi dengan minat atau kepentingan khusus (tidak terlalu penting untuk menyebabkan masalah terkait peralatan atau data jika Anda melewatkannya, tetapi dapat mengakibatkan pengulangan langkah-langkah tertentu)
  • PERINGATAN: Tindakan yang tidak dapat dibatalkan dan dapat berpotensi memengaruhi kegagalan perintah atau proses (termasuk peringatan tentang konfigurasi yang tidak dapat diubah setelah dibuat).

Reviews

Start your review of Build a Serverless Text-to-Speech Application with Amazon Polly (Indonesian)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.