

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Habilitar la partición de voces
<a name="conversation-diarization-med"></a>

*Para habilitar la partición de los altavoces en la versión Amazon Transcribe médica, utilice la diarización de los altavoces.* Esto permite ver lo que dijo el paciente y lo que dijo el médico en el resultado de la transcripción.

Al activar la diarización de los altavoces, Amazon Transcribe Medical etiqueta cada *enunciado* del altavoz con un identificador único para cada altavoz. Un *enunciado* es una unidad de voz en el canal de audio que normalmente está separado de otros enunciados por un silencio. En la transcripción por lotes, un enunciado del médico podría recibir una etiqueta `spk_0` y un enunciado con el que el paciente podría recibir una etiqueta `spk_1`.

Si un enunciado de un hablante se superpone con un enunciado de otro hablante, Amazon Transcribe Medical lo ordenará en la transcripción antes de la hora de inicio. Los enunciados que se solapan en el audio de entrada no se solapan en la salida de la transcripción.

Puede activar la diarización de las voces al transcribir un archivo de audio mediante un trabajo de transcripción por lotes o en una secuencia en tiempo real.

**Topics**
+ [Habilitar la partición de las voces en las transcripciones por lotes](conversation-diarization-batch-med.md)
+ [Habilitar la partición de los hablantes en secuencias en tiempo real](conversation-diarization-streaming-med.md)

# Habilitar la partición de las voces en las transcripciones por lotes
<a name="conversation-diarization-batch-med"></a>

Puede habilitar la partición de las voces en un trabajo de transcripción por lotes mediante la API de [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) o Consola de administración de AWS. Esto le permite dividir el texto por voz en una conversación entre el médico y el paciente y determinar quién dijo qué en el resultado de la transcripción.

## Consola de administración de AWS
<a name="conversation-diarization-batch-med-console"></a>

Para utilizar la Consola de administración de AWS diarización de los altavoces en su trabajo de transcripción, active la identificación del audio y, a continuación, la partición de los altavoces.

1. Inicie sesión en la [Consola de administración de AWS](https://console.aws.amazon.com/transcribe/).

1. **En el panel de navegación, en Amazon Transcribe Medicina, selecciona Trabajos de transcripción.**

1. Seleccione **Crear trabajo**.

1. En la página **Especificar detalles del trabajo**, proporcione información sobre su trabajo de transcripción.

1. Elija **Siguiente**.

1. Habilite **Identificación por audio**.

1. En **Tipo de identificación de audio**, seleccione **Partición de voces**.

1. En **Número máximo de voces**, introduzca el número máximo de voces que cree que están hablando en el archivo de audio.

1. Seleccione **Crear**.

## API
<a name="conversation-diarization-batch-med-api"></a>

**Para habilitar la partición de las voces en un trabajo de transcripción por lotes (API)**
+ Para la API de [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html), especifique lo siguiente.

  1. Para`MedicalTranscriptionJobName`, especifique un nombre que sea único en su Cuenta de AWS.

  1. Para `LanguageCode`, especifique el código de idioma que corresponda al idioma hablado en el archivo de audio.

  1. En el parámetro `MediaFileUri` del objeto `Media`, especifique el nombre del archivo multimedia que desea transcribir.

  1. Para `Specialty`, especifique la especialidad médica del profesional que habla en el archivo de audio.

  1. En `Type`, especifique `CONVERSATION`.

  1. Para`OutputBucketName`, especifique el Amazon S3 depósito en el que almacenar los resultados de la transcripción.

  1. En el objeto `Settings`, especifique lo siguiente.

     1. `ShowSpeakerLabels` – `true`.

     1. `MaxSpeakerLabels`: número entero entre 2 y 10 para indicar el número de voces que cree que están hablando en el audio.

La siguiente solicitud utiliza el AWS SDK para Python (Boto3) para iniciar un trabajo de transcripción por lotes de un diálogo entre un paciente y un médico de atención primaria con la partición de altavoces habilitada.

```
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)
```

El siguiente código de ejemplo muestra los resultados de la transcripción de un trabajo de transcripción con la partición de las voces 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>

**Para transcribir un archivo de audio de una conversación entre un médico de atención primaria y un paciente (AWS CLI)**
+ Ejecute el siguiente código.

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

  El texto siguiente muestra el contenido 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 la partición de los hablantes en secuencias en tiempo real
<a name="conversation-diarization-streaming-med"></a>

Para dividir los altavoces y etiquetar su discurso en una transmisión en tiempo real, utilice la Consola de administración de AWS o una solicitud de transmisión. La partición de las voces funciona mejor con entre dos y cinco hablantes en una transmisión. Aunque Amazon Transcribe Medical puede dividir más de cinco altavoces en una transmisión, la precisión de las particiones disminuye si se supera ese número.

Para iniciar una solicitud HTTP/2, utilice la API de [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 una WebSocket solicitud, utilice un URI prefirmado. El URI contiene la información necesaria para configurar la comunicación bidireccional entre la aplicación y Amazon Transcribe Medical.

## Habilitar la partición de las voces en el audio que se escucha en el micrófono (Consola de administración de AWS)
<a name="conversation-diarization-console"></a>

Puedes usar el Consola de administración de AWS para iniciar una transmisión en tiempo real de una conversación entre el médico y el paciente, o un dictado que se escucha en el micrófono en tiempo real.

1. Inicie sesión en la [Consola de administración de AWS](https://console.aws.amazon.com/transcribe/).

1. **En el panel de navegación, en Amazon Transcribe Medicina, selecciona Transcripción en tiempo real.**

1. En **Tipo de entrada de audio**, elija el tipo de discurso médico que desee transcribir.

1. En **Ajustes adicionales**, seleccion **Partición de las voces**.

1. Elija **Comenzar streaming** para empezar a transcribir su audio en tiempo real.

1. Hable al micrófono.

## Habilitar la partición de las voces en una secuencia HTTP/2
<a name="conversation-diarization-med-http2"></a>

Para habilitar la partición de las voces en una secuencia HTTP/2 de una conversación médica, utilice la API de [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html) y especifique lo siguiente: 
+ Para `LanguageCode`, especifique el código de idioma que corresponda al idioma hablado en la secuencia. El valor válido es `en-US`.
+ Para `MediaSampleHertz`, especifique la frecuencia de muestreo del audio.
+ Para`Specialty`, especifique la especialidad médica del proveedor.
+ `ShowSpeakerLabel` – `true`

Para obtener más información sobre cómo configurar una secuencia HTTP/2 para transcribir una conversación médica, consulte [Configuración de una secuencia HTTP/2](streaming-setting-up.md#streaming-http2).

## Habilitar la partición de los altavoces en una solicitud WebSocket
<a name="conversation-diarization-med-websocket"></a>

Para particionar los altavoces en las WebSocket transmisiones con la API, usa el siguiente formato para crear un URI prefirmado para iniciar una WebSocket solicitud y `show-speaker-label` configurarlo. `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
```

El siguiente código muestra el ejemplo truncado de la respuesta de una solicitud 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 Medical divide la transmisión de audio entrante en función de los segmentos naturales de la voz, como un cambio de altavoz o una pausa en el audio. La transcripción se devuelve progresivamente a la aplicación, y cada respuesta contiene más discurso transcrito hasta que se transcribe el segmento completo. El código anterior es un ejemplo truncado de un segmento de voz completamente transcrito. Las etiquetas de las voces sólo aparecen en los segmentos totalmente transcritos. 

La siguiente lista muestra la organización de los objetos y parámetros en un resultado de una transcripción en streaming.

**`Transcript`**  
Cada segmento de voz tiene su propio objeto `Transcript`.

**`Results`**  
Cada objeto `Transcript` tiene su propio objeto `Results`. Este objeto contiene el subcampo `isPartial`. Si su valor es `false`, los resultados devueltos son para un segmento de voz completo.

**`Alternatives`**  
Cada objeto `Results` tiene un objeto `Alternatives`.

**`Items`**  
Cada objeto `Alternatives` tiene su propio objeto `Items` que contiene información sobre cada palabra y signo de puntuación del resultado de la transcripción. Al activar la partición de los altavoces, cada palabra tiene una `Speaker` etiqueta para los segmentos del discurso completamente transcritos. Amazon Transcribe Medical utiliza esta etiqueta para asignar un número entero único a cada altavoz de la transmisión. El parámetro `Type` que tiene un valor de `speaker-change` indica que una persona ha dejado de hablar y que otra está a punto de empezar.

**`Transcript`**  
Cada objeto de Items contiene un segmento de voz transcrito como valor del campo `Transcript`.

Para obtener más información sobre WebSocket las solicitudes, consulte[Configurar una WebSocket transmisión](streaming-setting-up.md#streaming-websocket).