Transcrever áudio multicanal - Amazon Transcribe

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Transcrever áudio multicanal

Se você tiver um arquivo ou stream de áudio com vários canais, poderá usar a identificação do canal para transcrever a fala de cada um desses canais. Amazon Transcribe O médico transcreve o discurso de cada canal separadamente. Ele combina as transcrições separadas de cada canal em uma única saída de transcrição.

Use a identificação de canal para distinguir os canais separados no áudio e transcrever a fala de cada um deles. Habilite esse recurso em situações que envolvam chamador e atendente. Use-o também para distinguir um chamador de um atendente em gravações ou fluxos das centrais de atendimento que realizam monitoramento de segurança de medicamentos.

Você pode habilitar a identificação de canal para processamento em lote e streaming em tempo real. A lista a seguir descreve como habilitá-lo para cada método.

Transcrição de arquivos de áudio multicanal

Quando você transcreve um arquivo de áudio, o Amazon Transcribe Medical retorna uma lista de itens para cada canal. Um item é uma palavra transcrita ou um sinal de pontuação. Cada palavra tem uma hora de início e uma hora de término. Se uma pessoa em um canal falar ao mesmo tempo que uma pessoa em um canal distinto, as horas de início e de término dos itens de cada canal vão se sobrepor enquanto a fala de ambas se sobrepuser.

Por padrão, você pode transcrever arquivos de áudio com dois canais. Você pode solicitar um aumento de cota se precisar transcrever arquivos com mais de dois canais. Para obter mais informações sobre como solicitar um aumento de cota, consulte AWS service (Serviço da AWS) quotas.

Para transcrever áudio multicanal em um trabalho de transcrição em lote, use o ou a AWS Management Console API. StartMedicalTranscriptionJob

Para usar o AWS Management Console para habilitar a identificação de canais em seu trabalho de transcrição em lote, você ativa a identificação de áudio e, em seguida, a identificação de canais. A identificação do canal é um subconjunto da identificação de áudio no AWS Management Console.

  1. Faça login no AWS Management Console.

  2. No painel de navegação, em Amazon Transcribe Medicina, escolha Trabalhos de transcrição.

  3. Escolha Criar trabalho.

  4. Na página Especificar os detalhes da tarefa, forneça informações sobre o trabalho de transcrição.

  5. Escolha Próximo.

  6. Ative a Identificação de áudio.

  7. Em Tipo de identificação de áudio, escolha Identificação de canal.

  8. Escolha Criar.

Como transcrever um arquivo de áudio multicanal (API)
  • Para a API StartMedicalTranscriptionJob, especifique o seguinte.

    1. Em TranscriptionJobName, especifique um nome exclusivo para sua Conta da AWS.

    2. Em LanguageCode, especifique o código do idioma que corresponde ao idioma falado no arquivo de áudio. O valor válido é en-US.

    3. No parâmetro MediaFileUri do objeto Media, especifique o nome do arquivo de mídia a ser transcrito.

    4. Para o objeto Settings, defina ChannelIdentification como true.

Veja a seguir uma solicitação do AWS SDK para Python (Boto3) de exemplo.

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') job_name = "my-first-transcription-job" job_name = "my-first-med-transcription-job" job_uri = "s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac" transcribe.start_medical_transcription_job( MedicalTranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'amzn-s3-demo-bucket', OutputKey = 'output-files/', LanguageCode = 'en-US', Specialty = 'PRIMARYCARE', Type = 'CONVERSATION', Settings = { 'ChannelIdentification': True } ) while True: status = transcribe.get_transcription_job(MedicalTranscriptionJobName = job_name) if status['MedicalTranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)
Como transcrever um arquivo de áudio multicanal usando um trabalho de transcrição em lote (AWS CLI)
  • Execute o código a seguir.

    aws transcribe start-medical-transcription-job \ --region us-west-2 \ --cli-input-json file://example-start-command.json

    O código a seguir é do arquivo example-start-command.json.

    { "MedicalTranscriptionJobName": "my-first-med-transcription-job", "Media": { "MediaFileUri": "s3://amzn-s3-demo-bucket/my-input-files/my-audio-file.flac" }, "OutputBucketName": "amzn-s3-demo-bucket", "OutputKey": "my-output-files/", "LanguageCode": "en-US", "Specialty": "PRIMARYCARE", "Type": "CONVERSATION", "Settings":{ "ChannelIdentification": true } }

O código a seguir mostra a saída da transcrição de um arquivo de áudio que tem uma conversa em dois canais.

{ "jobName": "job id", "accountId": "111122223333", "results": { "transcripts": [ { "transcript": "When you try ... It seems to ..." } ], "channel_labels": { "channels": [ { "channel_label": "ch_0", "items": [ { "start_time": "12.282", "end_time": "12.592", "alternatives": [ { "confidence": "1.0000", "content": "When" } ], "type": "pronunciation" }, { "start_time": "12.592", "end_time": "12.692", "alternatives": [ { "confidence": "0.8787", "content": "you" } ], "type": "pronunciation" }, { "start_time": "12.702", "end_time": "13.252", "alternatives": [ { "confidence": "0.8318", "content": "try" } ], "type": "pronunciation" }, ... ] }, { "channel_label": "ch_1", "items": [ { "start_time": "12.379", "end_time": "12.589", "alternatives": [ { "confidence": "0.5645", "content": "It" } ], "type": "pronunciation" }, { "start_time": "12.599", "end_time": "12.659", "alternatives": [ { "confidence": "0.2907", "content": "seems" } ], "type": "pronunciation" }, { "start_time": "12.669", "end_time": "13.029", "alternatives": [ { "confidence": "0.2497", "content": "to" } ], "type": "pronunciation" }, ... ] } }

Transcrever fluxos de áudio multicanal

Você pode transcrever áudio de canais separados em HTTP/2 ou WebSocket streams usando a API. StartMedicalStreamTranscription

Por padrão, você pode transcrever transmissões com dois canais. Você pode solicitar um aumento de cota se precisar transcrever transmissões que tenham mais de dois canais. Para obter mais informações sobre como solicitar um aumento de cota, consulte AWS service quotas.

Transcrever áudio multicanal em um fluxo HTTP/2

Para transcrever áudio multicanal em um stream HTTP/2, use a StartMedicalStreamTranscriptionAPI e especifique o seguinte:

  • LanguageCode: o código de idioma do áudio a ser selecionado. O valor válido é en-US.

  • MediaEncoding: a codificação do áudio. Os valores válidos são ogg-opus, flac e pcm.

  • EnableChannelIdentificationtrue

  • NumberOfChannels: o número de canais no streaming de áudio.

Para obter mais informações sobre como configurar um fluxo HTTP/2 para transcrever uma conversa médica, consulte Configurar um fluxo de HTTP/2.

Transcrevendo áudio multicanal em um stream WebSocket

Para particionar alto-falantes em WebSocket streams, use o formato a seguir para criar um URI pré-assinado e iniciar uma WebSocket solicitação. Especifique enable-channel-identification como true e o número de canais no fluxo em number-of-channels. Um URI pré-assinado contém as informações necessárias para configurar a comunicação bidirecional entre seu aplicativo e o Medical. Amazon Transcribe

GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/medical-stream-transcription-websocket ?language-code=languageCode &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20220208%2Fus-west-2%2Ftranscribe%2Faws4_request &X-Amz-Date=20220208T235959Z &X-Amz-Expires=300 &X-Amz-Security-Token=security-token &X-Amz-Signature=Signature Version 4 signature &X-Amz-SignedHeaders=host &media-encoding=flac &sample-rate=16000 &session-id=sessionId &enable-channel-identification=true &number-of-channels=2

As definições de parâmetros podem ser encontradas na Referência da API; os parâmetros comuns a todas as operações AWS da API estão listados na seção Parâmetros comuns.

Para obter mais informações sobre WebSocket solicitações, consulteConfigurando um WebSocket stream.

Saída de streaming multicanal

A saída de uma transcrição de streaming é a mesma para HTTP/2 e solicitações. WebSocket Veja a seguir um exemplo de saída.

{ "resultId": "XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX", "startTime": 0.11, "endTime": 0.66, "isPartial": false, "alternatives": [ { "transcript": "Left.", "items": [ { "startTime": 0.11, "endTime": 0.45, "type": "pronunciation", "content": "Left", "vocabularyFilterMatch": false }, { "startTime": 0.45, "endTime": 0.45, "type": "punctuation", "content": ".", "vocabularyFilterMatch": false } ] } ], "channelId": "ch_0" }

Para cada segmento de fala, há um sinalizador channelId, que indica a qual canal a fala pertence.