Partilhar via


Obter resultados de transcrição em lote

Para obter os resultados da transcrição, primeiro verifique o status do trabalho de transcrição. Se o trabalho for concluído, você poderá recuperar as transcrições e o relatório de transcrição.

Obter status de transcrição

Para obter o status do trabalho de transcrição, chame a operação Transcrições - Obter da API REST de fala para texto.

Importante

Os trabalhos de transcrição em lote são agendados com base no melhor esforço. Nas horas de pico, pode levar até 30 minutos ou mais para que um trabalho de transcrição comece a ser processado. Na maioria das vezes, durante a execução, o status da transcrição é Running. O motivo é porque o trabalho recebe o Running status no momento em que ele é movido para o sistema de back-end de transcrição em lote. Quando o modelo base é usado, essa atribuição acontece quase imediatamente; é um pouco mais lento para modelos personalizados. Assim, a quantidade de tempo que um trabalho de transcrição passa no Running estado não corresponde ao tempo real de transcrição, mas também inclui o tempo de espera nas filas internas.

Faça uma solicitação HTTP GET usando o URI, conforme mostrado no exemplo a seguir. Substitua YourTranscriptionId pelo ID de transcrição, substitua YourSpeechResoureKey pela chave de recurso Fala e substitua YourServiceRegion pela região de recurso Fala.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/transcriptions/YourTranscriptionId?api-version=2024-11-15" -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey"

Deverá receber um corpo de resposta no seguinte formato:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d?api-version=2024-11-15",
  "displayName": "My Transcription",
  "locale": "en-US",
  "createdDateTime": "2025-05-24T13:36:57Z",
  "lastActionDateTime": "2025-05-24T13:37:13Z",
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d/files?api-version=2024-11-15"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
    "displayFormWordLevelTimestampsEnabled": false,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked",
    "timeToLiveHours": 48,
    "languageIdentification": {
      "candidateLocales": [
        "en-US",
        "de-DE",
        "es-ES"
      ],
      "mode": "Continuous"
    },
    "durationMilliseconds": 3000
  },
  "status": "Succeeded"
}

A status propriedade indica o status atual das transcrições. As transcrições e o relatório de transcrição estão disponíveis quando o estado da transcrição é Succeeded.

Importante

Os trabalhos de transcrição em lote são agendados com base no melhor esforço. Nas horas de pico, pode levar até 30 minutos ou mais para que um trabalho de transcrição comece a ser processado. Na maioria das vezes, durante a execução, o status da transcrição é Running. O motivo é porque o trabalho recebe o Running status no momento em que ele é movido para o sistema de back-end de transcrição em lote. Quando o modelo base é usado, essa atribuição acontece quase imediatamente; é um pouco mais lento para modelos personalizados. Assim, a quantidade de tempo que um trabalho de transcrição passa no Running estado não corresponde ao tempo real de transcrição, mas também inclui o tempo de espera nas filas internas.

Para obter o status do trabalho de transcrição, use o spx batch transcription status comando. Construa os parâmetros de solicitação de acordo com as seguintes instruções:

  • Defina o transcription parâmetro como a ID da transcrição que você deseja obter.
  • Defina o parâmetro necessário api-version como v3.2. A CLI de fala ainda não suporta a versão 2024-11-15 ou posterior, então você deve usar v3.2 por enquanto.

Aqui está um exemplo de comando da CLI de fala para obter o status da transcrição:

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

Deverá receber um corpo de resposta no seguinte formato:

{
  "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": "2025-05-24T13:37:12Z",
  "status": "Succeeded",
  "createdDateTime": "2024-05-10T18:39:07Z",
  "locale": "en-US",
  "displayName": "My Transcription"
}

A status propriedade indica o status atual das transcrições. As transcrições e o relatório de transcrição estão disponíveis quando o estado da transcrição é Succeeded.

Para obter ajuda da CLI de fala com transcrições, execute o seguinte comando:

spx help batch transcription

Obter resultados de transcrição

A operação Transcrições - Listar arquivos retorna uma lista de arquivos de resultado para uma transcrição. Um arquivo de relatório de transcrição é fornecido para cada trabalho de transcrição em lote enviado. Além disso, um arquivo de transcrição (o resultado final) é fornecido para cada arquivo de áudio transcrito com sucesso.

Faça uma solicitação HTTP GET usando o URI "arquivos" do corpo da resposta anterior. Substitua YourTranscriptionId pelo ID de transcrição, substitua YourSpeechResoureKey pela chave de recurso Fala e substitua YourServiceRegion pela região de recurso Fala.

curl -v -X GET "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/transcriptions/YourTranscriptionId/files?api-version=2024-11-15" -H "Ocp-Apim-Subscription-Key: YourSpeechResoureKey"

Deverá receber um corpo de resposta no seguinte formato:

{
  "values": [
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d/files/ec226a24-d3c7-4ae4-b59e-49d5bdab492e?api-version=2024-11-15",
      "name": "contenturl_0.json",
      "kind": "Transcription",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      },
      "properties": {
        "size": 1230
      },
      "createdDateTime": "2025-05-24T13:37:12Z"
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d/files/078cd816-7944-4619-a6a6-bc52fb000f8c?api-version=2024-11-15",
      "name": "contenturl_1.json",
      "kind": "Transcription",
      "links": {
        "contentUrl": "YourTranscriptionUrl"
      },
      "properties": {
        "size": 2413
      },
      "createdDateTime": "2025-05-24T13:37:12Z"
    },
    {
      "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/transcriptions/5cff1d03-118f-4c4c-b3ba-e1f1cd88c14d/files/5baff707-8d68-4c69-850e-48775c57c982?api-version=2024-11-15",
      "name": "report.json",
      "kind": "TranscriptionReport",
      "links": {
        "contentUrl": "YourTranscriptionReportUrl"
      },
      "properties": {
        "size": 747
      },
      "createdDateTime": "2025-05-24T13:37:12Z"
    }
  ]
}

A localização de cada arquivo de relatório de transcrição e transcrição com mais detalhes é retornada no corpo da resposta. A contentUrl propriedade contém a URL para o arquivo de transcrição ("kind": "Transcription") ou relatório de transcrição ("kind": "TranscriptionReport").

Se você não especificou um contêiner na destinationContainerUrl propriedade da solicitação de transcrição, os resultados serão armazenados em um contêiner gerenciado pela Microsoft. Quando o trabalho de transcrição é excluído, os dados do resultado da transcrição também são excluídos.

O spx batch transcription list comando retorna uma lista de arquivos de resultado para uma transcrição. Um arquivo de relatório de transcrição é fornecido para cada trabalho de transcrição em lote enviado. Além disso, um arquivo de transcrição (o resultado final) é fornecido para cada arquivo de áudio transcrito com sucesso.

  • Defina o sinalizador necessário files .
  • Defina o parâmetro necessário transcription para a ID da transcrição que você deseja obter logs.
  • Defina o parâmetro necessário api-version como v3.2. A CLI de fala ainda não suporta a versão 2024-11-15 ou posterior, então você deve usar v3.2 por enquanto.

Aqui está um exemplo de comando da CLI de fala que obtém uma lista de arquivos de resultado para uma transcrição:

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

Deverá receber um corpo de resposta no seguinte formato:

{
  "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": "2025-05-24T13:37:12Z",
      "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": "2025-05-24T13:37:12Z",
      "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": "2025-05-24T13:37:12Z",
      "links": {
        "contentUrl": "YourTranscriptionReportUrl"
      }
    }
  ]
}

A localização de cada arquivo de relatório de transcrição e transcrição com mais detalhes é retornada no corpo da resposta. A contentUrl propriedade contém a URL para o arquivo de transcrição ("kind": "Transcription") ou relatório de transcrição ("kind": "TranscriptionReport").

Por padrão, os resultados são armazenados em um contêiner gerenciado pela Microsoft. Quando o trabalho de transcrição é excluído, os dados do resultado da transcrição também são excluídos.

Arquivo de relatório de transcrição

Um arquivo de relatório de transcrição é fornecido para cada trabalho de transcrição em lote enviado. O arquivo de relatório de transcrição é identificado pela "kind": "TranscriptionReport" propriedade no corpo de resposta da operação Transcrições - Listar arquivos .

O conteúdo de cada arquivo de resultado de transcrição é formatado como JSON, como mostrado neste exemplo.

{
  "successfulTranscriptionsCount": 2,
  "failedTranscriptionsCount": 0,
  "details": [
    {
      "source": "https://crbn.us/hello.wav",
      "status": "Succeeded"
    },
    {
      "source": "https://crbn.us/whatstheweatherlike.wav",
      "status": "Succeeded"
    }
  ]
}

Arquivo de resultados de transcrição

Um arquivo de resultado de transcrição é fornecido para cada arquivo de áudio transcrito com sucesso. O ficheiro de resultado da transcrição é identificado pela propriedade "kind": "Transcription" no corpo da resposta da operação Transcrições - Listar Ficheiros.

O conteúdo de cada arquivo de resultado de transcrição é formatado como JSON, como mostrado neste exemplo.

{
  "source": "...",
  "timestamp": "2025-05-24T13:37:05Z",
  "durationInTicks": 25800000,
  "durationMilliseconds": 2580,
  "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"
        }
      ]
    }
  ]
}

Dependendo em parte dos parâmetros de solicitação definidos quando você criou o trabalho de transcrição, o arquivo de transcrição pode conter as seguintes propriedades de resultado.

Propriedade Descrição
channel O número do canal dos resultados. Para fluxos de áudio estéreo, os canais esquerdo e direito são divididos durante a transcrição. Um arquivo de resultado JSON é criado para cada arquivo de áudio de entrada.
combinedRecognizedPhrases Os resultados concatenados de todas as frases para o canal.
confidence O valor da confiança para o reconhecimento.
display A forma de exibição do texto reconhecido. Pontuação e maiúsculas adicionadas estão incluídas.
displayWords Os carimbos de data/hora para cada palavra da transcrição. A displayFormWordLevelTimestampsEnabled propriedade request deve ser definida como true. Caso contrário, esta propriedade não estará presente.
duration A duração do áudio. O valor é uma duração codificada pela ISO 8601.
durationInTicks A duração do áudio em ticks (um tick é 100 nanossegundos).
durationMilliseconds A duração do áudio em milissegundos.
itn O texto inverso normalizado (ITN) forma do texto reconhecido. Abreviaturas como "Doctor Smith" para "Dr Smith", números de telefone e outras transformações são aplicadas.
lexical As palavras reais reconhecidas.
locale A localidade identificou a partir da entrada o áudio. A propriedade de pedido languageIdentification deve ser definida. Caso contrário, esta propriedade não estará presente.
maskedITN O formulário ITN com mascaramento de palavrões aplicado.
nBest Uma lista de transcrições possíveis para a frase atual com confidências.
offset O deslocamento em áudio desta frase. O valor é uma duração codificada pela ISO 8601.
offsetInTicks O deslocamento em áudio desta frase em ticks (um tick é 100 nanossegundos).
recognitionStatus O estado de reconhecimento. Por exemplo: "Sucesso" ou "Fracasso".
recognizedPhrases A lista de resultados para cada frase.
source O URL que foi fornecido como a fonte de áudio de entrada. A origem corresponde à contentUrls propriedade ou contentContainerUrl request. A source propriedade é a única maneira de confirmar a entrada de áudio para uma transcrição.
speaker O orador identificado. As propriedades de pedido diarization e diarizationEnabled devem ser definidas. Caso contrário, esta propriedade não estará presente.
timestamp A data e hora de criação da transcrição. O valor é um carimbo de data/hora codificado pela ISO 8601.
words Uma lista de resultados com texto lexical para cada palavra da frase. A wordLevelTimestampsEnabled propriedade request deve ser definida como true. Caso contrário, esta propriedade não estará presente.