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 è 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 Transcriptions_Get dell'API REST di riconoscimento vocale.
Importante
I processi di trascrizione in batch vengono pianificati nel modo più efficiente possibile. 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 stato Running
nel momento in cui passa al sistema back-end di trascrizione batch. Quando si usa il modello di base, questa assegnazione avviene quasi immediatamente. Per i modelli personalizzati è leggermente più lenta. Pertanto, la quantità di tempo che un processo di trascrizione trascorre nello stato Running
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.2/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.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"
}
La proprietà status
indica lo stato corrente delle trascrizioni. Le trascrizioni e il report sulla trascrizione diventano disponibili quando lo stato della trascrizione è Succeeded
.
Importante
I processi di trascrizione in batch vengono pianificati nel modo più efficiente possibile. 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 stato Running
nel momento in cui passa al sistema back-end di trascrizione batch. Quando si usa il modello di base, questa assegnazione avviene quasi immediatamente. Per i modelli personalizzati è leggermente più lenta. Pertanto, la quantità di tempo che un processo di trascrizione trascorre nello stato Running
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 comando spx batch transcription status
. Creare i parametri della richiesta in base alle istruzioni seguenti:
- Impostare il parametro
transcription
sull'ID della trascrizione da recuperare.
Ecco un esempio di comando dell'interfaccia della riga di comando di Voce per ottenere lo stato della trascrizione:
spx batch transcription status --api-version v3.2 --transcription YourTranscriptionId
Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:
{
"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"
}
La proprietà status
indica lo stato corrente delle trascrizioni. Le trascrizioni e il report sulla trascrizione diventano disponibili quando lo stato della trascrizione è Succeeded
.
Per visualizzare le informazioni della Guida dell'interfaccia della riga di comando di Voce per 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.2/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.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"
}
}
]
}
Il percorso di ogni file di trascrizione e di report di trascrizione con altri dettagli viene restituito nel corpo della risposta. La proprietà contentUrl
contiene l'URL del file di trascrizione ("kind": "Transcription"
) o del report di trascrizione ("kind": "TranscriptionReport"
).
Se non è stato specificato un contenitore nella proprietà destinationContainerUrl
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 comando spx batch transcription list
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
files
obbligatorio. - Impostare il parametro
transcription
obbligatorio sull'ID della trascrizione per cui recuperare 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.2 --files --transcription YourTranscriptionId
Dovrebbe essere visualizzato un corpo della risposta nel formato seguente:
{
"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"
}
}
]
}
Il percorso di ogni file di trascrizione e di report di trascrizione con altri dettagli viene restituito nel corpo della risposta. La proprietà contentUrl
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 dei risultati 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
Viene fornito un solo file dei risultati della trascrizione per ogni file audio trascritto correttamente.
Il contenuto di ogni file dei risultati 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 in 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 divisi 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 la combinazione di maiuscole e minuscole aggiunti. |
displayWords |
Timestamp per ogni parola della trascrizione. La proprietà della richiesta displayFormWordLevelTimestampsEnabled deve essere impostata su true . In caso contrario, questa proprietà non è presente.Nota: questa proprietà è disponibile solo con l'API REST Riconoscimento vocale versione 3.1 e successive. |
duration |
Durata dell'audio. Il valore è una durata con codifica ISO 8601. |
durationInTicks |
Durata audio in tick (un tick corrisponde a 100 nanosecondi). |
itn |
Forma ITN (Inverse Text Normalized) del testo riconosciuto. Vengono applicate abbreviazioni come "Dr Smith" per "Doctor Smith", numeri di telefono e altre trasformazioni. |
lexical |
Parole effettive riconosciute. |
locale |
Impostazioni locali identificate dall'input dell'audio. La proprietà della richiesta languageIdentification deve essere impostata. In caso contrario, questa proprietà non è presente.Nota: questa proprietà è disponibile solo con l'API REST Riconoscimento vocale versione 3.1 e successive. |
maskedITN |
Forma ITN con il mascheramento per contenuto volgare applicato, se richiesto. |
nBest |
Elenco delle possibili trascrizioni per la frase corrente con indicazione della 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 tick corrisponde a 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 richiesta contentUrls o contentContainerUrl . La proprietà source è l'unico modo per confermare l'input audio per una trascrizione. |
speaker |
Parlante identificato. Le proprietà della richiesta diarization 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 wordLevelTimestampsEnabled deve essere impostata su true . In caso contrario, questa proprietà non è presente. |