Halaman ini menjelaskan cara mendapatkan label untuk berbagai pembicara dalam data audio yang ditranskripsikan oleh Speech-to-Text.
Terkadang, data audio berisi sampel dari lebih dari satu orang yang sedang berbicara. Misalnya, audio dari panggilan telepon biasanya berisi suara dari dua orang atau lebih. Transkripsi panggilan idealnya menyertakan siapa yang sedang berbicara di tiap-tiap waktu.
Diarisasi Pembicara
Speech-to-Text dapat mengenali beberapa pembicara dalam klip audio yang sama. Saat mengirim permintaan transkripsi audio ke Speech-to-Text, Anda dapat menyertakan parameter yang memberi tahu Speech-to-Text untuk mengidentifikasi pembicara yang berbeda-beda dalam sampel audio. Fitur ini, yang disebut diarisasi pembicara, mendeteksi saat ada perubahan pembicara dan memberi label berdasarkan angka masing-masing suara yang terdeteksi dalam audio.
Saat Anda mengaktifkan diarisasi pembicara dalam permintaan transkripsi, Speech-to-Text akan mencoba membedakan berbagai suara yang disertakan dalam sampel audio. Hasil transkripsi akan menandai setiap kata dengan angka yang ditetapkan untuk masing-masing pembicara. Kata-kata yang diucapkan oleh pembicara yang sama memiliki angka yang sama. Hasil transkripsi dapat menyertakan angka hingga sebanyak pembicara yang dapat diidentifikasi secara unik oleh Speech-to-Text dalam contoh audio.
Saat Anda menggunakan diarisasi pembicara, Speech-to-Text akan menghasilkan agregat
yang berjalan dari semua hasil yang diberikan dalam transkripsi. Setiap hasil mencakup kata-kata dari hasil sebelumnya. Dengan demikian, array words
dalam hasil akhir memberikan hasil transkripsi yang lengkap dan dalam bentuk diarisasi.
Tinjau halaman dukungan bahasa untuk mengetahui apakah fitur ini tersedia untuk bahasa Anda.
Mengaktifkan diarisasi pembicara dalam permintaan
Untuk mengaktifkan diarisasi pembicara, Anda perlu menetapkan
kolom diarization_config
di
RecognitionFeatures
. Anda harus menetapkan nilai min_speaker_count
dan max_speaker_count
sesuai dengan jumlah pembicara yang diharapkan dalam transkrip.
Speech-to-Text mendukung diarisasi
pembicara untuk semua metode pengenalan ucapan:
speech:recognize
dan Streaming.
Menggunakan file lokal
Cuplikan kode berikut menunjukkan cara mengaktifkan diarisasi pembicara dalam permintaan transkripsi ke Speech-to-Text menggunakan file lokal
Protokol
Lihat endpoint speech:recognize
API untuk
mengetahui detail selengkapnya.
Untuk melakukan pengenalan ucapan sinkron, buat permintaan POST
dan berikan
isi permintaan yang sesuai. Berikut ini contoh permintaan POST
yang menggunakan
curl
. Contoh ini menggunakan Google Cloud CLI untuk membuat token akses. Untuk mengetahui petunjuk cara menginstal gcloud CLI, lihat quickstart.
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v2/projects/{project}/locations/{location}/recognizers/{recognizer}:recognize \ --data '{ "config": { "features": { "diarizationConfig": { "minSpeakerCount": 2, "maxSpeakerCount": 2 }, } }, "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" }' > speaker-diarization.txt
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan respons dalam format JSON yang disimpan ke file bernama
speaker-diarization.txt
.
{ "results": [ { "alternatives": [ { "transcript": "hi I'd like to buy a Chromecast and I was wondering whether you could help me with that certainly which color would you like we have blue black and red uh let's go with the black one would you like the new Chromecast Ultra model or the regular Chrome Cast regular Chromecast is fine thank you okay sure we like to ship it regular or Express Express please terrific it's on the way thank you thank you very much bye", "confidence": 0.92142606, "words": [ { "startOffset": "0s", "endOffset": "1.100s", "word": "hi", "speakerLabel": "2" }, { "startOffset": "1.100s", "endOffset": "2s", "word": "I'd", "speakerLabel": "2" }, { "startOffset": "2s", "endOffset": "2s", "word": "like", "speakerLabel": "2" }, { "startOffset": "2s", "endOffset": "2.100s", "word": "to", "speakerLabel": "2" }, ... { "startOffset": "6.500s", "endOffset": "6.900s", "word": "certainly", "speakerLabel": "1" }, { "startOffset": "6.900s", "endOffset": "7.300s", "word": "which", "speakerLabel": "1" }, { "startOffset": "7.300s", "endOffset": "7.500s", "word": "color", "speakerLabel": "1" }, ... ] } ], "languageCode": "en-us" } ] }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Speech-to-Text, lihat Library klien Speech-to-Text. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Go Speech-to-Text.
Untuk mengautentikasi ke Speech-to-Text, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Speech-to-Text, lihat Library klien Speech-to-Text. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Speech-to-Text.
Untuk mengautentikasi ke Speech-to-Text, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.