Membuat keterangan dengan ucapan ke teks

Dalam panduan ini, Anda mempelajari cara membuat keterangan dengan ucapan ke teks. Pemberian keterangan adalah proses mengonversi konten audio dari siaran televisi, siaran web, film, video, acara langsung, atau produksi lainnya menjadi teks, lalu menampilkan teks di layar, monitor, atau sistem tampilan visual lainnya.

Konsepnya meliputi cara menyinkronkan keterangan dengan audio input Anda, menerapkan filter kata-kata kasar, mendapatkan hasil parsial, menerapkan kustomisasi, dan mengidentifikasi bahasa lisan untuk skenario multibahasa. Panduan ini mencakup keterangan untuk ucapan, tetapi tidak menyertakan ID pembicara atau efek suara seperti bel yang berdering.

Berikut adalah beberapa skenario keterangan umum:

  • Kursus online dan video instruksi
  • Acara olahraga
  • Panggilan Voice dan Video

Berikut ini adalah aspek yang perlu dipertimbangkan saat menggunakan keterangan:

  • Beri tahu audiens Anda bahwa keterangan dihasilkan oleh layanan otomatis.
  • Tengahkan keterangan secara horizontal pada layar, gunakan font besar dan menonjol.
  • Pertimbangkan apakah akan menggunakan hasil parsial, kapan harus mulai menampilkan keterangan, dan berapa banyak kata yang akan ditampilkan pada satu waktu.
  • Pelajari tentang protokol keterangan seperti SMPTE-TT.
  • Pertimbangkan format output seperti SRT (Text SubRip) dan WebVTT (Trek Teks Video Web). Format ini dapat dimuat ke sebagian besar pemutar video seperti VLC, secara otomatis menambahkan keterangan ke video Anda.

Tip

Coba Studio Ucapan dan pilih contoh klip video untuk melihat hasil keterangan yang diproses secara real time atau offline.

Coba Pengindeks Video Azure AI sebagai demonstrasi tentang bagaimana Anda bisa mendapatkan keterangan untuk video yang Anda unggah.

Keterangan dapat menyertai ucapan real-time atau pra-rekor. Baik Anda menampilkan keterangan secara real time atau dengan rekaman, Anda dapat menggunakan Speech SDK atau Speech CLI untuk mengenali ucapan dan mendapatkan transkripsi. Anda juga dapat menggunakan Batch transcription API untuk video yang telah direkam sebelumnya.

Format output keterangan

Layanan Ucapan mendukung format output seperti SRT (Teks SubRip) dan WebVTT (Trek Teks Video Web). Format ini dapat dimuat ke sebagian besar pemutar video seperti VLC, secara otomatis menambahkan keterangan ke video Anda.

Tip

Layanan Ucapan menyediakan opsi filter kata-kata kocak . Anda dapat menentukan apakah akan menutupi, menghapus, atau menampilkan kata-kata kotor.

Format output rentang waktu SRT (Teks SubRip) adalah hh:mm:ss,fff.

1
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.

Format output rentang waktu WebVTT (Trek Teks Video Web) adalah hh:mm:ss.fff.

WEBVTT

00:00:00.180 --> 00:00:03.230
Welcome to applied Mathematics course 201.
{
  "ResultId": "8e89437b4b9349088a933f8db4ccc263",
  "Duration": "00:00:03.0500000"
}

Input audio ke layanan Ucapan

Untuk keterangan real time, gunakan aliran input mikrofon atau audio alih-alih input file. Untuk contoh terkait cara mengenali ucapan dari mikrofon, lihat mulai cepat Ucapan ke teks dan Cara mengenali dokumentasi ucapan. Untuk informasi selengkapnya tentang streaming, lihat Cara menggunakan aliran input audio.

Untuk keterangan prarekaman, kirim input file ke layanan Ucapan. Untuk informasi selengkapnya, lihat Cara menggunakan audio input yang terkompresi.

Sinkronisasi keterangan dan ucapan

Anda ingin menyinkronkan keterangan dengan trek audio, baik secara real time maupun dengan prarekording.

Layanan Azure Cognitive Service untuk Ucapan mengembalikan offset dan durasi ucapan yang dikenali.

  • Offset: Offset ke dalam aliran audio yang dikenali, dinyatakan sebagai durasi. Offset diukur dalam tanda centang, mulai dari 0 (nol) centang, terkait dengan byte audio pertama yang diproses oleh SDK. Misalnya, offset dimulai saat Anda memulai pengenalan, karena saat itulah SDK mulai memproses aliran audio. Satu centang mewakili seratus nanodetik atau sepersepuluh juta detik.
  • Durasi: Durasi ucapan yang sedang dikenali. Durasi dalam tanda centang tidak mencakup keheningan di akhir atau di awal.

Untuk informasi selengkapnya, lihat Mendapatkan hasil pengenalan ucapan.

Mendapatkan hasil parsial

Pertimbangkan kapan harus mulai menampilkan keterangan, dan berapa banyak kata yang akan ditampilkan pada satu waktu. Hasil pengenalan ucapan dapat berubah saat suatu ucapan masih dikenali. Hasil parsial dikembalikan dengan peristiwa Recognizing-nya masing-masing. Saat setiap kata diproses, layanan Ucapan mengevaluasi ulang ucapan dalam konteks baru dan kembali dengan memberikan hasil terbaik. Hasil baru tidak dijamin sama dengan hasil sebelumnya. Transkripsi lengkap dan final suatu ucapan dikembalikan dengan peristiwa Recognized.

Catatan

Tanda baca hasil parsial tidak tersedia.

Untuk keterangan ucapan yang telah direkam sebelumnya atau saat latensi tidak menjadi perhatian utama, Anda dapat menunggu transkripsi lengkap dari setiap ucapan sebelum menampilkan kata-kata apa pun. Dengan mengingat offset akhir dan durasi setiap kata dalam ucapan, Anda akan tahu kapan harus mengucapkan kata-kata berikutnya dengan kecepatan beserta soundtrack yang tepat.

Keterangan real time menyajikan tradeoff sehubungan dengan latensi versus akurasi. Anda dapat menampilkan teks dari setiap peristiwa Recognizing sesegera mungkin. Namun, jika Anda dapat menerima beberapa latensi, Anda dapat meningkatkan akurasi keterangan dengan menampilkan teks dari peristiwa Recognized. Ada juga beberapa middle ground, yang disebut sebagai "hasil parsial yang stabil".

Anda dapat meminta agar layanan Ucapan mengembalikan lebih sedikit peristiwa Recognizing yang lebih akurat. Ini dilakukan dengan mengatur properti SpeechServiceResponse_StablePartialResultThreshold ke nilai antara 0 dan 2147483647. Nilai yang Anda tetapkan adalah waktu untuk mengenali kata sebelum layanan Ucapan mengembalikan peristiwa Recognizing. Misalnya, jika Anda mengatur SpeechServiceResponse_StablePartialResultThreshold nilai properti ke 5, layanan Ucapan menandakan pengenalan kata setidaknya lima kali sebelum mengembalikan hasil parsial kepada Anda dengan Recognizing peristiwa.

speechConfig.SetProperty(PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig->SetProperty(PropertyId::SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig.SetProperty(common.SpeechServiceResponseStablePartialResultThreshold, 5)
speechConfig.setProperty(PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig.setProperty(sdk.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
[self.speechConfig setPropertyTo:5 byId:SPXSpeechServiceResponseStablePartialResultThreshold];
self.speechConfig!.setPropertyTo(5, by: SPXPropertyId.speechServiceResponseStablePartialResultThreshold)
speech_config.set_property(property_id = speechsdk.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, value = 5)
spx recognize --file caption.this.mp4 --format any --property SpeechServiceResponse_StablePartialResultThreshold=5 --output vtt file - --output srt file -

Meminta hasil parsial yang lebih stabil mengurangi "berkedot" atau mengubah teks, tetapi dapat meningkatkan latensi saat Anda menunggu hasil keyakinan yang lebih tinggi.

Contoh ambang batas parsial yang stabil

Dalam urutan pengenalan berikut tanpa mengatur ambang batas parsial yang stabil, "mtk" dikenali sebagai kata, tetapi teks akhirnya adalah "matematika". Pada titik lain, "kursus 2" dikenali, tetapi teks akhirnya adalah "kursus 201".

RECOGNIZING: Text=welcome to
RECOGNIZING: Text=welcome to applied math
RECOGNIZING: Text=welcome to applied mathematics
RECOGNIZING: Text=welcome to applied mathematics course 2
RECOGNIZING: Text=welcome to applied mathematics course 201
RECOGNIZED: Text=Welcome to applied Mathematics course 201.

Dalam contoh sebelumnya, transkripsi bersifat aditif dan tidak ada teks yang ditarik kembali. Tetapi di lain waktu Anda mungkin menemukan bahwa hasil parsial tidak akurat. Dalam kedua kasus, hasil parsial yang tidak stabil dapat dianggap sebagai "berkedip" saat ditampilkan.

Untuk contoh ini, jika ambang batas hasil parsial yang stabil diatur ke 5, tidak ada kata yang diubah atau ditarik kembali.

RECOGNIZING: Text=welcome to
RECOGNIZING: Text=welcome to applied
RECOGNIZING: Text=welcome to applied mathematics
RECOGNIZED: Text=Welcome to applied Mathematics course 201.

Identifikasi bahasa

Jika bahasa dalam audio dapat berubah, gunakan identifikasi bahasa berkelanjutan. Identifikasi bahasa digunakan untuk mengidentifikasi bahasa yang diucapkan dalam audio saat dibandingkan dengan daftar bahasa yang didukung. Anda menyediakan hingga 10 bahasa kandidat, setidaknya salah satunya diharapkan dalam audio. Layanan Ucapan mengembalikan bahasa yang paling mirip dengan audio.

Sesuaikan untuk meningkatkan akurasi

Daftar frasa adalah daftar kata atau frasa yang Anda berikan tepat sebelum memulai pengenalan ucapan. Menambahkan frasa ke daftar frasa meningkatkan kepentingannya, sehingga membuatnya lebih mungkin dikenali.

Contoh frasa meliputi:

  • Nama
  • Lokasi geografis
  • Homonim
  • Kata-kata atau akronim yang unik untuk industri atau organisasi Anda

Ada beberapa situasi di mana melatih model kustom merupakan pilihan terbaik untuk meningkatkan akurasi. Misalnya, jika Anda memberi keterangan ceramah ortodontik, Anda mungkin ingin melatih model kustom dengan data domain yang sesuai.

Langkah berikutnya