Получение результата пакетного транскрибирования

Чтобы получить результаты транскрибирования, сначала проверка состояние задания транскрибирования. Если задание завершено, можно получить отчет транскрибирования и транскрибирования.

Получение состояния транскрибирования

Чтобы получить состояние задания транскрибирования, вызовите операцию 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.1/transcriptions/YourTranscriptionId" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Вы должны получить ответ в следующем формате:

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

Свойство status указывает текущее состояние транскрибирования. Транскрибирование и отчет транскрибирования доступны при состоянии Succeededтранскрибирования.

Внимание

Задания пакетного транскрибирования планируются с учетом всех возможных усилий. В пиковые часы может потребоваться до 30 минут или дольше, чтобы задание транскрибирования начало обработки. Большая часть времени во время выполнения состояния транскрибирования будет Running. Это связано с тем, что задание назначается состоянию Running момент, когда он перемещается в серверную систему пакетного транскрибирования. При использовании базовой модели это назначение происходит почти сразу; Это немного медленнее для пользовательских моделей. Таким образом, время задания транскрибирования в состоянии не соответствует фактическому времени транскрибирования, но также включает время ожидания во Running внутренних очередях.

Чтобы получить состояние задания транскрибирования, используйте spx batch transcription status команду. Создайте параметры запроса в соответствии со следующими инструкциями:

  • transcription Задайте для параметра идентификатор транскрибирования, который требуется получить.

Ниже приведен пример команды интерфейса командной строки службы "Речь", чтобы получить состояние транскрибирования:

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

Вы должны получить ответ в следующем формате:

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

Свойство 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.1/transcriptions/YourTranscriptionId/files" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

Вы должны получить ответ в следующем формате:

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

Расположение каждого файла отчета транскрибирования и транскрибирования с дополнительными сведениями возвращается в тексте ответа. Свойство contentUrl содержит URL-адрес файла транскрибирования ("kind": "Transcription") или отчета транскрибирования ("kind": "TranscriptionReport").

Если вы не указали контейнер в destinationContainerUrl свойстве запроса транскрибирования, результаты хранятся в контейнере, управляемом корпорацией Майкрософт. При удалении задания транскрибирования данные результатов транскрибирования также удаляются.

Команда spx batch transcription list возвращает список файлов результатов для транскрибирования. Файл отчета транскрибирования предоставляется для каждого отправленного задания пакетной транскрибирования. Кроме того, для каждого успешно транскрибированного аудиофайла предоставляется один файл транскрибирования (конечный результат).

  • Задайте обязательный files флаг.
  • Задайте необходимый transcription параметр идентификатору транскрибирования, который требуется получить журналы.

Ниже приведен пример команды CLI службы "Речь", которая получает список файлов результатов для транскрибирования:

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

Вы должны получить ответ в следующем формате:

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

Расположение каждого файла отчета транскрибирования и транскрибирования с дополнительными сведениями возвращается в тексте ответа. Свойство 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значение , в противном случае это свойство отсутствует.

Следующие шаги