Ottenere i risultati della trascrizione batch

Per ottenere i risultati della trascrizione, controllare prima di tutto lo stato del processo di trascrizione. Se il processo è stato completato, è possibile recuperare le trascrizioni e il report di trascrizione.

Ottenere lo stato della trascrizione

Per ottenere lo stato del processo di trascrizione, chiamare l'operazione di Transcriptions_Get dell'API REST Riconoscimento vocale a testo.

Importante

I processi di trascrizione batch vengono pianificati in base al massimo sforzo. Nelle ore di punta possono essere necessari fino a 30 minuti o più per avviare l'elaborazione di un processo di trascrizione. La maggior parte del tempo durante l'esecuzione lo stato della trascrizione sarà Running. Ciò è dovuto al fatto che al processo viene assegnato lo Running stato nel momento in cui passa al sistema back-end di trascrizione batch. Quando si usa il modello di base, questa assegnazione avviene quasi immediatamente; è leggermente più lento per i modelli personalizzati. Pertanto, la quantità di tempo trascorso da un processo di trascrizione nello Running stato non corrisponde al tempo di trascrizione effettivo, ma include anche il tempo di attesa nelle code interne.

Effettuare una richiesta HTTP GET usando l'URI, come illustrato nell'esempio seguente. Sostituire YourTranscriptionId con l'ID di trascrizione, sostituire YourSubscriptionKey con la chiave della risorsa Voce e sostituire YourServiceRegion con l'area della risorsa Voce.

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

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

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

La status proprietà indica lo stato corrente delle trascrizioni. Le trascrizioni e il report di trascrizione sono disponibili quando lo stato della trascrizione è Succeeded.

Importante

I processi di trascrizione batch vengono pianificati in base al massimo sforzo. Nelle ore di punta possono essere necessari fino a 30 minuti o più per avviare l'elaborazione di un processo di trascrizione. La maggior parte del tempo durante l'esecuzione lo stato della trascrizione sarà Running. Ciò è dovuto al fatto che al processo viene assegnato lo Running stato nel momento in cui passa al sistema back-end di trascrizione batch. Quando si usa il modello di base, questa assegnazione avviene quasi immediatamente; è leggermente più lento per i modelli personalizzati. Pertanto, la quantità di tempo trascorso da un processo di trascrizione nello Running stato non corrisponde al tempo di trascrizione effettivo, ma include anche il tempo di attesa nelle code interne.

Per ottenere lo stato del processo di trascrizione, usare il spx batch transcription status comando . Creare i parametri della richiesta in base alle istruzioni seguenti:

  • Impostare il transcription parametro sull'ID della trascrizione che si desidera ottenere.

Ecco un esempio di comando dell'interfaccia della riga di comando di Voce per ottenere lo stato di trascrizione:

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

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

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

La status proprietà indica lo stato corrente delle trascrizioni. Le trascrizioni e il report di trascrizione sono disponibili quando lo stato della trascrizione è Succeeded.

Per la guida dell'interfaccia della riga di comando di Voce con le trascrizioni, eseguire il comando seguente:

spx help batch transcription

Ottenere i risultati della trascrizione

L'operazione Transcriptions_ListFiles restituisce un elenco di file di risultati per una trascrizione. Viene fornito un file di report di trascrizione per ogni processo di trascrizione batch inviato. Inoltre, viene fornito un file di trascrizione (il risultato finale) per ogni file audio trascritto correttamente.

Effettuare una richiesta HTTP GET usando l'URI "files" del corpo della risposta precedente. Sostituire YourTranscriptionId con l'ID di trascrizione, sostituire YourSubscriptionKey con la chiave della risorsa Voce e sostituire YourServiceRegion con l'area della risorsa Voce.

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

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

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

Il percorso di ogni file di report di trascrizione e trascrizione con altri dettagli viene restituito nel corpo della risposta. La contentUrl proprietà contiene l'URL del file di trascrizione ("kind": "Transcription") o del report di trascrizione ("kind": "TranscriptionReport").

Se non è stato specificato un contenitore nella destinationContainerUrl proprietà della richiesta di trascrizione, i risultati vengono archiviati in un contenitore gestito da Microsoft. Quando il processo di trascrizione viene eliminato, vengono eliminati anche i dati dei risultati della trascrizione.

Il spx batch transcription list comando restituisce un elenco di file di risultati per una trascrizione. Viene fornito un file di report di trascrizione per ogni processo di trascrizione batch inviato. Inoltre, viene fornito un file di trascrizione (il risultato finale) per ogni file audio trascritto correttamente.

  • Impostare il flag obbligatorio files .
  • Impostare il parametro obbligatorio transcription sull'ID della trascrizione che si desidera ottenere i log.

Ecco un esempio di comando dell'interfaccia della riga di comando di Voce che ottiene un elenco di file di risultati per una trascrizione:

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

Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:

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

Il percorso di ogni file di report di trascrizione e trascrizione con altri dettagli viene restituito nel corpo della risposta. La contentUrl proprietà contiene l'URL del file di trascrizione ("kind": "Transcription") o del report di trascrizione ("kind": "TranscriptionReport").

Per impostazione predefinita, i risultati vengono archiviati in un contenitore gestito da Microsoft. Quando il processo di trascrizione viene eliminato, vengono eliminati anche i dati dei risultati della trascrizione.

File di report di trascrizione

Viene fornito un file di report di trascrizione per ogni processo di trascrizione batch inviato.

Il contenuto di ogni file di risultato della trascrizione viene formattato come JSON, come illustrato in questo esempio.

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

File dei risultati della trascrizione

Per ogni file audio trascritto correttamente viene fornito un file di risultato della trascrizione.

Il contenuto di ogni file di risultato della trascrizione viene formattato come JSON, come illustrato in questo esempio.

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

A seconda di parte dei parametri della richiesta impostati al momento della creazione del processo di trascrizione, il file di trascrizione può contenere le proprietà dei risultati seguenti.

Proprietà Descrizione
channel Numero di canale dei risultati. Per i flussi audio stereo, i canali sinistro e destro vengono suddivisi durante la trascrizione. Viene creato un file di risultati JSON per ogni file audio di input.
combinedRecognizedPhrases Risultati concatenati di tutte le frasi per il canale.
confidence Valore di attendibilità per il riconoscimento.
display Forma di visualizzazione del testo riconosciuto. Sono inclusi i segni di punteggiatura e le maiuscole aggiunte.
displayWords Timestamp per ogni parola della trascrizione. La proprietà della richiesta deve essere impostata su true. In displayFormWordLevelTimestampsEnabled caso contrario, questa proprietà non è presente.

Nota: questa proprietà è disponibile solo con l'API REST Riconoscimento vocale versione 3.1.
duration Durata audio. Il valore è una durata con codifica ISO 8601.
durationInTicks Durata audio in tick (un segno di graduazione è 100 nanosecondi).
itn Forma ITN (Inverse Text Normalized) del testo riconosciuto. Vengono applicate abbreviazioni come "Doctor Smith" a "Dr Smith", numeri di telefono e altre trasformazioni.
lexical Le parole effettive riconosciute.
locale Impostazioni locali identificate dall'input dell'audio. La languageIdentification proprietà della richiesta deve essere impostata; in caso contrario, questa proprietà non è presente.

Nota: questa proprietà è disponibile solo con l'API REST Riconoscimento vocale versione 3.1.
maskedITN Modulo ITN con maschera di contenuto volgare applicato.
nBest Elenco delle possibili trascrizioni per la frase corrente con attendibilità.
offset Offset nell'audio di questa frase. Il valore è una durata con codifica ISO 8601.
offsetInTicks Offset nell'audio di questa frase in tick (un segno di graduazione è 100 nanosecondi).
recognitionStatus Stato di riconoscimento. Ad esempio: "Success" o "Failure".
recognizedPhrases Elenco di risultati per ogni frase.
source URL fornito come origine audio di input. L'origine corrisponde alla proprietà della contentUrls richiesta o contentContainerUrl . La source proprietà è l'unico modo per confermare l'input audio per una trascrizione.
speaker Altoparlante identificato. Le diarization proprietà della richiesta e diarizationEnabled devono essere impostate; in caso contrario, questa proprietà non è presente.
timestamp Data e ora di creazione della trascrizione. Il valore è un timestamp con codifica ISO 8601.
words Elenco di risultati con testo lessicale per ogni parola della frase. La proprietà della richiesta deve essere impostata su true. In wordLevelTimestampsEnabled caso contrario, questa proprietà non è presente.

Passaggi successivi