Toplu transkripsiyon sonuçlarını alma

Transkripsiyon sonuçlarını almak için önce transkripsiyon işinin durumunu denetleyin. İş tamamlandıysa transkripsiyonları ve transkripsiyon raporunu alabilirsiniz.

Transkripsiyon durumunu alma

Transkripsiyon işinin durumunu almak için Konuşmayı metne dönüştürme REST API'sinin Transcriptions_Get işlemini çağırın.

Önemli

Toplu transkripsiyon işleri en iyi çaba temelinde zamanlanır. Yoğun saatlerde transkripsiyon işinin işlemeye başlaması 30 dakika veya daha uzun sürebilir. Yürütme sırasında çoğu zaman transkripsiyon durumu olur Running. Bunun nedeni işe toplu transkripsiyon arka uç sistemine geçtiği anda durumun atanmasıdır Running . Temel model kullanıldığında, bu atama hemen gerçekleşir; özel modeller için biraz daha yavaştır. Bu nedenle, transkripsiyon işinin durumunda Running harcadığı süre gerçek transkripsiyon süresine karşılık gelmez, aynı zamanda iç kuyruklardaki bekleme süresini de içerir.

Aşağıdaki örnekte gösterildiği gibi URI'yi kullanarak bir HTTP GET isteği oluşturun. değerini YourTranscriptionId transkripsiyon kimliğiniz, yerine YourSubscriptionKey Konuşma kaynak anahtarınız ve yerine Konuşma kaynağı bölgeniz yazın YourServiceRegion .

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

Aşağıdaki biçimde bir yanıt gövdesi almanız gerekir:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/aaa321e9-5a4e-4db1-88a2-f251bbe7b555"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/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": "2024-05-10T18:39:09Z",
  "status": "Succeeded",
  "createdDateTime": "2024-05-10T18:39:07Z",
  "locale": "en-US",
  "displayName": "My Transcription"
}

status özelliği transkripsiyonların geçerli durumunu gösterir. Transkripsiyon durumu olduğunda Succeededtranskripsiyonlar ve transkripsiyon raporu kullanılabilir.

Önemli

Toplu transkripsiyon işleri en iyi çaba temelinde zamanlanır. Yoğun saatlerde transkripsiyon işinin işlemeye başlaması 30 dakika veya daha uzun sürebilir. Yürütme sırasında çoğu zaman transkripsiyon durumu olur Running. Bunun nedeni işe toplu transkripsiyon arka uç sistemine geçtiği anda durumun atanmasıdır Running . Temel model kullanıldığında, bu atama hemen gerçekleşir; özel modeller için biraz daha yavaştır. Bu nedenle, transkripsiyon işinin durumunda Running harcadığı süre gerçek transkripsiyon süresine karşılık gelmez, aynı zamanda iç kuyruklardaki bekleme süresini de içerir.

Transkripsiyon işinin durumunu almak için komutunu kullanın spx batch transcription status . İstek parametrelerini aşağıdaki yönergelere göre oluşturun:

  • parametresini transcription almak istediğiniz transkripsiyonun kimliğine ayarlayın.

Transkripsiyon durumunu almak için örnek bir Konuşma CLI komutu aşağıda verilmişti:

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

Aşağıdaki biçimde bir yanıt gövdesi almanız gerekir:

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

status özelliği transkripsiyonların geçerli durumunu gösterir. Transkripsiyon durumu olduğunda Succeededtranskripsiyonlar ve transkripsiyon raporu kullanılabilir.

Transkripsiyonlarla ilgili Konuşma CLI'sı yardımı için aşağıdaki komutu çalıştırın:

spx help batch transcription

Transkripsiyon sonuçlarını alma

Transcriptions_ListFiles işlemi, döküm için sonuç dosyalarının listesini döndürür. Gönderilen her toplu transkripsiyon işi için bir transkripsiyon rapor dosyası sağlanır. Ayrıca, başarıyla dökümü yapılan her ses dosyası için bir transkripsiyon dosyası (sonuç) sağlanır.

Önceki yanıt gövdesinden "dosyalar" URI'sini kullanarak bir HTTP GET isteği oluşturun. değerini YourTranscriptionId transkripsiyon kimliğiniz, yerine YourSubscriptionKey Konuşma kaynak anahtarınız ve yerine Konuşma kaynağı bölgeniz yazın YourServiceRegion .

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

Aşağıdaki biçimde bir yanıt gövdesi almanız gerekir:

{
  "values": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/2dd180a1-434e-4368-a1ac-37350700284f",
      "name": "contenturl_0.json",
      "kind": "Transcription",
      "properties": {
        "size": 3407
      },
      "createdDateTime": "2024-05-10T18:39:09Z",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/c027c6a9-2436-4303-b64b-e98e3c9fc2e3",
      "name": "contenturl_1.json",
      "kind": "Transcription",
      "properties": {
        "size": 8233
      },
      "createdDateTime": "2024-05-10T18:39:09Z",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/faea9a41-c95c-4d91-96ff-e39225def642",
      "name": "report.json",
      "kind": "TranscriptionReport",
      "properties": {
        "size": 279
      },
      "createdDateTime": "2024-05-10T18:39:09Z",
      "links": {
        "contentUrl": "YourTranscriptionReportUrl"
      }
    }
  ]
}

Daha fazla ayrıntı içeren her transkripsiyon ve transkripsiyon rapor dosyasının konumu yanıt gövdesinde döndürülür. contentUrl özelliği transkripsiyon ("kind": "Transcription") veya transkripsiyon raporu ("kind": "TranscriptionReport") dosyasının URL'sini içerir.

Transkripsiyon isteğinin destinationContainerUrl özelliğinde bir kapsayıcı belirtmediyseniz, sonuçlar Microsoft tarafından yönetilen bir kapsayıcıda depolanır. Transkripsiyon işi silindiğinde, transkripsiyon sonucu verileri de silinir.

komut, spx batch transcription list döküm için sonuç dosyalarının listesini döndürür. Gönderilen her toplu transkripsiyon işi için bir transkripsiyon rapor dosyası sağlanır. Ayrıca, başarıyla dökümü yapılan her ses dosyası için bir transkripsiyon dosyası (sonuç) sağlanır.

  • Gerekli files bayrağı ayarlayın.
  • Gerekli transcription parametreyi günlükleri almak istediğiniz transkripsiyonun kimliğine ayarlayın.

Transkripsiyon için sonuç dosyalarının listesini alan örnek bir Konuşma CLI komutu aşağıda verilmiştır:

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

Aşağıdaki biçimde bir yanıt gövdesi almanız gerekir:

{
  "values": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/2dd180a1-434e-4368-a1ac-37350700284f",
      "name": "contenturl_0.json",
      "kind": "Transcription",
      "properties": {
        "size": 3407
      },
      "createdDateTime": "2024-05-10T18:39:09Z",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/c027c6a9-2436-4303-b64b-e98e3c9fc2e3",
      "name": "contenturl_1.json",
      "kind": "Transcription",
      "properties": {
        "size": 8233
      },
      "createdDateTime": "2024-05-10T18:39:09Z",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      }
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/637d9333-6559-47a6-b8de-c7d732c1ddf3/files/faea9a41-c95c-4d91-96ff-e39225def642",
      "name": "report.json",
      "kind": "TranscriptionReport",
      "properties": {
        "size": 279
      },
      "createdDateTime": "2024-05-10T18:39:09Z",
      "links": {
        "contentUrl": "YourTranscriptionReportUrl"
      }
    }
  ]
}

Daha fazla ayrıntı içeren her transkripsiyon ve transkripsiyon rapor dosyasının konumu yanıt gövdesinde döndürülür. contentUrl özelliği transkripsiyon ("kind": "Transcription") veya transkripsiyon raporu ("kind": "TranscriptionReport") dosyasının URL'sini içerir.

Varsayılan olarak, sonuçlar Microsoft tarafından yönetilen bir kapsayıcıda depolanır. Transkripsiyon işi silindiğinde, transkripsiyon sonucu verileri de silinir.

Transkripsiyon rapor dosyası

Gönderilen her toplu transkripsiyon işi için bir transkripsiyon rapor dosyası sağlanır.

Her transkripsiyon sonuç dosyasının içeriği, bu örnekte gösterildiği gibi JSON olarak biçimlendirilir.

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

Transkripsiyon sonuç dosyası

Başarılı bir şekilde döküme alınan her ses dosyası için bir transkripsiyon sonuç dosyası sağlanır.

Her transkripsiyon sonuç dosyasının içeriği, bu örnekte gösterildiği gibi JSON olarak biçimlendirilir.

{
  "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"
        }
      ]
    }
  ]
}

Transkripsiyon işini oluştururken ayarlanan istek parametrelerine bağlı olarak, transkripsiyon dosyası aşağıdaki sonuç özelliklerini içerebilir.

Özellik Açıklama
channel Sonuçların kanal numarası. Stereo ses akışları için, transkripsiyon sırasında sol ve sağ kanallar bölünür. Her giriş ses dosyası için bir JSON sonuç dosyası oluşturulur.
combinedRecognizedPhrases Kanal için tümceciklerin birleştirilmiş sonuçları.
confidence Tanıma için güvenilirlik değeri.
display Tanınan metnin görüntüleme biçimi. Eklenen noktalama işaretleri ve büyük harf kullanımı dahil edilir.
displayWords Transkripsiyonun her sözcüğü için zaman damgaları. displayFormWordLevelTimestampsEnabled İstek özelliği olarak trueayarlanmalıdır, aksi takdirde bu özellik mevcut değildir.

Not: Bu özellik yalnızca Konuşmayı metne dönüştürme REST API sürüm 3.1 ve üzeri ile kullanılabilir.
duration Ses süresi. Bu değer ISO 8601 ile kodlanmış bir süredir.
durationInTicks Onay işaretlerindeki ses süresi (bir onay işareti 100 nanosaniyedir).
itn Tanınan metnin ters metin normalleştirilmiş (ITN) biçimi. "Doktor Smith" ile "Dr Smith" gibi kısaltmalar, telefon numaraları ve diğer dönüşümler uygulanır.
lexical Tanınan gerçek sözcükler.
locale Ses girişinden tanımlanan yerel ayar. languageIdentification İstek özelliği ayarlanmalıdır, aksi takdirde bu özellik mevcut değildir.

Not: Bu özellik yalnızca Konuşmayı metne dönüştürme REST API sürüm 3.1 ve üzeri ile kullanılabilir.
maskedITN Küfür maskeleme uygulanmış ITN formu.
nBest Güven içeren geçerli tümcecik için olası transkripsiyonların listesi.
offset Bu tümceciğin sesteki uzaklığı. Bu değer ISO 8601 ile kodlanmış bir süredir.
offsetInTicks Bu tümceciğin sesteki uzaklık değeri (bir değer 100 nanosaniyedir).
recognitionStatus Tanıma durumu. Örneğin: "Başarılı" veya "Başarısızlık".
recognizedPhrases Her tümceciğin sonuç listesi.
source Giriş ses kaynağı olarak sağlanan URL. Kaynak, veya contentContainerUrl istek özelliğine contentUrls karşılık gelir. source özelliği, transkripsiyon için ses girişini onaylamanın tek yoludur.
speaker Tanımlanan hoparlör. diarization ve diarizationEnabled istek özellikleri ayarlanmalıdır, aksi takdirde bu özellik mevcut değildir.
timestamp Transkripsiyonun oluşturma tarihi ve saati. Değer, ISO 8601 ile kodlanmış bir zaman damgasıdır.
words Tümceciğin her sözcüğü için sözcük temelli metin içeren sonuçların listesi. wordLevelTimestampsEnabled İstek özelliği olarak trueayarlanmalıdır, aksi takdirde bu özellik mevcut değildir.

Sonraki adımlar