

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
<a name="conversation-diarization-med"></a>

Para habilitar o particionamento de alto-falantes no Amazon Transcribe Medical, use a diarização de *alto-falantes*. Isso permite que você veja o que o paciente disse e o que o médico disse na saída da transcrição.

Quando você ativa a diarização do alto-falante, o Amazon Transcribe Medical rotula cada *enunciado* do alto-falante com um identificador exclusivo para cada alto-falante. Um *enunciado* é uma unidade de voz no canal de áudio que normalmente é separada de outras falas por um silêncio. Na transcrição em lote, um enunciado do médico poderia receber um rótulo `spk_0` e um enunciado do paciente poderia receber um rótulo `spk_1`.

Se um enunciado de um locutor se sobrepuser a um enunciado de outro locutor, o Amazon Transcribe Medical os ordenará na transcrição com base nas horas de início. As falas que se sobrepõem no áudio de entrada não se sobrepõem na saída da transcrição.

Você pode habilitar a diarização de locutores ao transcrever um arquivo de áudio usando o trabalho de transcrição em lote ou em um fluxo em tempo real.

**Topics**
+ [Habilitar a separação de locutores em transcrições em lote](conversation-diarization-batch-med.md)
+ [Habilitar a separação de locutores em fluxos em tempo real](conversation-diarization-streaming-med.md)

# Habilitar a separação de locutores em transcrições em lote
<a name="conversation-diarization-batch-med"></a>

Você pode habilitar a separação de locutores em um trabalho de transcrição em lote usando a API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) ou o Console de gerenciamento da AWS. Isso permite que você divida o texto por locutor em uma conversa entre médico e paciente e determine quem disse o quê na saída da transcrição.

## Console de gerenciamento da AWS
<a name="conversation-diarization-batch-med-console"></a>

Para usar o para habilitar Console de gerenciamento da AWS a diarização do alto-falante em seu trabalho de transcrição, você ativa a identificação de áudio e, em seguida, o particionamento do alto-falante.

1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/transcribe/).

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

1. Escolha **Criar trabalho**.

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

1. Escolha **Próximo**.

1. Ative a **Identificação de áudio**.

1. Em **Tipo de identificação de áudio**, escolha **Separação de oradores**.

1. Em **Número máximo de oradores**, insira o número máximo de locutores que você acha que estão falando no arquivo de áudio.

1. Escolha **Criar**.

## solicitações de
<a name="conversation-diarization-batch-med-api"></a>

**Para habilitar a separação de locutores usando um trabalho de transcrição em lote (API)**
+ Para a API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html), especifique o seguinte.

  1. Para `MedicalTranscriptionJobName`, especifique um nome que seja exclusivo em sua Conta da AWS.

  1. Em `LanguageCode`, especifique o código do idioma que corresponde ao idioma falado no arquivo de áudio.

  1. Para o parâmetro `MediaFileUri` do objeto `Media`, especifique o nome do arquivo de áudio que você deseja transcrever.

  1. Em `Specialty`, indique a especialidade médica do médico que está se pronunciando no arquivo de áudio.

  1. Em `Type`, especifique `CONVERSATION`.

  1. Para`OutputBucketName`, especifique o Amazon S3 bucket para armazenar os resultados da transcrição.

  1. Para o objeto `Settings`, especifique o seguinte:

     1. `ShowSpeakerLabels` – `true`.

     1. `MaxSpeakerLabels`: um número inteiro entre 2 e 10 para indicar o número de locutores que você acha que estão falando no áudio.

A solicitação a seguir usa o AWS SDK para Python (Boto3) para iniciar um trabalho de transcrição em lote do diálogo com o paciente de um clínico primário com o particionamento de alto-falantes ativado.

```
from __future__ import print_function
import time
import boto3
transcribe = boto3.client('transcribe', 'us-west-2')
job_name = "my-first-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 = 'my-output-files/', 
    LanguageCode = 'en-US',
    Specialty = 'PRIMARYCARE',
    Type = 'CONVERSATION',
    OutputBucketName = 'amzn-s3-demo-bucket',
Settings = {'ShowSpeakerLabels': True,
         'MaxSpeakerLabels': 2
         }
         )
while True:
    status = transcribe.get_medical_transcription_job(MedicalTranscriptionJobName = job_name)
    if status['MedicalTranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']:
        break
    print("Not ready yet...")
    time.sleep(5)
print(status)
```

O código de exemplo a seguir mostra os resultados de um trabalho de transcrição com a separação de locutores habilitada.

```
{
    "jobName": "job ID",
    "accountId": "111122223333",
    "results": {
        "transcripts": [
            {
                "transcript": "Professional answer."
            }
        ],
        "speaker_labels": {
            "speakers": 1,
            "segments": [
                {
                    "start_time": "0.000000",
                    "speaker_label": "spk_0",
                    "end_time": "1.430",
                    "items": [
                        {
                            "start_time": "0.100",
                            "speaker_label": "spk_0",
                            "end_time": "0.690"
                        },
                        {
                            "start_time": "0.690",
                            "speaker_label": "spk_0",
                            "end_time": "1.210"
                        }
                    ]
                }
            ]
        },
        "items": [
            {
                "start_time": "0.100",
                "end_time": "0.690",
                "alternatives": [
                    {
                        "confidence": "0.8162",
                        "content": "Professional"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "0.690",
                "end_time": "1.210",
                "alternatives": [
                    {
                        "confidence": "0.9939",
                        "content": "answer"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "alternatives": [
                    {
                        "content": "."
                    }
                ],
                "type": "punctuation"
            }
        ]
    },
    "status": "COMPLETED"
}
```

## AWS CLI
<a name="diarization-batch-cli"></a>

**Como transcrever um arquivo de áudio de uma conversa entre um médico que atua na atenção primária e um paciente (AWS CLI)**
+ Execute o código a seguir.

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

  O código a seguir mostra o conteúdo de `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":{
            "ShowSpeakerLabels": true,
            "MaxSpeakerLabels": 2
          }
  }
  ```

# Habilitar a separação de locutores em fluxos em tempo real
<a name="conversation-diarization-streaming-med"></a>

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 solicitação HTTP/2, use a API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html). 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.

## Habilitar a separação de locutores no áudio que é transmitido por meio do microfone (Console de gerenciamento da AWS)
<a name="conversation-diarization-console"></a>

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](https://console.aws.amazon.com/transcribe/).

1. No painel de navegação, para Amazon Transcribe Medicina, escolha **Transcrição em tempo real**.

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

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

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

1. Fale pelo microfone.

## Habilitar a separação de locutores em um fluxo HTTP/2
<a name="conversation-diarization-med-http2"></a>

Para habilitar a separação de locutores em um fluxo HTTP/2 de uma conversa médica, use a API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) 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.
+ `ShowSpeakerLabel` – `true`

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](streaming-setting-up.md#streaming-http2).

## Ativando o particionamento de alto-falantes em uma solicitação WebSocket
<a name="conversation-diarization-med-websocket"></a>

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 como`show-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, consulte[Configurando um WebSocket stream](streaming-setting-up.md#streaming-websocket).