Transcription audio multicanal - Amazon Transcribe

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 audio multicanal

Si votre audio comporte deux canaux, vous pouvez utiliser l'identification des canaux pour transcrire le discours de chaque canal séparément. Amazon Transcribene prend actuellement pas en charge le son avec plus de deux canaux.

Dans votre transcription, les chaînes se voient attribuer les libellésch_0 etch_1.

Outre les sections de transcription standard (transcriptsetitems), les demandes pour lesquelles l'identification des chaînes est activée incluent unechannel_labels section. Cette section contient chaque énoncé ou signe de ponctuation, groupé par canal, ainsi que le libellé, les horodatages et le score de confiance associés à ce canal.

"channel_labels": { "channels": [ { "channel_label": "ch_0", "items": [ { "channel_label": "ch_0", "start_time": "4.86", "end_time": "5.01", "alternatives": [ { "confidence": "1.0", "content": "I've" } ], "type": "pronunciation" }, ... "channel_label": "ch_1", "items": [ { "channel_label": "ch_1", "start_time": "8.5", "end_time": "8.89", "alternatives": [ { "confidence": "1.0", "content": "Sorry" } ], "type": "pronunciation" }, ... "number_of_channels": 2 },

Notez que si une personne sur une chaîne parle en même temps qu'une autre personne sur une chaîne distincte, les horodatages de chaque chaîne se chevauchent pendant que les personnes parlent l'une sur l'autre.

Pour consulter un exemple de transcription complet avec identification des chaînes, consultezExemple de sortie d’identification de canal (lot).

Utilisation de l'identification des canaux dans une transcription par lots

Pour identifier les canaux dans une transcription par lots, vous pouvez utiliser les AWS Management ConsoleAWS CLI, ou AWSles SDK ; consultez les exemples suivants :

  1. Connectez-vous à AWS Management Console.

  2. Dans le volet de navigation, choisissez Tâches de transcription, puis sélectionnez Créer une tâche (en haut à droite). La page Spécifier les détails de la tâche s'ouvre.

    Amazon Transcribepage « Spécifier les détails du poste » de la console. Dans le panneau « Paramètres de la tâche », vous pouvez spécifier le nom de votre Job de transcription, sélectionner un type de modèle et spécifier vos paramètres de langue.
  3. Remplissez tous les champs que vous souhaitez inclure sur la page Spécifier les détails du poste, puis sélectionnez Suivant. Vous accédez alors à la page Configurer la tâche - facultative.

    Dans le panneau des paramètres audio, sélectionnez Identification du canal (sous la rubrique « Type d'identification audio »).

    Amazon Transcribepage « Configurer la tâche » de la console. Dans le panneau « Paramètres audio », vous pouvez activer l'identification des canaux.
  4. Sélectionnez Créer une tâche pour exécuter votre tâche de transcription.

Cet exemple utilise le start-transcription-job​​​. Pour plus d'informations, veuillez consulter StartTranscriptionJob.

aws transcribe start-transcription-job \ --region us-west-2 \ --transcription-job-name my-first-transcription-job \ --media MediaFileUri=s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac \ --output-bucket-name DOC-EXAMPLE-BUCKET \ --output-key my-output-files/ \ --language-code en-US \ --settings ChannelIdentification=true

Voici un autre exemple d'utilisation de la start-transcription-jobcommande et d'un corps de requête qui permet d'identifier un canal avec cette tâche.

aws transcribe start-transcription-job \ --region us-west-2 \ --cli-input-json file://my-first-transcription-job.json

Le fichier my-first-transcription-job.json contient le corps de requête suivant.

{ "TranscriptionJobName": "my-first-transcription-job", "Media": { "MediaFileUri": "s3://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" }, "OutputBucketName": "DOC-EXAMPLE-BUCKET", "OutputKey": "my-output-files/", "LanguageCode": "en-US", "Settings": { "ChannelIdentification": true } }

Cet exemple utilise leAWS SDK for Python (Boto3) pour identifier les canaux à l'aide de la méthode start_transcription_job. Pour plus d'informations, consultez StartTranscriptionJob.

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://DOC-EXAMPLE-BUCKET/my-input-files/my-media-file.flac" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'DOC-EXAMPLE-BUCKET', OutputKey = 'my-output-files/', LanguageCode = 'en-US', Settings = { 'ChannelIdentification':True } ) while True: status = transcribe.get_transcription_job(TranscriptionJobName = job_name) if status['TranscriptionJob']['TranscriptionJobStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)

Utilisation de l'identification des chaînes dans une transcription en continu

Pour identifier les chaînes dans une transcription en continu, vous pouvez utiliser HTTP/2 ou WebSocketsvoir les exemples suivants :

Cet exemple crée une requête HTTP/2 qui sépare les canaux dans votre sortie de transcription. Pour plus d'informations sur l'utilisation du streaming HTTP/2 avecAmazon Transcribe, consultezConfiguration d'un flux HTTP /2. Pour plus de détails sur les paramètres et les en-têtes spécifiques àAmazon Transcribe, consultez StartStreamTranscription.

POST /stream-transcription HTTP/2 host: transcribestreaming.us-west-2.amazonaws.com X-Amz-Target: com.amazonaws.transcribe.Transcribe.StartStreamTranscription Content-Type: application/vnd.amazon.eventstream X-Amz-Content-Sha256: string X-Amz-Date: 20220208T235959Z Authorization: AWS4-HMAC-SHA256 Credential=access-key/20220208/us-west-2/transcribe/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target;x-amz-security-token, Signature=string x-amzn-transcribe-language-code: en-US x-amzn-transcribe-media-encoding: flac x-amzn-transcribe-sample-rate: 16000 x-amzn-channel-identification: TRUE transfer-encoding: chunked

Les définitions de paramètres se trouvent dans la référence de l'API ; les paramètres communs à toutes les opérations d'AWSAPI sont répertoriés dans la section Paramètres communs.

Cet exemple crée une URL présignée qui sépare les canaux dans votre sortie de transcription. Les sauts de ligne ont été ajoutés pour faciliter la lecture. Pour plus d'informations sur l'utilisation WebSocket des flux avecAmazon Transcribe, consultezConfiguration d'un WebSocket stream. Pour plus de détails sur les paramètres, reportez-vous à la section StartStreamTranscription.

GET wss://transcribestreaming.us-west-2.amazonaws.com:8443/stream-transcription-websocket? &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=string &X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-date &language-code=en-US &specialty=PRIMARYCARE &type=DICTATION &media-encoding=flac &sample-rate=16000 &channel-identification=TRUE

Les définitions de paramètres se trouvent dans la référence de l'API ; les paramètres communs à toutes les opérations d'AWSAPI sont répertoriés dans la section Paramètres communs.