View a markdown version of this page

Habilitar a separação de locutores em fluxos em tempo real - 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á.

Habilitar a separação de locutores em fluxos em tempo real

Para particionar os alto-falantes e rotular sua fala em um stream em tempo real, use o Console de gerenciamento da AWS ou uma solicitação de streaming. A separação de locutores funciona melhor para dois a cinco locutores em um fluxo. Embora o Amazon Transcribe Medical possa particionar mais de cinco alto-falantes em um stream, a precisão das partições diminui se você exceder esse número.

Para iniciar uma HTTP/2 solicitação, use a StartMedicalStreamTranscriptionAPI. Para iniciar uma WebSocket solicitação, use um URI pré-assinado. O URI contém as informações necessárias para configurar a comunicação bidirecional entre a aplicativo e o Amazon Transcribe Medical.

Você pode usar o Console de gerenciamento da AWS para iniciar uma transmissão em tempo real de uma conversa médico-paciente ou um ditado que é falado em seu microfone em tempo real.

  1. Faça login no Console de gerenciamento da AWS.

  2. No painel de navegação, em Amazon Transcribe Médico, escolha Real-timetranscrição.

  3. Em Tipo de entrada de áudio, escolha o tipo de fala médica que você deseja transcrever.

  4. Em Configurações adicionais, escolha Separação de oradores.

  5. Escolha Iniciar streaming para começar a transcrever o áudio em tempo real.

  6. Fale pelo microfone.

Para habilitar o particionamento de alto-falantes em um HTTP/2 stream de uma conversa médica, use a StartMedicalStreamTranscriptionAPI e especifique o seguinte:

  • Em LanguageCode, especifique o código do idioma que corresponde ao idioma no fluxo. O valor válido é en-US.

  • Em MediaSampleHertz, especifique a taxa de amostragem do áudio.

  • Em Specialty, especifique a especialidade médica do profissional.

  • ShowSpeakerLabeltrue

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

Para particionar alto-falantes em WebSocket streams com a API, use o formato a seguir para criar um URI pré-assinado para iniciar uma WebSocket solicitação e definir comoshow-speaker-label. true

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 &specialty=medicalSpecialty &type=CONVERSATION &vocabulary-name=vocabularyName &show-speaker-label=boolean

O código a seguir mostra o exemplo de resposta truncada de uma solicitação de streaming.

{ "Transcript": { "Results": [ { "Alternatives": [ { "Items": [ { "Confidence": 0.97, "Content": "From", "EndTime": 18.98, "Speaker": "0", "StartTime": 18.74, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Confidence": 1, "Content": "the", "EndTime": 19.31, "Speaker": "0", "StartTime": 19, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Confidence": 1, "Content": "last", "EndTime": 19.86, "Speaker": "0", "StartTime": 19.32, "Type": "pronunciation", "VocabularyFilterMatch": false }, ... { "Confidence": 1, "Content": "chronic", "EndTime": 22.55, "Speaker": "0", "StartTime": 21.97, "Type": "pronunciation", "VocabularyFilterMatch": false }, ... "Confidence": 1, "Content": "fatigue", "EndTime": 24.42, "Speaker": "0", "StartTime": 23.95, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "EndTime": 25.22, "StartTime": 25.22, "Type": "speaker-change", "VocabularyFilterMatch": false }, { "Confidence": 0.99, "Content": "True", "EndTime": 25.63, "Speaker": "1", "StartTime": 25.22, "Type": "pronunciation", "VocabularyFilterMatch": false }, { "Content": ".", "EndTime": 25.63, "StartTime": 25.63, "Type": "punctuation", "VocabularyFilterMatch": false } ], "Transcript": "From the last note she still has mild sleep deprivation and chronic fatigue True." } ], "EndTime": 25.63, "IsPartial": false, "ResultId": "XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX", "StartTime": 18.74 } ] } }

Amazon Transcribe O Medical interrompe o fluxo de áudio de entrada com base em segmentos naturais da fala, como uma mudança no alto-falante ou uma pausa no áudio. A transcrição é retornada progressivamente para seu aplicativo, com cada resposta contendo mais fala transcrita até que todo o segmento seja transcrito. O código anterior é um exemplo truncado de um segmento de fala totalmente transcrito. Os rótulos dos locutores só aparecem para segmentos totalmente transcritos.

A lista a seguir mostra a organização dos objetos e parâmetros em uma saída de transcrição de streaming.

Transcript

Cada segmento de fala tem seu próprio objeto Transcript.

Results

Cada objeto Transcript tem seu próprio objeto Results. Esse objeto contém o campo isPartial. Quando o valor é false, os resultados retornados referem-se a um segmento de fala inteiro.

Alternatives

Cada objeto Results tem um objeto Alternatives.

Items

Cada objeto Alternatives tem seu próprio objeto Items, que contém informações sobre cada palavra e sinal de pontuação na saída da transcrição. Quando você ativa o particionamento do alto-falante, cada palavra tem um Speaker rótulo para segmentos de fala totalmente transcritos. Amazon Transcribe O Medical usa esse rótulo para atribuir um número inteiro exclusivo a cada alto-falante no stream. O parâmetro Type que o valor speaker-change indica que uma pessoa parou de falar e que outra pessoa está prestes a começar.

Transcript

Cada objeto Items contém um segmento de fala transcrito como o valor do campo Transcript.

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