Pobieranie wyników transkrypcji wsadowej
Aby uzyskać wyniki transkrypcji, najpierw sprawdź stan zadania transkrypcji. Jeśli zadanie zostanie ukończone, możesz pobrać transkrypcje i raport transkrypcji.
Uzyskiwanie stanu transkrypcji
Aby uzyskać stan zadania transkrypcji, wywołaj operację Transcriptions_Get interfejsu API REST zamiany mowy na tekst.
Ważne
Zadania transkrypcji wsadowej są zaplanowane zgodnie z najlepszymi potrzebami. W godzinach szczytu może upłynąć do 30 minut lub dłużej, zanim zadanie transkrypcji rozpocznie przetwarzanie. W większości przypadków podczas wykonywania stan transkrypcji to Running
. Dzieje się tak, ponieważ zadanie ma przypisany Running
stan w momencie przeniesienia go do systemu zaplecza transkrypcji wsadowej. Gdy używany jest model podstawowy, to przypisanie odbywa się niemal natychmiast; jest nieco wolniejsza w przypadku modeli niestandardowych. W związku z tym ilość czasu, przez jaki zadanie transkrypcji spędza w Running
stanie, nie odpowiada rzeczywistemu czasowi transkrypcji, ale także czas oczekiwania w kolejkach wewnętrznych.
Utwórz żądanie HTTP GET przy użyciu identyfikatora URI, jak pokazano w poniższym przykładzie. Zastąp YourTranscriptionId
ciąg identyfikatorem transkrypcji, zastąp ciąg kluczem zasobu usługi Mowa i zastąp YourSubscriptionKey
YourServiceRegion
element regionem zasobu usługi Mowa.
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/YourTranscriptionId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:
{
"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"
}
Właściwość status
wskazuje bieżący stan transkrypcji. Transkrypcje i raport transkrypcji są dostępne, gdy stan transkrypcji to Succeeded
.
Ważne
Zadania transkrypcji wsadowej są zaplanowane zgodnie z najlepszymi potrzebami. W godzinach szczytu może upłynąć do 30 minut lub dłużej, zanim zadanie transkrypcji rozpocznie przetwarzanie. W większości przypadków podczas wykonywania stan transkrypcji to Running
. Dzieje się tak, ponieważ zadanie ma przypisany Running
stan w momencie przeniesienia go do systemu zaplecza transkrypcji wsadowej. Gdy używany jest model podstawowy, to przypisanie odbywa się niemal natychmiast; jest nieco wolniejsza w przypadku modeli niestandardowych. W związku z tym ilość czasu, przez jaki zadanie transkrypcji spędza w Running
stanie, nie odpowiada rzeczywistemu czasowi transkrypcji, ale także czas oczekiwania w kolejkach wewnętrznych.
Aby uzyskać stan zadania transkrypcji, użyj spx batch transcription status
polecenia . Skonstruuj parametry żądania zgodnie z następującymi instrukcjami:
transcription
Ustaw parametr na identyfikator transkrypcji, którą chcesz uzyskać.
Oto przykładowe polecenie interfejsu wiersza polecenia usługi Mowa umożliwiające uzyskanie stanu transkrypcji:
spx batch transcription status --api-version v3.2 --transcription YourTranscriptionId
Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:
{
"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"
}
Właściwość status
wskazuje bieżący stan transkrypcji. Transkrypcje i raport transkrypcji są dostępne, gdy stan transkrypcji to Succeeded
.
Aby uzyskać pomoc dotyczącą interfejsu wiersza polecenia usługi Mowa w transkrypcjach, uruchom następujące polecenie:
spx help batch transcription
Pobieranie wyników transkrypcji
Operacja Transcriptions_ListFiles zwraca listę plików wyników dla transkrypcji. Plik raportu transkrypcji jest udostępniany dla każdego przesłanego zadania transkrypcji wsadowej. Ponadto jeden plik transkrypcji (wynik końcowy) jest udostępniany dla każdego pomyślnie transkrypcji pliku audio.
Utwórz żądanie HTTP GET przy użyciu identyfikatora URI "files" z poprzedniej treści odpowiedzi. Zastąp YourTranscriptionId
ciąg identyfikatorem transkrypcji, zastąp ciąg kluczem zasobu usługi Mowa i zastąp YourSubscriptionKey
YourServiceRegion
element regionem zasobu usługi Mowa.
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/YourTranscriptionId/files" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:
{
"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"
}
}
]
}
Lokalizacja poszczególnych plików raportów transkrypcji i transkrypcji z większą ilością szczegółów jest zwracana w treści odpowiedzi. Właściwość contentUrl
zawiera adres URL do pliku transkrypcji ("kind": "Transcription"
) lub raportu transkrypcji ("kind": "TranscriptionReport"
).
Jeśli nie określono kontenera we destinationContainerUrl
właściwości żądania transkrypcji, wyniki są przechowywane w kontenerze zarządzanym przez firmę Microsoft. Po usunięciu zadania transkrypcji dane wynikowe transkrypcji również zostaną usunięte.
Polecenie spx batch transcription list
zwraca listę plików wyników dla transkrypcji. Plik raportu transkrypcji jest udostępniany dla każdego przesłanego zadania transkrypcji wsadowej. Ponadto jeden plik transkrypcji (wynik końcowy) jest udostępniany dla każdego pomyślnie transkrypcji pliku audio.
- Ustaw flagę wymaganą
files
. - Ustaw wymagany
transcription
parametr na identyfikator transkrypcji, który chcesz pobrać dzienniki.
Oto przykładowe polecenie interfejsu wiersza polecenia usługi Mowa, które pobiera listę plików wyników dla transkrypcji:
spx batch transcription list --api-version v3.2 --files --transcription YourTranscriptionId
Treść odpowiedzi powinna zostać wyświetlona w następującym formacie:
{
"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"
}
}
]
}
Lokalizacja poszczególnych plików raportów transkrypcji i transkrypcji z większą ilością szczegółów jest zwracana w treści odpowiedzi. Właściwość contentUrl
zawiera adres URL do pliku transkrypcji ("kind": "Transcription"
) lub raportu transkrypcji ("kind": "TranscriptionReport"
).
Domyślnie wyniki są przechowywane w kontenerze zarządzanym przez firmę Microsoft. Po usunięciu zadania transkrypcji dane wynikowe transkrypcji również zostaną usunięte.
Plik raportu transkrypcji
Jeden plik raportu transkrypcji jest udostępniany dla każdego przesłanego zadania transkrypcji wsadowej.
Zawartość każdego pliku wyniku transkrypcji jest formatowana jako JSON, jak pokazano w tym przykładzie.
{
"successfulTranscriptionsCount": 2,
"failedTranscriptionsCount": 0,
"details": [
{
"source": "https://crbn.us/hello.wav",
"status": "Succeeded"
},
{
"source": "https://crbn.us/whatstheweatherlike.wav",
"status": "Succeeded"
}
]
}
Plik wyników transkrypcji
Jeden plik wyników transkrypcji jest udostępniany dla każdego pomyślnie transkrypcji pliku audio.
Zawartość każdego pliku wyniku transkrypcji jest formatowana jako JSON, jak pokazano w tym przykładzie.
{
"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"
}
]
}
]
}
W zależności od parametrów żądania ustawionych podczas tworzenia zadania transkrypcji plik transkrypcji może zawierać następujące właściwości wyniku.
Właściwości | opis |
---|---|
channel |
Numer kanału wyników. W przypadku strumieni audio stereo kanały po lewej i prawej stronie są dzielone podczas transkrypcji. Plik wyników JSON jest tworzony dla każdego wejściowego pliku audio. |
combinedRecognizedPhrases |
Łączone wyniki wszystkich fraz dla kanału. |
confidence |
Wartość ufności dla rozpoznawania. |
display |
Formularz wyświetlania rozpoznanego tekstu. Uwzględniane są dodatkowe znaki interpunkcyjne i wielkie litery. |
displayWords |
Znaczniki czasu dla każdego wyrazu transkrypcji. Właściwość żądania musi być ustawiona displayFormWordLevelTimestampsEnabled na true , w przeciwnym razie ta właściwość nie jest obecna.Uwaga: ta właściwość jest dostępna tylko w przypadku interfejsu API REST zamiany mowy na tekst w wersji 3.1 lub nowszej. |
duration |
Czas trwania dźwięku. Wartość jest czasem trwania zakodowanym w formacie ISO 8601. |
durationInTicks |
Czas trwania dźwięku w kleszczach (jeden kleszcz wynosi 100 nanosekund). |
itn |
Odwrotna postać tekstu znormalizowanego (ITN) rozpoznanego tekstu. Stosowane są skróty takie jak "Doctor Smith" do "Dr Smith", numery telefonów i inne przekształcenia. |
lexical |
Rzeczywiste wyrazy rozpoznane. |
locale |
Ustawienia regionalne zidentyfikowane na podstawie danych wejściowych dźwięku. Właściwość żądania musi być ustawiona languageIdentification , w przeciwnym razie ta właściwość nie jest obecna.Uwaga: ta właściwość jest dostępna tylko w przypadku interfejsu API REST zamiany mowy na tekst w wersji 3.1 lub nowszej. |
maskedITN |
Formularz ITN z zastosowanym maskowaniem wulgaryzmów. |
nBest |
Lista możliwych transkrypcji dla bieżącej frazy z ufnościami. |
offset |
Przesunięcie w dźwięku tej frazy. Wartość jest czasem trwania zakodowanym w formacie ISO 8601. |
offsetInTicks |
Przesunięcie w dźwięku tej frazy w kleszczach (jeden znacznik to 100 nanosekund). |
recognitionStatus |
Stan rozpoznawania. Na przykład: "Powodzenie" lub "Niepowodzenie". |
recognizedPhrases |
Lista wyników dla każdej frazy. |
source |
Adres URL, który został podany jako źródło wejściowego dźwięku. Źródło odpowiada contentUrls właściwości lub contentContainerUrl żądania. Właściwość source jest jedynym sposobem potwierdzenia danych wejściowych audio dla transkrypcji. |
speaker |
Zidentyfikowany mówca. diarization Właściwości i żądania diarizationEnabled muszą być ustawione, w przeciwnym razie ta właściwość nie jest obecna. |
timestamp |
Data i godzina utworzenia transkrypcji. Wartość jest zakodowaną sygnaturą czasową ISO 8601. |
words |
Lista wyników z tekstem leksykalnym dla każdego wyrazu frazy. Właściwość żądania musi być ustawiona wordLevelTimestampsEnabled na true , w przeciwnym razie ta właściwość nie jest obecna. |