Membuat transkripsi batch
Dengan transkripsi batch, Anda mengirimkan data audio dalam batch. Layanan mentranskripsikan data audio dan menyimpan hasilnya dalam kontainer penyimpanan. Anda kemudian dapat mengambil hasil dari kontainer penyimpanan.
Penting
Harga baru berlaku untuk transkripsi batch yang menggunakan ucapan ke teks REST API v3.2. Untuk informasi selengkapnya, lihat panduan harga.
Prasyarat
Anda memerlukan sumber daya Ucapan standar (S0). Sumber daya gratis (F0) tidak didukung.
Membuat pekerjaan transkripsi
Untuk membuat pekerjaan transkripsi batch, gunakan operasi Transcriptions_Create ucapan ke teks REST API. Buat isi permintaan sesuai dengan instruksi berikut:
- Anda harus mengatur
contentContainerUrl
properti ataucontentUrls
. Untuk informasi selengkapnya tentang penyimpanan blob Azure untuk transkripsi batch, lihat Menemukan file audio untuk transkripsi batch. - Atur properti
locale
yang diperlukan. Nilai ini harus cocok dengan lokal data audio yang diharapkan untuk ditranskripsikan. Anda tidak dapat mengubah lokal nanti. - Atur properti
displayName
yang diperlukan. Pilih nama transkripsi yang dapat Anda rujuk nanti. Nama transkripsi tidak harus unik dan dapat diubah nanti. - Secara opsional, untuk menggunakan model selain model dasar, atur
model
properti ke ID model. Untuk informasi selengkapnya, lihat Menggunakan model kustom dan Menggunakan model Whisper. - Secara opsional, atur
wordLevelTimestampsEnabled
properti ke untuktrue
mengaktifkan tanda waktu tingkat kata dalam hasil transkripsi. Nilai defaultnya adalahfalse
. Untuk model Whisper, atur properti sebagai gantinyadisplayFormWordLevelTimestampsEnabled
. Whisper adalah model khusus tampilan, sehingga bidang leksikal tidak diisi dalam transkripsi. - Secara opsional, atur
languageIdentification
properti . Identifikasi bahasa digunakan untuk mengidentifikasi bahasa yang diucapkan dalam audio saat dibandingkan dengan daftar bahasa yang didukung. Jika Anda mengaturlanguageIdentification
properti , maka Anda juga harus mengaturlanguageIdentification.candidateLocales
dengan lokal kandidat.
Untuk informasi selengkapnya, lihat Meminta opsi konfigurasi.
Buat permintaan HTTP POST yang menggunakan URI seperti yang ditunjukkan dalam contoh Transcriptions_Create berikut.
- Ganti
YourSubscriptionKey
dengan kunci sumber daya Ucapan Anda. - Ganti
YourServiceRegion
dengan wilayah sumber daya Ucapan Anda. - Atur properti isi permintaan seperti yang dijelaskan sebelumnya.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
"contentUrls": [
"https://crbn.us/hello.wav",
"https://crbn.us/whatstheweatherlike.wav"
],
"locale": "en-US",
"displayName": "My Transcription",
"model": null,
"properties": {
"wordLevelTimestampsEnabled": true,
"languageIdentification": {
"candidateLocales": [
"en-US", "de-DE", "es-ES"
],
}
},
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions"
Anda akan menerima isi respons dalam format berikut:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba",
"model": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba/files"
},
"properties": {
"diarizationEnabled": false,
"wordLevelTimestampsEnabled": true,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked",
"languageIdentification": {
"candidateLocales": [
"en-US",
"de-DE",
"es-ES"
]
}
},
"lastActionDateTime": "2024-05-21T14:18:06Z",
"status": "NotStarted",
"createdDateTime": "2024-05-21T14:18:06Z",
"locale": "en-US",
"displayName": "My Transcription"
}
Properti tingkat self
atas dalam isi respons adalah URI transkripsi. Gunakan URI ini untuk mendapatkan detail seperti URI file laporan transkripsi dan transkripsi. Anda juga menggunakan URI ini untuk memperbarui atau menghapus transkripsi.
Anda bisa mengkueri status transkripsi Anda dengan operasi Transcriptions_Get .
Hubungi Transcriptions_Delete secara teratur dari layanan, setelah Anda mengambil hasilnya. Atau, atur properti timeToLive
untuk memastikan penghapusan hasil akhirnya.
Tip
Anda juga dapat mencoba API Transkripsi Batch menggunakan Python, C#, atau Node.js di GitHub.
Untuk membuat transkripsi, gunakan spx batch transcription create
perintah . Buat parameter permintaan sesuai dengan instruksi berikut:
- Atur parameter
content
yang diperlukan. Anda dapat menentukan daftar file individual yang dibatasi koma atau URL untuk seluruh kontainer. Untuk informasi selengkapnya tentang penyimpanan blob Azure untuk transkripsi batch, lihat Menemukan file audio untuk transkripsi batch. - Atur properti
language
yang diperlukan. Nilai ini harus cocok dengan lokal data audio yang diharapkan untuk ditranskripsikan. Anda tidak dapat mengubah lokal nanti. Parameterlanguage
Speech CLI sesuai dengan propertilocale
dalam permintaan dan respons JSON. - Atur properti
name
yang diperlukan. Pilih nama transkripsi yang dapat Anda rujuk nanti. Nama transkripsi tidak harus unik dan dapat diubah nanti. Parametername
Speech CLI sesuai dengan propertidisplayName
dalam permintaan dan respons JSON.
Berikut adalah contoh perintah Speech CLI yang membuat pekerjaan transkripsi:
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav,https://crbn.us/whatstheweatherlike.wav
Anda akan menerima isi respons dalam format berikut:
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0",
"model": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
},
"links": {
"files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0/files"
},
"properties": {
"diarizationEnabled": false,
"wordLevelTimestampsEnabled": false,
"channels": [
0,
1
],
"punctuationMode": "DictatedAndAutomatic",
"profanityFilterMode": "Masked"
},
"lastActionDateTime": "2024-05-21T14:21:59Z",
"status": "NotStarted",
"createdDateTime": "2024-05-21T14:21:59Z",
"locale": "en-US",
"displayName": "My Transcription",
"description": ""
}
Properti tingkat self
atas dalam isi respons adalah URI transkripsi. Gunakan URI ini untuk mendapatkan detail seperti URI file laporan transkripsi dan transkripsi. Anda juga menggunakan URI ini untuk memperbarui atau menghapus transkripsi.
Untuk bantuan Speech CLI dengan transkripsi, jalankan perintah berikut:
spx help batch transcription
Opsi konfigurasi permintaan
Berikut adalah beberapa opsi properti untuk mengonfigurasi transkripsi saat Anda memanggil operasi Transcriptions_Create . Anda dapat menemukan lebih banyak contoh di halaman yang sama, seperti membuat transkripsi dengan identifikasi bahasa.
Properti | Deskripsi |
---|---|
channels |
Array nomor saluran untuk diproses. 0 Saluran dan 1 ditranskripsikan secara default. |
contentContainerUrl |
Anda dapat mengirimkan file audio individual atau seluruh kontainer penyimpanan. Anda harus menentukan lokasi data audio dengan menggunakan contentContainerUrl properti atau contentUrls . Untuk informasi selengkapnya tentang penyimpanan blob Azure untuk transkripsi batch, lihat Menemukan file audio untuk transkripsi batch.Properti ini tidak dikembalikan dalam respons. |
contentUrls |
Anda dapat mengirimkan file audio individual atau seluruh kontainer penyimpanan. Anda harus menentukan lokasi data audio dengan menggunakan contentContainerUrl properti atau contentUrls . Untuk informasi selengkapnya, lihat Menemukan file audio untuk transkripsi batch.Properti ini tidak dikembalikan dalam respons. |
destinationContainerUrl |
Hasilnya dapat disimpan dalam kontainer Azure. Jika Anda tidak menentukan kontainer, layanan Ucapan menyimpan hasilnya dalam kontainer yang dikelola oleh Microsoft. Saat pekerjaan transkripsi dihapus, data hasil transkripsi juga dihapus. Untuk informasi selengkapnya, seperti skenario keamanan yang didukung, lihat Menentukan URL kontainer tujuan. |
diarization |
Menunjukkan bahwa layanan Ucapan harus mencoba analisis diarisasi pada input, yang diharapkan menjadi saluran mono yang berisi beberapa suara. Fitur ini tidak tersedia dengan rekaman stereo. Diarisasi adalah proses memisahkan speaker dalam data audio. Alur batch dapat mengenali dan memisahkan beberapa speaker pada rekaman saluran mono. Tentukan jumlah minimum dan maksimum orang yang mungkin berbicara. Anda juga harus mengatur properti ke diarizationEnabled true . File transkripsi berisi speaker entri untuk setiap frasa yang ditranskripsikan.Anda perlu menggunakan properti ini ketika Anda mengharapkan tiga atau lebih speaker. Untuk dua speaker, mengatur diarizationEnabled properti sudah true cukup. Untuk contoh penggunaan properti, lihat Transcriptions_Create.Jumlah maksimum speaker untuk diarisasi harus kurang dari 36 dan lebih atau sama dengan minSpeakers properti . Misalnya, lihat Transcriptions_Create.Ketika properti ini dipilih, panjang audio sumber tidak boleh melebihi 240 menit per file. Catatan: Properti ini hanya tersedia dengan REST API Ucapan ke teks versi 3.1 dan yang lebih baru. Jika Anda mengatur properti ini dengan versi sebelumnya, seperti versi 3.0, properti ini diabaikan dan hanya dua speaker yang diidentifikasi. |
diarizationEnabled |
Menentukan bahwa layanan Ucapan harus mencoba analisis diarisasi pada input, yang diharapkan menjadi saluran mono yang berisi dua suara. Nilai defaultnya adalah false .Untuk tiga suara atau lebih, Anda juga perlu menggunakan properti diarization . Gunakan hanya dengan Ucapan ke teks REST API versi 3.1 dan yang lebih baru.Ketika properti ini dipilih, panjang audio sumber tidak boleh melebihi 240 menit per file. |
displayName |
Nama transkripsi batch. Pilih nama yang dapat Anda rujuk nanti. Nama tampilan tidak harus unik. Properti ini diperlukan. |
displayFormWordLevelTimestampsEnabled |
Menentukan apakah akan menyertakan tanda waktu tingkat kata pada formulir tampilan hasil transkripsi. Hasilnya dikembalikan dalam displayWords properti file transkripsi. Nilai defaultnya adalah false .Catatan: Properti ini hanya tersedia dengan REST API Ucapan ke teks versi 3.1 dan yang lebih baru. |
languageIdentification |
Identifikasi bahasa digunakan untuk mengidentifikasi bahasa yang diucapkan dalam audio saat dibandingkan dengan daftar bahasa yang didukung. Jika Anda mengatur languageIdentification properti , maka Anda juga harus mengatur properti tertutupnya candidateLocales . |
languageIdentification.candidateLocales |
Kandidat lokal untuk identifikasi bahasa, seperti "properties": { "languageIdentification": { "candidateLocales": ["en-US", "de-DE", "es-ES"]}} . Minimal dua dan maksimum sepuluh lokal kandidat, termasuk lokal utama untuk transkripsi, didukung. |
locale |
Lokal transkripsi batch. Nilai ini harus cocok dengan lokal data audio yang diharapkan untuk ditranskripsikan. Lokal tidak dapat diubah nanti. Properti ini diperlukan. |
model |
Anda dapat mengatur model properti untuk menggunakan model dasar atau model ucapan kustom tertentu. Jika Anda tidak menentukan model , model dasar default untuk lokal digunakan. Untuk informasi selengkapnya, lihat Menggunakan model kustom dan Menggunakan model Whisper. |
profanityFilterMode |
Menentukan cara menangani kata-kata tidak senonoh dalam hasil pengenalan. Nilai yang diterima adalah None untuk menonaktifkan pemfilteran kata-kata kotor, Masked untuk mengganti kata-kata kotor dengan tanda bintang, Removed untuk menghapus semua kata-kata kotor dari hasil, atau Tags untuk menambahkan tag "kata-kata kotor". Nilai defaultnya adalah Masked . |
punctuationMode |
Menentukan cara menangani tanda baca dalam hasil pengenalan. Nilai yang diterima adalah None untuk menonaktifkan tanda baca, Dictated untuk menyiratkan tanda baca eksplisit (lisan), Automatic untuk membiarkan dekoder menangani tanda baca, atau DictatedAndAutomatic untuk menggunakan tanda baca yang ditentukan dan otomatis. Nilai defaultnya adalah DictatedAndAutomatic .Properti ini tidak berlaku untuk model Whisper. |
timeToLive |
Durasi setelah pekerjaan transkripsi dibuat, ketika hasil transkripsi akan dihapus secara otomatis. Nilainya adalah durasi yang dikodekan ISO 8601. Misalnya, tentukan PT12H selama 12 jam. Sebagai alternatif, Anda dapat memanggil Transcriptions_Delete secara teratur setelah Anda mengambil hasil transkripsi. |
wordLevelTimestampsEnabled |
Menentukan apakah tanda waktu tingkat kata harus disertakan dalam output. Nilai defaultnya adalah false .Properti ini tidak berlaku untuk model Whisper. Whisper adalah model khusus tampilan, sehingga bidang leksikal tidak diisi dalam transkripsi. |
Untuk bantuan Speech CLI dengan opsi konfigurasi transkripsi, jalankan perintah berikut:
spx help batch transcription create advanced
Menggunakan model kustom
Transkripsi batch menggunakan model dasar default untuk lokal yang Anda tentukan. Anda tidak perlu mengatur properti apa pun untuk menggunakan model dasar default.
Secara opsional, Anda dapat memodifikasi contoh transkripsi buat sebelumnya dengan mengatur model
properti untuk menggunakan model dasar atau model ucapan kustom tertentu.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
"contentUrls": [
"https://crbn.us/hello.wav",
"https://crbn.us/whatstheweatherlike.wav"
],
"locale": "en-US",
"displayName": "My Transcription",
"model": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
},
"properties": {
"wordLevelTimestampsEnabled": true,
},
}' "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions"
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav,https://crbn.us/whatstheweatherlike.wav --model "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/5988d691-0893-472c-851e-8e36a0fe7aaf"
Untuk menggunakan model ucapan kustom untuk transkripsi batch, Anda memerlukan URI model. Properti self
tingkat atas dalam isi respons adalah URI model. Anda dapat mengambil lokasi model saat membuat atau mendapatkan model. Untuk informasi selengkapnya, lihat contoh respons JSON di Membuat model.
Tip
Titik akhir penyebaran yang dihosting tidak diperlukan untuk menggunakan ucapan kustom dengan layanan transkripsi batch. Anda dapat menghemat sumber daya jika Anda menggunakan model ucapan kustom hanya untuk transkripsi batch.
Permintaan transkripsi batch untuk model kedaluwarsa gagal dengan kesalahan 4xx. Atur model
properti ke model dasar atau model kustom yang tidak kedaluwarsa. Jika tidak, jangan sertakan properti model
untuk selalu menggunakan model dasar terbaru. Untuk informasi selengkapnya, lihat Memilih model dan Siklus hidup model ucapan kustom.
Menggunakan model Whisper
Azure AI Speech mendukung model Whisper OpenAI dengan menggunakan API transkripsi batch. Anda dapat menggunakan model Whisper untuk transkripsi batch.
Catatan
Azure OpenAI Service juga mendukung model Whisper OpenAI untuk ucapan ke teks dengan REST API sinkron. Untuk mempelajari selengkapnya, lihat Ucapan ke teks dengan model Azure OpenAI Whisper. Untuk informasi selengkapnya tentang kapan menggunakan Azure AI Speech vs. Azure OpenAI Service, lihat Apa itu model Whisper?
Untuk menggunakan model Whisper untuk transkripsi batch, Anda perlu mengatur model
properti . Whisper adalah model khusus tampilan, sehingga bidang leksikal tidak diisi dalam respons.
Penting
Untuk model Whisper, Anda harus selalu menggunakan api ucapan ke teks versi 3.2 .
Transkripsi batch menggunakan model Whisper didukung di wilayah Australia Timur, AS Tengah, US Timur, US Tengah Utara, AS Tengah Selatan, Asia Tenggara, dan Eropa Barat.
Anda dapat membuat permintaan Models_ListBaseModels untuk mendapatkan model dasar yang tersedia untuk semua lokal.
Buat permintaan HTTP GET seperti yang ditunjukkan dalam contoh berikut untuk wilayah tersebut eastus
. Ganti YourSubscriptionKey
dengan kunci sumber daya Ucapan Anda. Ganti eastus
jika Anda menggunakan wilayah lain.
curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Secara default, hanya 100 model dasar terlama yang dikembalikan. skip
Gunakan parameter kueri dan top
ke halaman melalui hasil. Misalnya, permintaan berikut mengembalikan 100 model dasar berikutnya setelah 100 pertama.
curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base?skip=100&top=100" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Pastikan Anda mengatur variabel konfigurasi untuk sumber daya Ucapan di salah satu wilayah yang didukung. Anda dapat menjalankan perintah spx csr list --base
untuk mendapatkan model dasar yang tersedia untuk semua lokal.
spx csr list --base --api-version v3.2
Properti displayName
model Whisper berisi "Whisper" seperti yang ditunjukkan dalam contoh ini. Whisper adalah model khusus tampilan, sehingga bidang leksikal tidak diisi dalam transkripsi.
{
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950",
"links": {
"manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950/manifest"
},
"properties": {
"deprecationDates": {
"adaptationDateTime": "2025-04-15T00:00:00Z",
"transcriptionDateTime": "2026-04-15T00:00:00Z"
},
"features": {
"supportsTranscriptions": true,
"supportsEndpoints": false,
"supportsTranscriptionsOnSpeechContainers": false,
"supportsAdaptationsWith": [
"Acoustic"
],
"supportedOutputFormats": [
"Display"
]
},
"chargeForAdaptation": true
},
"lastActionDateTime": "2024-02-29T15:53:28Z",
"status": "Succeeded",
"createdDateTime": "2024-02-29T15:46:07Z",
"locale": "en-US",
"displayName": "20240228 Whisper Large V2",
"description": "OpenAI Whisper Model in Azure AI Speech (Whisper v2-large)"
},
Anda mengatur URI model lengkap seperti yang ditunjukkan dalam contoh ini untuk wilayah tersebut eastus
. Ganti YourSubscriptionKey
dengan kunci sumber daya Ucapan Anda. Ganti eastus
jika Anda menggunakan wilayah lain.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
"contentUrls": [
"https://crbn.us/hello.wav",
"https://crbn.us/whatstheweatherlike.wav"
],
"locale": "en-US",
"displayName": "My Transcription",
"model": {
"self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950"
},
"properties": {
"wordLevelTimestampsEnabled": true,
},
}' "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions"
Anda mengatur URI model lengkap seperti yang ditunjukkan dalam contoh ini untuk wilayah tersebut eastus
. Ganti eastus
jika Anda menggunakan wilayah lain.
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav,https://crbn.us/whatstheweatherlike.wav --model "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950" --api-version v3.2
Tentukan URL kontainer tujuan
Hasil transkripsi dapat disimpan dalam kontainer Azure. Jika Anda tidak menentukan kontainer, layanan Ucapan menyimpan hasilnya dalam kontainer yang dikelola oleh Microsoft. Dalam hal ini, ketika pekerjaan transkripsi dihapus, data hasil transkripsi juga dihapus.
Anda dapat menyimpan hasil transkripsi batch ke kontainer penyimpanan Azure Blob yang dapat ditulis menggunakan opsi destinationContainerUrl
dalam permintaan pembuatan transkripsi batch. Opsi ini hanya menggunakan URI SAS ad hoc dan tidak mendukung mekanisme keamanan layanan Azure Tepercaya. Opsi ini juga tidak mendukung SAS berbasis kebijakan Akses. Sumber daya akun Penyimpanan dari kontainer tujuan harus mengizinkan semua lalu lintas eksternal.
Jika Anda ingin menyimpan hasil transkripsi dalam kontainer penyimpanan Azure Blob dengan menggunakan mekanisme keamanan layanan Azure Tepercaya, pertimbangkan untuk menggunakan Bring-your-own-storage (BYOS). Untuk informasi selengkapnya, lihat Menggunakan sumber daya Ucapan Bring your own storage (BYOS) untuk ucapan ke teks.