Mendapatkan hasil transkripsi batch

Untuk mendapatkan hasil transkripsi, pertama-tama periksa status pekerjaan transkripsi. Jika pekerjaan selesai, Anda dapat mengambil laporan transkripsi dan transkripsi.

Mendapatkan status transkripsi

Untuk mendapatkan status pekerjaan transkripsi, panggil operasi Transcriptions_Get Rest API Ucapan ke teks.

Penting

Pekerjaan transkripsi batch dijadwalkan berdasarkan upaya terbaik. Pada jam sibuk, mungkin perlu waktu hingga 30 menit atau lebih lama agar pekerjaan transkripsi mulai diproses. Sebagian besar waktu selama eksekusi status transkripsi adalah Running. Ini karena pekerjaan diberi Running status saat ia pindah ke sistem backend transkripsi batch. Ketika model dasar digunakan, penugasan ini terjadi segera; sedikit lebih lambat untuk model kustom. Dengan demikian, jumlah waktu yang dihabiskan pekerjaan transkripsi dalam Running status tidak sesuai dengan waktu transkripsi aktual tetapi juga mencakup waktu tunggu dalam antrean internal.

Buat permintaan HTTP GET menggunakan URI seperti yang ditunjukkan dalam contoh berikut. Ganti YourTranscriptionId dengan ID transkripsi Anda, ganti YourSubscriptionKey dengan kunci sumber daya Ucapan Anda, dan ganti YourServiceRegion dengan wilayah sumber daya Ucapan Anda.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/YourTranscriptionId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Anda akan menerima isi respons dalam format berikut:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/aaa321e9-5a4e-4db1-88a2-f251bbe7b555"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false,
    "displayFormWordLevelTimestampsEnabled": true,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked",
    "duration": "PT3S",
    "languageIdentification": {
      "candidateLocales": [
        "en-US",
        "de-DE",
        "es-ES"
      ]
    }
  },
  "lastActionDateTime": "2022-09-10T18:39:09Z",
  "status": "Succeeded",
  "createdDateTime": "2022-09-10T18:39:07Z",
  "locale": "en-US",
  "displayName": "My Transcription"
}

Properti status menunjukkan status transkripsi saat ini. Transkripsi dan laporan transkripsi tersedia ketika status transkripsi adalah Succeeded.

Penting

Pekerjaan transkripsi batch dijadwalkan berdasarkan upaya terbaik. Pada jam sibuk, mungkin perlu waktu hingga 30 menit atau lebih lama agar pekerjaan transkripsi mulai diproses. Sebagian besar waktu selama eksekusi status transkripsi adalah Running. Ini karena pekerjaan diberi Running status saat ia pindah ke sistem backend transkripsi batch. Ketika model dasar digunakan, penugasan ini terjadi segera; sedikit lebih lambat untuk model kustom. Dengan demikian, jumlah waktu yang dihabiskan pekerjaan transkripsi dalam Running status tidak sesuai dengan waktu transkripsi aktual tetapi juga mencakup waktu tunggu dalam antrean internal.

Untuk mendapatkan status pekerjaan transkripsi, gunakan spx batch transcription status perintah . Buat parameter permintaan sesuai dengan instruksi berikut:

  • Atur transcription parameter ke ID transkripsi yang ingin Anda dapatkan.

Berikut adalah contoh perintah Speech CLI untuk mendapatkan status transkripsi:

spx batch transcription status --api-version v3.1 --transcription YourTranscriptionId

Anda akan menerima isi respons dalam format berikut:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/aaa321e9-5a4e-4db1-88a2-f251bbe7b555"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false,
    "displayFormWordLevelTimestampsEnabled": true,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked",
    "duration": "PT3S"
  },
  "lastActionDateTime": "2022-09-10T18:39:09Z",
  "status": "Succeeded",
  "createdDateTime": "2022-09-10T18:39:07Z",
  "locale": "en-US",
  "displayName": "My Transcription"
}

Properti status menunjukkan status transkripsi saat ini. Transkripsi dan laporan transkripsi tersedia ketika status transkripsi adalah Succeeded.

Untuk bantuan Speech CLI dengan transkripsi, jalankan perintah berikut:

spx help batch transcription

Mendapatkan hasil transkripsi

Operasi Transcriptions_ListFiles mengembalikan daftar file hasil untuk transkripsi. File laporan transkripsi disediakan untuk setiap pekerjaan transkripsi batch yang dikirimkan. Selain itu, satu file transkripsi (hasil akhir) disediakan untuk setiap file audio yang berhasil ditranskripsikan.

Buat permintaan HTTP GET menggunakan URI "file" dari isi respons sebelumnya. Ganti YourTranscriptionId dengan ID transkripsi Anda, ganti YourSubscriptionKey dengan kunci sumber daya Ucapan Anda, dan ganti YourServiceRegion dengan wilayah sumber daya Ucapan Anda.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/YourTranscriptionId/files" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Anda akan menerima isi respons dalam format berikut:

{
  "values": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/2dd180a1-434e-4368-a1ac-37350700284f",
      "name": "contenturl_0.json",
      "kind": "Transcription",
      "properties": {
        "size": 3407
      },
      "createdDateTime": "2022-09-10T18:39:09Z",
      "links": {
        "contentUrl": "https://spsvcprodeus.blob.core.windows.net/bestor-c6e3ae79-1b48-41bf-92ff-940bea3e5c2d/TranscriptionData/637d9333-6559-47a6-b8de-c7d732c1ddf3_0_0.json?sv=2021-08-06&st=2022-09-10T18%3A36%3A01Z&se=2022-09-11T06%3A41%3A01Z&sr=b&sp=rl&sig=AobsqO9DH9CIOuGC5ifFH3QpkQay6PjHiWn5G87FcIg%3D"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/c027c6a9-2436-4303-b64b-e98e3c9fc2e3",
      "name": "contenturl_1.json",
      "kind": "Transcription",
      "properties": {
        "size": 8233
      },
      "createdDateTime": "2022-09-10T18:39:09Z",
      "links": {
        "contentUrl": "https://spsvcprodeus.blob.core.windows.net/bestor-c6e3ae79-1b48-41bf-92ff-940bea3e5c2d/TranscriptionData/637d9333-6559-47a6-b8de-c7d732c1ddf3_1_0.json?sv=2021-08-06&st=2022-09-10T18%3A36%3A01Z&se=2022-09-11T06%3A41%3A01Z&sr=b&sp=rl&sig=wO3VxbhLK4PhT3rwLpJXBYHYQi5EQqyl%2Fp1lgjNvfh0%3D"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/faea9a41-c95c-4d91-96ff-e39225def642",
      "name": "report.json",
      "kind": "TranscriptionReport",
      "properties": {
        "size": 279
      },
      "createdDateTime": "2022-09-10T18:39:09Z",
      "links": {
        "contentUrl": "https://spsvcprodeus.blob.core.windows.net/bestor-c6e3ae79-1b48-41bf-92ff-940bea3e5c2d/TranscriptionData/637d9333-6559-47a6-b8de-c7d732c1ddf3_report.json?sv=2021-08-06&st=2022-09-10T18%3A36%3A01Z&se=2022-09-11T06%3A41%3A01Z&sr=b&sp=rl&sig=gk1k%2Ft5qa1TpmM45tPommx%2F2%2Bc%2FUUfsYTX5FoSa1u%2FY%3D"
      }
    }
  ]
}

Lokasi setiap file laporan transkripsi dan transkripsi dengan detail lebih lanjut dikembalikan dalam isi respons. Properti contentUrl berisi URL ke file transkripsi ("kind": "Transcription") atau laporan transkripsi ("kind": "TranscriptionReport").

Jika Anda tidak menentukan kontainer di destinationContainerUrl properti permintaan transkripsi, hasilnya disimpan dalam kontainer yang dikelola oleh Microsoft. Saat pekerjaan transkripsi dihapus, data hasil transkripsi juga dihapus.

Perintah spx batch transcription list mengembalikan daftar file hasil untuk transkripsi. File laporan transkripsi disediakan untuk setiap pekerjaan transkripsi batch yang dikirimkan. Selain itu, satu file transkripsi (hasil akhir) disediakan untuk setiap file audio yang berhasil ditranskripsikan.

  • Atur bendera yang diperlukan files .
  • Atur parameter yang diperlukan transcription ke ID transkripsi yang ingin Anda dapatkan lognya.

Berikut adalah contoh perintah Speech CLI yang mendapatkan daftar file hasil untuk transkripsi:

spx batch transcription list --api-version v3.1 --files --transcription YourTranscriptionId

Anda akan menerima isi respons dalam format berikut:

{
  "values": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/2dd180a1-434e-4368-a1ac-37350700284f",
      "name": "contenturl_0.json",
      "kind": "Transcription",
      "properties": {
        "size": 3407
      },
      "createdDateTime": "2022-09-10T18:39:09Z",
      "links": {
        "contentUrl": "https://spsvcprodeus.blob.core.windows.net/bestor-c6e3ae79-1b48-41bf-92ff-940bea3e5c2d/TranscriptionData/637d9333-6559-47a6-b8de-c7d732c1ddf3_0_0.json?sv=2021-08-06&st=2022-09-10T18%3A36%3A01Z&se=2022-09-11T06%3A41%3A01Z&sr=b&sp=rl&sig=AobsqO9DH9CIOuGC5ifFH3QpkQay6PjHiWn5G87FcIg%3D"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/c027c6a9-2436-4303-b64b-e98e3c9fc2e3",
      "name": "contenturl_1.json",
      "kind": "Transcription",
      "properties": {
        "size": 8233
      },
      "createdDateTime": "2022-09-10T18:39:09Z",
      "links": {
        "contentUrl": "https://spsvcprodeus.blob.core.windows.net/bestor-c6e3ae79-1b48-41bf-92ff-940bea3e5c2d/TranscriptionData/637d9333-6559-47a6-b8de-c7d732c1ddf3_1_0.json?sv=2021-08-06&st=2022-09-10T18%3A36%3A01Z&se=2022-09-11T06%3A41%3A01Z&sr=b&sp=rl&sig=wO3VxbhLK4PhT3rwLpJXBYHYQi5EQqyl%2Fp1lgjNvfh0%3D"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/faea9a41-c95c-4d91-96ff-e39225def642",
      "name": "report.json",
      "kind": "TranscriptionReport",
      "properties": {
        "size": 279
      },
      "createdDateTime": "2022-09-10T18:39:09Z",
      "links": {
        "contentUrl": "https://spsvcprodeus.blob.core.windows.net/bestor-c6e3ae79-1b48-41bf-92ff-940bea3e5c2d/TranscriptionData/637d9333-6559-47a6-b8de-c7d732c1ddf3_report.json?sv=2021-08-06&st=2022-09-10T18%3A36%3A01Z&se=2022-09-11T06%3A41%3A01Z&sr=b&sp=rl&sig=gk1k%2Ft5qa1TpmM45tPommx%2F2%2Bc%2FUUfsYTX5FoSa1u%2FY%3D"
      }
    }
  ]
}

Lokasi setiap file laporan transkripsi dan transkripsi dengan detail lebih lanjut dikembalikan dalam isi respons. Properti contentUrl berisi URL ke file transkripsi ("kind": "Transcription") atau laporan transkripsi ("kind": "TranscriptionReport").

Secara default, hasilnya disimpan dalam kontainer yang dikelola oleh Microsoft. Saat pekerjaan transkripsi dihapus, data hasil transkripsi juga dihapus.

File laporan transkripsi

Satu file laporan transkripsi disediakan untuk setiap pekerjaan transkripsi batch yang dikirimkan.

Konten setiap file hasil transkripsi diformat sebagai JSON, seperti yang ditunjukkan dalam contoh ini.

{
  "successfulTranscriptionsCount": 2,
  "failedTranscriptionsCount": 0,
  "details": [
    {
      "source": "https://crbn.us/hello.wav",
      "status": "Succeeded"
    },
    {
      "source": "https://crbn.us/whatstheweatherlike.wav",
      "status": "Succeeded"
    }
  ]
}

File hasil Transkripsi

Satu file hasil transkripsi disediakan untuk setiap file audio yang berhasil ditranskripsikan.

Konten setiap file hasil transkripsi diformat sebagai JSON, seperti yang ditunjukkan dalam contoh ini.

{
  "source": "...",
  "timestamp": "2023-07-10T14:28:16Z",
  "durationInTicks": 25800000,
  "duration": "PT2.58S",
  "combinedRecognizedPhrases": [
    {
      "channel": 0,
      "lexical": "hello world",
      "itn": "hello world",
      "maskedITN": "hello world",
      "display": "Hello world."
    }
  ],
  "recognizedPhrases": [
    {
      "recognitionStatus": "Success",
      "channel": 0,
      "offset": "PT0.76S",
      "duration": "PT1.32S",
      "offsetInTicks": 7600000.0,
      "durationInTicks": 13200000.0,
      "nBest": [
        {
          "confidence": 0.5643338,
          "lexical": "hello world",
          "itn": "hello world",
          "maskedITN": "hello world",
          "display": "Hello world.",
          "displayWords": [
            {
              "displayText": "Hello",
              "offset": "PT0.76S",
              "duration": "PT0.76S",
              "offsetInTicks": 7600000.0,
              "durationInTicks": 7600000.0
            },
            {
              "displayText": "world.",
              "offset": "PT1.52S",
              "duration": "PT0.56S",
              "offsetInTicks": 15200000.0,
              "durationInTicks": 5600000.0
            }
          ]
        },
        {
          "confidence": 0.1769063,
          "lexical": "helloworld",
          "itn": "helloworld",
          "maskedITN": "helloworld",
          "display": "helloworld"
        },
        {
          "confidence": 0.49964225,
          "lexical": "hello worlds",
          "itn": "hello worlds",
          "maskedITN": "hello worlds",
          "display": "hello worlds"
        },
        {
          "confidence": 0.4995761,
          "lexical": "hello worm",
          "itn": "hello worm",
          "maskedITN": "hello worm",
          "display": "hello worm"
        },
        {
          "confidence": 0.49418187,
          "lexical": "hello word",
          "itn": "hello word",
          "maskedITN": "hello word",
          "display": "hello word"
        }
      ]
    }
  ]
}

Bergantung sebagian pada parameter permintaan yang ditetapkan saat Anda membuat pekerjaan transkripsi, file transkripsi dapat berisi properti hasil berikut.

Properti Deskripsi
channel Nomor saluran hasil. Untuk streaming audio stereo, saluran kiri dan kanan dibagi selama transkripsi. File hasil JSON dibuat untuk setiap file audio input.
combinedRecognizedPhrases Hasil yang digabungkan dari semua frasa untuk saluran.
confidence Nilai keyakinan untuk pengenalan.
display Bentuk tampilan teks yang dikenali. Menambahkan tanda baca dan kapitalisasi disertakan.
displayWords Tanda waktu untuk setiap kata transkripsi. Properti displayFormWordLevelTimestampsEnabled permintaan harus diatur ke true, jika tidak, properti ini tidak ada.

Catatan: Properti ini hanya tersedia dengan REST API Ucapan ke teks versi 3.1.
duration Durasi audio. Nilainya adalah durasi yang dikodekan ISO 8601.
durationInTicks Durasi audio dalam tanda centang (satu centang adalah 100 nanodetik).
itn Bentuk teks terbalik yang dinormalisasi (ITN) dari teks yang dikenali. Singkatan seperti "Doctor Smith" ke "Dr Smith", nomor telepon, dan transformasi lainnya diterapkan.
lexical Kata-kata aktual yang dikenali.
locale Lokal yang diidentifikasi dari input audio. Properti languageIdentification permintaan harus diatur, jika tidak, properti ini tidak ada.

Catatan: Properti ini hanya tersedia dengan REST API Ucapan ke teks versi 3.1.
maskedITN Bentuk ITN dengan masking kata-kata kotor diterapkan.
nBest Daftar kemungkinan transkripsi untuk frasa saat ini dengan keyakinan.
offset Offset dalam audio frasa ini. Nilainya adalah durasi yang dikodekan ISO 8601.
offsetInTicks Offset dalam audio frasa ini dalam tanda centang (satu centang adalah 100 nanodetik).
recognitionStatus Status pengenalan. Misalnya: "Berhasil" atau "Kegagalan".
recognizedPhrases Daftar hasil untuk setiap frasa.
source URL yang disediakan sebagai sumber audio input. Sumber sesuai dengan contentUrls properti atau contentContainerUrl permintaan. Properti source adalah satu-satunya cara untuk mengonfirmasi input audio untuk transkripsi.
speaker Pembicara yang diidentifikasi. Properti diarization permintaan dan diarizationEnabled harus diatur, jika tidak, properti ini tidak ada.
timestamp Tanggal pembuatan dan waktu transkripsi. Nilainya adalah tanda waktu yang dikodekan ISO 8601.
words Daftar hasil dengan teks leksikal untuk setiap kata frasa. Properti wordLevelTimestampsEnabled permintaan harus diatur ke true, jika tidak, properti ini tidak ada.

Langkah berikutnya