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 dengan menggunakan REST API Ucapan ke teks v3.2. Untuk informasi selengkapnya, lihat panduan harga.

Prasyarat

  • Speech SDK terinstal.
  • Sumber daya Ucapan standar (S0). Sumber daya gratis (F0) tidak didukung.

Membuat pekerjaan transkripsi

Untuk membuat transkripsi, gunakan operasi Transcriptions_Create Rest API Ucapan ke teks. Buat isi permintaan sesuai dengan instruksi berikut:

  • Anda harus mengatur contentContainerUrl properti atau contentUrls . 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 untuk true mengaktifkan tanda waktu tingkat kata dalam hasil transkripsi. Nilai defaultnya adalah false. Untuk model Whisper, atur properti sebagai gantinya displayFormWordLevelTimestampsEnabled . 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 mengatur languageIdentification properti , maka Anda juga harus mengatur languageIdentification.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.1/transcriptions"

Anda akan menerima isi respons dalam format berikut:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/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": "2022-10-21T14:18:06Z",
  "status": "NotStarted",
  "createdDateTime": "2022-10-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.

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 titik 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. Parameter language Speech CLI sesuai dengan properti locale 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. Parameter name Speech CLI sesuai dengan properti displayName 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.1/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked"
  },
  "lastActionDateTime": "2022-10-21T14:21:59Z",
  "status": "NotStarted",
  "createdDateTime": "2022-10-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 yang dapat Anda gunakan untuk mengonfigurasi transkripsi saat Anda memanggil operasi Transcriptions_Create .

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 diarizationEnabledtrue. 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.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/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.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"

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 .

Model bisikan berdasarkan transkripsi batch didukung di wilayah Australia Timur, AS Tengah, AS 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-preview.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-preview.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-preview.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-preview.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950",
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.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-preview.2/models/base/d9cbeee6-582b-47ad-b5c1-6226583c92b6"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
  },
}'  "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2-preview.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-preview.2/models/base/d9cbeee6-582b-47ad-b5c1-6226583c92b6" --api-version v3.2-preview.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.