

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Transcription d’une conversation médicale
<a name="transcribe-medical-conversation"></a>

Vous pouvez utiliser Amazon Transcribe Medical pour transcrire une conversation médicale entre un clinicien et un patient à l'aide d'un travail de transcription par lots ou d'un flux en temps réel. Les tâches de transcription par lots vous permettent de transcrire des fichiers audio. Pour garantir que Amazon Transcribe Medical produit des résultats de transcription avec la plus grande précision possible, vous devez spécifier la spécialité médicale du clinicien dans votre travail ou votre flux de transcription.

Vous pouvez transcrire une visite médecin-patient dans les spécialités médicales suivantes :
+ Cardiologie – Disponible en transcription en streaming uniquement
+ Neurologie – Disponible en transcription en streaming uniquement
+ Oncologie – Disponible en transcription en streaming uniquement
+ Soins primaires – Incluent les types de pratique médicale suivants :
  + Médecine familiale
  + Médecine interne
  + Obstétrique et gynécologie (OB-GYN)
  + Pédiatrie
+ Urologie – Disponible en transcription en streaming uniquement

Vous pouvez améliorer la précision de la transcription en utilisant des vocabulaires personnalisés médicaux. Pour plus d’informations sur le fonctionnement des vocabulaires personnalisés médicaux, consultez la section [Amélioration de la précision de la transcription grâce à des vocabulaires personnalisés médicaux](vocabulary-med.md).

Par défaut, Amazon Transcribe Medical renvoie la transcription avec le niveau de confiance le plus élevé. Si vous souhaitez le configurer pour renvoyer des transcriptions alternatives, consultez la section [Génération de transcriptions alternatives](alternative-med-transcriptions.md).

Pour plus d’informations sur la façon dont les nombres et les mesures médicales apparaissent dans la sortie de transcription, consultez les sections [Transcription des nombres](how-numbers-med.md) et [Transcription des termes médicaux et des mesures](how-measurements-med.md).

**Topics**
+ [Transcription d’un fichier audio d’une conversation médicale](batch-medical-conversation.md)
+ [Transcription d’une conversation médicale dans un flux en temps réel](streaming-medical-conversation.md)
+ [Activation du partitionnement des locuteurs](conversation-diarization-med.md)
+ [Transcription audio multicanal](conversation-channel-id-med.md)

# Transcription d’un fichier audio d’une conversation médicale
<a name="batch-medical-conversation"></a>

Utilisez une tâche de transcription par lots pour transcrire les fichiers audio de conversations médicales. Vous pouvez l’utiliser pour transcrire un dialogue entre un médecin et son patient. Vous pouvez démarrer une tâche de transcription par lots dans l’API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) ou la AWS Management Console.

Lorsque vous démarrez une tâche de transcription médicale avec l’API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html), vous spécifiez `PRIMARYCARE` comme valeur du paramètre `Specialty`. 

## AWS Management Console
<a name="batch-med-conversation-console"></a>

**Pour transcrire un dialogue entre un médecin et son patient (AWS Management Console)**

**Pour utiliser le AWS Management Console pour transcrire un dialogue clinicien-patient, créez une tâche de transcription et choisissez le type d'entrée **Conversation for Audio**.**

1. Connectez-vous à la [AWS Management Console](https://console.aws.amazon.com/transcribe/).

1. Dans le volet de navigation, sous Amazon Transcribe Medical, sélectionnez **Transcription jobs**.

1. Choisissez **Créer une tâche**.

1. Sur la page **Spécifier les détails de la tâche**, sous **Paramètres de la tâche**, indiquez les valeurs suivantes :

   1. **Nom** : nom de la tâche de transcription.

   1. **Type d’entrée audio** : **Conversation**

1. Pour les autres champs, spécifiez l' Amazon S3 emplacement de votre fichier audio et l'endroit où vous souhaitez stocker le résultat de votre travail de transcription.

1. Choisissez **Suivant**.

1. Choisissez **Créer**.

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

**Pour transcrire une conversation médicale à l’aide d’une tâche de transcription par lots (API)**
+ Pour l’API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html), spécifiez ce qui suit.

  1. Pour `MedicalTranscriptionJobName`, spécifiez un nom unique dans votre Compte AWS.

  1. Pour `LanguageCode`, spécifiez le code de langue correspondant à la langue parlée dans votre fichier audio et la langue de votre filtre de vocabulaire.

  1. Pour le paramètre `MediaFileUri` de l’objet `Media`, spécifiez le nom du fichier audio que vous souhaitez transcrire.

  1. Pour `Specialty`, indiquez `PRIMARYCARE` comme spécialité médicale du médecin qui parle dans le fichier audio.

  1. Pour `Type`, spécifiez `CONVERSATION`.

  1. Pour `OutputBucketName`, spécifiez le compartiment Amazon S3 dans lequel stocker les résultats de transcription.

  Voici un exemple de demande qui utilise le AWS SDK pour Python (Boto3) pour transcrire une conversation médicale entre un clinicien de la `PRIMARYCARE` spécialité et un patient.

  ```
  from __future__ import print_function
  import time
  import boto3
  transcribe = boto3.client('transcribe', 'us-west-2')
  job_name = "my-first-med-transcription-job"
  job_uri = "s3://amzn-s3-demo-bucket/my-input-files/my-audio-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'
    )
  
  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)
  ```

L’exemple de code suivant montre les résultats de transcription d’une conversation entre un médecin et son patient.

```
{
    "jobName": "conversation-medical-transcription-job",
    "accountId": "111122223333",
    "results": {
        "transcripts": [
            {
                "transcript": "... come for a follow up visit today..."
            }
        ],
        "items": [
            {
            ...
                "start_time": "4.85",
                "end_time": "5.12",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "come"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.12",
                "end_time": "5.29",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "for"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.29",
                "end_time": "5.33",
                "alternatives": [
                    {
                        "confidence": "0.9955",
                        "content": "a"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.33",
                "end_time": "5.66",
                "alternatives": [
                    {
                        "confidence": "0.9754",
                        "content": "follow"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.66",
                "end_time": "5.75",
                "alternatives": [
                    {
                        "confidence": "0.9754",
                        "content": "up"
                    }
                ],
                "type": "pronunciation"
            },
            {
                "start_time": "5.75",
                "end_time": "6.02",
                "alternatives": [
                    {
                        "confidence": "1.0",
                        "content": "visit"
                    }
                ]
                ...
    },
    "status": "COMPLETED"
}
```

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

**Pour transcrire une conversation médicale à l’aide d’une tâche de transcription par lots (AWS CLI)**
+ Exécutez le code suivant.

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

  Le code suivant affiche le contenu du fichier `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"
    }
  ```

# Transcription d’une conversation médicale dans un flux en temps réel
<a name="streaming-medical-conversation"></a>

Vous pouvez transcrire le flux audio d'une conversation médicale à l'aide du protocole HTTP/2 ou [WebSocket ](https://tools.ietf.org/html/rfc6455)des protocoles. Pour plus d'informations sur le démarrage d'un flux à l'aide WebSocket du protocole, consultez[Configuration d'un WebSocket stream](streaming-setting-up.md#streaming-websocket). Pour démarrer un flux HTTP/2, utilisez l’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).

Vous pouvez transcrire un flux audio en streaming de l’une des spécialités médicales suivantes :
+ Cardiologie
+ Neurologie
+ Oncologie
+ Soins primaires
+ Urologie

Chaque spécialité médicale comprend de nombreux types de procédures et de rendez-vous. Les médecins dictent donc de nombreux types de notes. Utilisez les exemples suivants pour vous aider à spécifier la valeur du paramètre `specialty` URI de la WebSocket demande ou du `Specialty` paramètre de l'[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html)API :
+ Pour les consultations d’électrophysiologie ou d’échocardiographie, choisissez `CARDIOLOGY`.
+ Pour les consultations en oncologie médicale, en oncologie chirurgicale ou en radio-oncologie, choisissez `ONCOLOGY`.
+ Pour un médecin qui consulte un patient victime d’un accident vasculaire cérébral, qu’il s’agisse d’un accident ischémique transitoire ou d’un accident vasculaire cérébral, choisissez `NEUROLOGY`.
+ Pour une consultation sur l’incontinence urinaire, choisissez `UROLOGY`.
+ Pour un examen annuel ou des visites de soins d’urgence, choisissez `PRIMARYCARE`.
+ Pour les visites de médecins hospitaliers, choisissez `PRIMARYCARE`.
+ Pour les consultations concernant la fertilité, la ligature des trompes, l’insertion d’un DIU ou l’avortement, choisissez `PRIMARYCARE`.

## AWS Management Console
<a name="streaming-medical-conversation-console"></a>

**Pour transcrire une conversation médicale en streaming (AWS Management Console)**

 AWS Management Console Pour transcrire un dialogue clinicien-patient en temps réel, choisissez l'option permettant de transcrire une conversation médicale, de démarrer le flux et de commencer à parler dans le microphone.

1. Connectez-vous à la [AWS Management Console](https://console.aws.amazon.com/transcribe/).

1. Dans le volet de navigation, sous Amazon Transcribe Médical, sélectionnez **Transcription en temps réel**.

1. Choisissez **Conversation**.

1. Pour **Spécialité médicale**, choisissez la spécialité du médecin.

1. Choisissez **Démarrer le streaming**.

1. Parlez dans le microphone.

## Transcription d’une conversation médicale dans un flux HTTP/2
<a name="http2-med-conversation-streaming"></a>

Voici la syntaxe des paramètres d’une requête HTTP/2.

Pour transcrire le flux HTTP/2 d’une conversation médicale, utilisez l’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) et spécifiez les éléments suivants :
+ `LanguageCode` – Code de langue. La valeur valide est `en-US`.
+ `MediaEncoding` – Encodage utilisé pour l’audio en entrée. Les valeurs valides sont `pcm`, `ogg-opus` et `flac`.
+ `Specialty` – Spécialité du professionnel de santé.
+ `Type` – `CONVERSATION`

Pour améliorer la précision de transcription de termes spécifiques dans un flux en temps réel, utilisez un vocabulaire personnalisé. Pour activer un vocabulaire personnalisé, définissez la valeur du paramètre `VocabularyName` sur le nom du vocabulaire personnalisé que vous souhaitez utiliser. Pour plus d’informations, consultez la section [Amélioration de la précision de la transcription grâce à des vocabulaires personnalisés médicaux](vocabulary-med.md).

Pour étiqueter le discours provenant de différents locuteurs, réglez le paramètre `ShowSpeakerLabel` sur `true`. Pour plus d’informations, consultez la section [Activation du partitionnement des locuteurs](conversation-diarization-med.md).

Pour plus d’informations sur la configuration d’un flux HTTP/2 pour transcrire une conversation médicale, consultez la section [Configuration d’un flux HTTP/2](streaming-setting-up.md#streaming-http2).

## Transcrire une conversation médicale dans un stream WebSocket
<a name="transcribe-medical-conversation-websocket"></a>

Vous pouvez utiliser une WebSocket demande pour transcrire une conversation médicale. Lorsque vous faites une WebSocket demande, vous créez un URI présigné. Cet URI contient les informations nécessaires pour configurer le flux audio entre votre application et Amazon Transcribe Medical. Pour plus d'informations sur la création de WebSocket demandes, consultez[Configuration d'un WebSocket stream](streaming-setting-up.md#streaming-websocket).

Utilisez le modèle suivant pour créer votre URI pré-signé.

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

Pour améliorer la précision de transcription de termes spécifiques dans un flux en temps réel, utilisez un vocabulaire personnalisé. Pour activer un vocabulaire personnalisé, définissez la valeur du `vocabulary-name` sur le nom du vocabulaire personnalisé que vous souhaitez utiliser. Pour plus d’informations, consultez la section [Amélioration de la précision de la transcription grâce à des vocabulaires personnalisés médicaux](vocabulary-med.md).

Pour étiqueter le discours provenant de différents locuteurs, définissez le paramètre `show-speaker-label` sur `true`. Pour de plus amples informations, veuillez consulter [Activation du partitionnement des locuteurs](conversation-diarization-med.md).

Pour plus d'informations sur la création de documents pré-signés URIs, consultez[Configuration d'un WebSocket stream](streaming-setting-up.md#streaming-websocket).

# Activation du partitionnement des locuteurs
<a name="conversation-diarization-med"></a>

Pour activer le partitionnement des haut-parleurs dans Amazon Transcribe Medical, utilisez la *diarisation des haut-parleurs*. Cela vous permet de voir ce que le patient a dit et ce que le médecin a dit dans la sortie de transcription.

Lorsque vous activez la diarisation des locuteurs, Amazon Transcribe Medical étiquette chaque *énoncé* du locuteur avec un identifiant unique pour chaque locuteur. Un *énoncé* est une unité de parole qui est généralement séparée des autres énoncés par un silence. Lors de la transcription par lots, un énoncé du médecin peut recevoir une étiquette `spk_0` et un énoncé du patient peut recevoir une étiquette `spk_1`.

Si un énoncé d’un locuteur chevauche un énoncé d’un autre locuteur, Amazon Transcribe Medical les ordonne dans la transcription avant leur heure de début. Les énoncés qui se chevauchent dans le flux audio d’entrée ne se chevauchent pas dans la transcription de sortie.

Vous pouvez activer la diarisation des locuteurs lorsque vous transcrivez un fichier audio à l’aide d’une tâche de transcription par lots ou dans un flux en temps réel.

**Topics**
+ [Activation du partitionnement des locuteurs dans une transcription par lots](conversation-diarization-batch-med.md)
+ [Activation du partitionnement des locuteurs dans des flux en temps réel](conversation-diarization-streaming-med.md)

# Activation du partitionnement des locuteurs dans une transcription par lots
<a name="conversation-diarization-batch-med"></a>

Vous pouvez activer le partitionnement des locuteurs dans une tâche de transcription par lots à l’aide de l’API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html) ou de la AWS Management Console. Cela vous permet de partitionner le texte par locuteur dans une conversation entre un médecin et son patient et de déterminer qui a dit quoi dans la sortie de la transcription.

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

 AWS Management Console Pour activer la diarisation des haut-parleurs dans votre tâche de transcription, vous devez activer l'identification audio, puis le partitionnement des haut-parleurs.

1. Connectez-vous à la [AWS Management Console](https://console.aws.amazon.com/transcribe/).

1. Dans le volet de navigation, sous Amazon Transcribe Medical, sélectionnez **Transcription jobs**.

1. Choisissez **Créer une tâche**.

1. Sur la page **Spécifier les détails de la tâche**, fournissez des informations sur votre tâche de transcription.

1. Choisissez **Suivant**.

1. Activez **Identification audio**.

1. Pour **Type d’identification audio**, choisissez **Partitionnement des locuteurs**.

1. Pour **Nombre maximal de locuteurs**, entrez le nombre maximal de locuteurs qui, selon vous, parlent dans votre fichier audio.

1. Choisissez **Créer**.

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

**Pour activer le partitionnement des locuteurs à l’aide d’une tâche de transcription par lots (API)**
+ Pour l’API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html), spécifiez ce qui suit.

  1. Pour `MedicalTranscriptionJobName`, spécifiez un nom unique dans votre Compte AWS.

  1. Pour `LanguageCode`, spécifiez le code de langue correspondant à la langue parlée dans le fichier audio.

  1. Pour le paramètre `MediaFileUri` de l’objet `Media`, spécifiez le nom du fichier audio que vous souhaitez transcrire.

  1. Pour `Specialty`, spécifiez la spécialité médicale du médecin qui parle dans le fichier audio.

  1. Pour `Type`, spécifiez `CONVERSATION`.

  1. Pour`OutputBucketName`, spécifiez le Amazon S3 compartiment dans lequel stocker les résultats de transcription.

  1. Pour l’objet `Settings`, spécifiez ce qui suit :

     1. `ShowSpeakerLabels` – `true`.

     1. `MaxSpeakerLabels` – Entier compris entre 2 et 10 pour indiquer le nombre de locuteurs qui, selon vous, parlent dans votre audio.

La demande suivante utilise le AWS SDK pour Python (Boto3) pour démarrer une tâche de transcription par lots d'un dialogue entre un clinicien de soins primaires et un patient avec le partitionnement des haut-parleurs activé.

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

L’exemple de code suivant montre les résultats de transcription d’une tâche de transcription avec le partitionnement des locuteurs activé.

```
{
    "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>

**Pour transcrire un fichier audio d’une conversation entre un médecin de soins primaires et un patient (AWS CLI)**
+ Exécutez le code suivant.

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

  Le code suivant affiche le contenu du fichier `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
          }
  }
  ```

# Activation du partitionnement des locuteurs dans des flux en temps réel
<a name="conversation-diarization-streaming-med"></a>

Pour partitionner les locuteurs et étiqueter leur discours dans un flux en temps réel, utilisez la AWS Management Console ou une demande de diffusion. Le partitionnement des locuteurs fonctionne mieux pour deux à cinq locuteurs dans un flux. Bien que Amazon Transcribe Medical puisse partitionner plus de cinq haut-parleurs dans un flux, la précision des partitions diminue si vous dépassez ce nombre.

Pour démarrer une requête HTTP/2, utilisez l’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). Pour démarrer une WebSocket demande, utilisez un URI pré-signé. L’URI contient les informations nécessaires pour configurer une communication bidirectionnelle entre votre application et Amazon Transcribe Medical.

## Activation du partitionnement des locuteurs dans l’audio dicté dans votre microphone (AWS Management Console)
<a name="conversation-diarization-console"></a>

Vous pouvez utiliser le AWS Management Console pour démarrer une diffusion en temps réel d'une conversation entre un médecin et son patient, ou une dictée prononcée dans votre micro en temps réel.

1. Connectez-vous à la [AWS Management Console](https://console.aws.amazon.com/transcribe/).

1. Dans le volet de navigation, pour Amazon Transcribe Medical, sélectionnez **Transcription en temps réel**.

1. Pour **Type d’entrée audio**, choisissez le type de discours médical que vous souhaitez transcrire.

1. Pour **Paramètres supplémentaires**, choisissez **Partitionnement des locuteurs**.

1. Choisissez **Démarrer le streaming** pour commencer à transcrire votre audio en temps réel.

1. Parlez dans le microphone.

## Activation du partitionnement des locuteurs dans un flux HTTP/2
<a name="conversation-diarization-med-http2"></a>

Pour activer le partitionnement des locuteurs dans le flux HTTP/2 d’une conversation médicale, utilisez l’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) et spécifiez les éléments suivants : 
+ Pour `LanguageCode`, spécifiez le code de langue correspondant à la langue parlée dans le flux. La valeur valide est `en-US`.
+ Pour `MediaSampleHertz`, spécifiez la fréquence d’échantillonnage de l’audio.
+ Pour `Specialty`, spécifiez la spécialité médicale du prestataire.
+ `ShowSpeakerLabel` – `true`

Pour plus d’informations sur la configuration d’un flux HTTP/2 pour transcrire une conversation médicale, consultez la section [Configuration d’un flux HTTP/2](streaming-setting-up.md#streaming-http2).

## Activation du partitionnement des haut-parleurs dans une demande WebSocket
<a name="conversation-diarization-med-websocket"></a>

Pour partitionner les haut-parleurs en WebSocket flux à l'aide de l'API, utilisez le format suivant pour créer une URI pré-signée afin de démarrer une WebSocket demande et de la `show-speaker-label` définir `true` sur. 

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

Le code suivant montre l’exemple de réponse tronqué d’une demande 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 interrompt votre flux audio entrant en fonction de segments vocaux naturels, tels qu'un changement de haut-parleur ou une pause audio. La transcription est renvoyée progressivement à votre application, chaque réponse contenant plus de paroles transcrites que la précédente, jusqu’à la transcription de la totalité du segment. Le code précédent est un exemple tronqué d’un segment de discours entièrement transcrit. Les étiquettes des locuteurs n’apparaissent que pour les segments entièrement transcrits. 

La liste suivante montre l’organisation des objets et des paramètres dans une sortie de transcription en streaming.

**`Transcript`**  
Chaque segment de discours possède son propre objet `Transcript`.

**`Results`**  
Chaque objet `Transcript` possède son propre objet `Results`. Cet objet contient le champ `isPartial`. Lorsque sa valeur est `false`, les résultats renvoyés concernent un segment de discours entier.

**`Alternatives`**  
Chaque objet `Results` possède un objet `Alternatives`.

**`Items`**  
Chaque objet `Alternatives` possède son propre objet `Items` qui contient des informations sur chaque mot et chaque signe de ponctuation présents dans la sortie de transcription. Lorsque vous activez le partitionnement des haut-parleurs, chaque mot possède une `Speaker` étiquette pour les segments vocaux entièrement transcrits. Amazon Transcribe Medical utilise cette étiquette pour attribuer un entier unique à chaque intervenant du stream. Le paramètre `Type` ayant une valeur `speaker-change` indique qu’une personne a cessé de parler et qu’une autre personne est sur le point de commencer.

**`Transcript`**  
Chaque objet Éléments contient un segment de discours transcrit comme valeur du champ `Transcript`.

Pour plus d'informations sur WebSocket les demandes, consultez[Configuration d'un WebSocket stream](streaming-setting-up.md#streaming-websocket).

# Transcription audio multicanal
<a name="conversation-channel-id-med"></a>

Si vous avez un fichier audio ou un flux comportant plusieurs canaux, vous pouvez utiliser l'*identification des canaux* pour transcrire le discours de chacun de ces canaux. Amazon Transcribe Medical transcrit le discours de chaque canal séparément. Il combine les transcriptions distinctes de chaque canal en une seule sortie de transcription.

Utilisez l’identification des canaux pour identifier les différents canaux de votre audio et transcrire le discours de chacun de ces canaux. Activez cette option dans des situations telles qu’un scénario d’appelant et d’agent. Utilisez-la pour distinguer un appelant d’un agent dans des enregistrements ou des flux des centres d’appels chargés de la surveillance de la sécurité des médicaments.

Vous pouvez activer l’identification des canaux pour le traitement par lots et le streaming en temps réel. La liste suivante décrit comment l’activer pour chaque méthode.
+ Transcription par lots — AWS Management Console et [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html)API
+ Transcription en streaming — WebSocket streaming et [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html)API

## Transcription de fichiers audio multicanal
<a name="conversation-channel-id-med-batch"></a>

Lorsque vous transcrivez un fichier audio, Amazon Transcribe Medical renvoie une liste d'*éléments* pour chaque canal. Un élément est un mot transcrit ou un signe de ponctuation. Chaque mot possède une heure de début et une heure de fin. Si une personne parle sur un canal en même temps qu’une autre personne sur un autre canal, les horodatages des éléments de chaque canal se chevauchent pendant que les personnes parlent l’une et l’autre.

Par défaut, vous pouvez transcrire des fichiers audio sur deux canaux. Vous pouvez demander une augmentation du quota si vous devez transcrire des fichiers comportant plus de deux canaux. Pour plus d’informations sur la demande d’augmentation de quota, consultez la section [Quotas Service AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html).

Pour transcrire du son multicanal dans le cadre d'une tâche de transcription par lots, utilisez l' AWS Management Console [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html)API ou.

### AWS Management Console
<a name="channel-id-batch-med-console"></a>

 AWS Management Console Pour activer l'identification des canaux dans votre tâche de transcription par lots, vous devez activer l'identification audio, puis l'identification des canaux. L'identification des canaux est un sous-ensemble de l'identification audio dans le AWS Management Console.

1. Connectez-vous à la [AWS Management Console](https://console.aws.amazon.com/transcribe/).

1. Dans le volet de navigation, sous Amazon Transcribe Medical, sélectionnez **Transcription jobs**.

1. Choisissez **Créer une tâche**.

1. Sur la page **Spécifier les détails de la tâche**, fournissez des informations sur votre tâche de transcription.

1. Choisissez **Suivant**.

1. Activez **Identification audio**.

1. Pour **Type d’identification audio**, choisissez **Identification des canaux**.

1. Choisissez **Créer**.

### API
<a name="channel-id-batch-med-api"></a>

**Pour transcrire un fichier audio multicanal (API)**
+ Pour l’API [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_StartMedicalTranscriptionJob.html), spécifiez ce qui suit.

  1. Pour `TranscriptionJobName`, spécifiez un nom unique dans votre Compte AWS.

  1. Pour `LanguageCode`, spécifiez le code de langue correspondant à la langue parlée dans le fichier audio. La valeur valide est `en-US`.

  1. Pour le paramètre `MediaFileUri` de l’objet `Media`, spécifiez le nom du fichier multimédia que vous souhaitez transcrire.

  1. Pour l’objet `Settings`, définissez `ChannelIdentification` sur `true`.

Voici un exemple de demande utilisant le AWS SDK pour Python (Boto3).

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

### AWS CLI
<a name="channel-id-med-cli"></a>

**Pour transcrire un fichier audio multicanal à l’aide d’une tâche de transcription par lots (AWS CLI)**
+ Exécutez le code suivant.

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

  Le code suivant provient du fichier `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
          }
  }
  ```

Le code suivant montre la sortie de transcription d’un fichier audio contenant une conversation sur deux canaux.

```
{
  "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"
            },
            ...
        ]
    }
}
```

## Transcription de flux audio multicanal
<a name="conversation-channel-id-med-stream"></a>

Vous pouvez transcrire le son provenant de canaux distincts en HTTP/2 ou en WebSocket flux à l'aide de l'[https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html)API.

Par défaut, vous pouvez transcrire des flux sur deux canaux. Vous pouvez demander une augmentation du quota si vous devez transcrire des flux comportant plus de deux canaux. Pour plus d’informations sur la demande d’une augmentation de quota, consultez la section [Service Quotas AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html).

### Transcription de fichiers audio multicanal dans un flux HTTP/2
<a name="conversation-channel-id-http2"></a>

Pour transcrire du son multicanal dans un flux HTTP/2, utilisez l'[StartMedicalStreamTranscription](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_streaming_StartMedicalStreamTranscription.html)API et spécifiez les éléments suivants :
+ `LanguageCode` – Code de langue de l’élément audio. La valeur valide est `en-US`.
+ `MediaEncoding` – Encodage de l’audio. Les valeurs valides sont `ogg-opus`, `flac` et `pcm`.
+ `EnableChannelIdentification` – `true`
+ `NumberOfChannels` – Nombre de canaux dans votre audio en streaming.

Pour plus d’informations sur la configuration d’un flux HTTP/2 pour transcrire une conversation médicale, consultez la section [Configuration d’un flux HTTP/2](streaming-setting-up.md#streaming-http2).

### Transcrire du son multicanal dans un flux WebSocket
<a name="channel-id-med-websocket"></a>

Pour partitionner les haut-parleurs en WebSocket flux, utilisez le format suivant pour créer une URI pré-signée et lancer une WebSocket demande. Spécifiez `enable-channel-identification` avec la valeur `true` et le nombre de canaux dans votre flux dans `number-of-channels`. Un URI pré-signé contient les informations nécessaires pour configurer une communication bidirectionnelle entre votre application et Amazon Transcribe Medical.

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

Les définitions des paramètres se trouvent dans la [référence d'API](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_Reference.html) ; les paramètres communs à toutes les opérations d' AWS API sont répertoriés dans la section [Paramètres communs](https://docs.aws.amazon.com/transcribe/latest/APIReference/CommonParameters.html).

Pour plus d'informations sur WebSocket les demandes, consultez[Configuration d'un WebSocket stream](streaming-setting-up.md#streaming-websocket).

### Sortie de transcription en streaming multicanal
<a name="streaming-med-output"></a>

Le résultat d'une transcription en streaming est le même pour le HTTP/2 et les WebSocket requêtes. Voici un exemple de sortie.

```
{
    "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"
}
```

Pour chaque segment de discours, une balise `channelId` indique à quel canal appartient le discours.