Получение результата пакетного транскрибирования
Чтобы получить результаты транскрибирования, сначала проверьте состояние задания транскрибирования. Если задание завершено, можно получить отчет транскрибирования и транскрибирования.
Получение состояния транскрибирования
Чтобы получить состояние задания транскрибирования, вызовите операцию Transcriptions_Get службы "Речь" в текстовый REST API.
Внимание
Задания пакетного транскрибирования планируются с учетом всех возможных усилий. В пиковые часы может потребоваться до 30 минут или дольше, чтобы задание транскрибирования начало обработки. Большая часть времени во время выполнения состояния транскрибирования будет Running
. Это связано с тем, что задание назначается состоянию Running
момент, когда он перемещается в серверную систему пакетного транскрибирования. При использовании базовой модели это назначение происходит почти сразу; Это немного медленнее для пользовательских моделей. Таким образом, время задания транскрибирования в состоянии не соответствует фактическому времени транскрибирования, но также включает время ожидания во Running
внутренних очередях.
Выполните HTTP-запрос GET с URI, как показано в следующем примере. Замените YourTranscriptionId
идентификатор транскрибирования, замените YourSubscriptionKey
ключом ресурса службы "Речь" и замените YourServiceRegion
регионом ресурса "Речь".
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/YourTranscriptionId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Вы должны получить ответ в следующем формате:
{
"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
указывает текущее состояние транскрибирования. Транскрибирование и отчет транскрибирования доступны при состоянии Succeeded
транскрибирования.
Внимание
Задания пакетного транскрибирования планируются с учетом всех возможных усилий. В пиковые часы может потребоваться до 30 минут или дольше, чтобы задание транскрибирования начало обработки. Большая часть времени во время выполнения состояния транскрибирования будет Running
. Это связано с тем, что задание назначается состоянию Running
момент, когда он перемещается в серверную систему пакетного транскрибирования. При использовании базовой модели это назначение происходит почти сразу; Это немного медленнее для пользовательских моделей. Таким образом, время задания транскрибирования в состоянии не соответствует фактическому времени транскрибирования, но также включает время ожидания во Running
внутренних очередях.
Чтобы получить состояние задания транскрибирования, используйте spx batch transcription status
команду. Создайте параметры запроса в соответствии со следующими инструкциями:
transcription
Задайте для параметра идентификатор транскрибирования, который требуется получить.
Ниже приведен пример команды интерфейса командной строки службы "Речь", чтобы получить состояние транскрибирования:
spx batch transcription status --api-version v3.2 --transcription YourTranscriptionId
Вы должны получить ответ в следующем формате:
{
"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
указывает текущее состояние транскрибирования. Транскрибирование и отчет транскрибирования доступны при состоянии Succeeded
транскрибирования.
Для справки по интерфейсу командной строки службы "Речь" для транскрибирования выполните следующую команду:
spx help batch transcription
Получение результатов транскрибирования
Операция Transcriptions_ListFiles возвращает список файлов результатов для транскрибирования. Файл отчета транскрибирования предоставляется для каждого отправленного задания пакетной транскрибирования. Кроме того, для каждого успешно транскрибированного аудиофайла предоставляется один файл транскрибирования (конечный результат).
Выполните HTTP-запрос GET с помощью URI "files" из предыдущего текста ответа. Замените YourTranscriptionId
идентификатор транскрибирования, замените YourSubscriptionKey
ключом ресурса службы "Речь" и замените YourServiceRegion
регионом ресурса "Речь".
curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions/YourTranscriptionId/files" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"
Вы должны получить ответ в следующем формате:
{
"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"
}
}
]
}
Расположение каждого файла отчета транскрибирования и транскрибирования с дополнительными сведениями возвращается в тексте ответа. Свойство contentUrl
содержит URL-адрес файла транскрибирования ("kind": "Transcription"
) или отчета транскрибирования ("kind": "TranscriptionReport"
).
Если вы не указали контейнер в destinationContainerUrl
свойстве запроса транскрибирования, результаты хранятся в контейнере, управляемом корпорацией Майкрософт. При удалении задания транскрибирования данные результатов транскрибирования также удаляются.
Команда spx batch transcription list
возвращает список файлов результатов для транскрибирования. Файл отчета транскрибирования предоставляется для каждого отправленного задания пакетной транскрибирования. Кроме того, для каждого успешно транскрибированного аудиофайла предоставляется один файл транскрибирования (конечный результат).
- Задайте обязательный
files
флаг. - Задайте необходимый
transcription
параметр идентификатору транскрибирования, который требуется получить журналы.
Ниже приведен пример команды CLI службы "Речь", которая получает список файлов результатов для транскрибирования:
spx batch transcription list --api-version v3.2 --files --transcription YourTranscriptionId
Вы должны получить ответ в следующем формате:
{
"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"
}
}
]
}
Расположение каждого файла отчета транскрибирования и транскрибирования с дополнительными сведениями возвращается в тексте ответа. Свойство contentUrl
содержит URL-адрес файла транскрибирования ("kind": "Transcription"
) или отчета транскрибирования ("kind": "TranscriptionReport"
).
По умолчанию результаты хранятся в контейнере, управляемом корпорацией Майкрософт. При удалении задания транскрибирования данные результатов транскрибирования также удаляются.
Файл отчета транскрибирования
Один файл отчета транскрибирования предоставляется для каждого отправленного задания пакетной транскрибирования.
Содержимое каждого файла результата транскрибирования форматируется как JSON, как показано в этом примере.
{
"successfulTranscriptionsCount": 2,
"failedTranscriptionsCount": 0,
"details": [
{
"source": "https://crbn.us/hello.wav",
"status": "Succeeded"
},
{
"source": "https://crbn.us/whatstheweatherlike.wav",
"status": "Succeeded"
}
]
}
Файл результатов транскрибирования
Один файл результата транскрибирования предоставляется для каждого успешно транскрибированного звукового файла.
Содержимое каждого файла результата транскрибирования форматируется как JSON, как показано в этом примере.
{
"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"
}
]
}
]
}
В зависимости от параметров запроса, заданных при создании задания транскрибирования, файл транскрибирования может содержать следующие свойства результата.
Свойство | Description |
---|---|
channel |
Номер канала результатов. Для аудиопотоков в стереоформате левый и правый каналы во время транскрибирования разделяются. Файл результата JSON создается для каждого входного звукового файла. |
combinedRecognizedPhrases |
Объединенные результаты всех фраз для канала. |
confidence |
Значение достоверности для распознавания. |
display |
Отображаемая форма распознанного текста. Включены знаки препинания и прописные буквы. |
displayWords |
Метки времени для каждого слова транскрибирования. Свойство displayFormWordLevelTimestampsEnabled запроса должно иметь true значение , в противном случае это свойство отсутствует.Примечание. Это свойство доступно только для преобразования речи в текст REST API версии 3.1 и более поздних версий. |
duration |
Длительность звука. Значение — это длительность в кодировке ISO 8601. |
durationInTicks |
Длительность звука в галках (один галочку составляет 100 наносекунд). |
itn |
Обратный текст нормализованный (ITN) формы распознанного текста. Применяются аббревиаты, такие как "Доктор Смит", "Доктор Смит", номера телефонов и другие преобразования. |
lexical |
Фактическое количество распознанных слов. |
locale |
Языковой стандарт, определенный из входного звука. Свойство languageIdentification запроса должно быть задано, в противном случае это свойство отсутствует.Примечание. Это свойство доступно только для преобразования речи в текст REST API версии 3.1 и более поздних версий. |
maskedITN |
Форма ITN с применением маскировки ненормативной лексики. |
nBest |
Список возможных транскрибирования для текущей фразы с уверенностью. |
offset |
Смещение в звуке этой фразы. Значение — это длительность в кодировке ISO 8601. |
offsetInTicks |
Смещение в звуке этой фразы в галочки (один галок составляет 100 наносекунд). |
recognitionStatus |
Состояние распознавания. Например, "Успешно" или "Сбой". |
recognizedPhrases |
Список результатов для каждой фразы. |
source |
URL-адрес, предоставленный в качестве входного источника звука. Источник соответствует свойству или contentContainerUrl свойству contentUrls запроса. Свойство source является единственным способом подтверждения входных данных звука для транскрибирования. |
speaker |
Определяемый докладчик. Свойства diarization и diarizationEnabled свойства запроса должны быть заданы, в противном случае это свойство отсутствует. |
timestamp |
Дата и время создания транскрибирования. Значением является метка времени в кодировке ISO 8601. |
words |
Список результатов с лексическим текстом для каждого слова фразы. Свойство wordLevelTimestampsEnabled запроса должно иметь true значение , в противном случае это свойство отсутствует. |