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. |