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 Transcribe ne prend actuellement pas en charge l'audio avec plus de deux canaux.

Dans votre transcription, les canaux se voient attribuer les étiquettes ch_0 et ch_1.

Outre les sections de transcription standard (transcripts et items), les demandes pour lesquelles l’identification des canaux est activée incluent une section channel_labels. Cette section contient chaque énoncé ou signe de ponctuation, groupé par canal, ainsi que l’étiquette de canal, les horodatages et le score de confiance associés.

"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 parle sur un canal en même temps qu’une autre personne sur un autre canal, les horodatages de chaque canal se chevauchent pendant que les personnes parlent l’une sur l’autre.

Pour consulter un exemple de transcription complet avec identification des canaux, consultez la section Exemple 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 le AWS Management ConsoleAWS CLI, ou AWS SDKs; voir les exemples suivants :

  1. Connectez-vous à la 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 Transcribe page « Spécifier les détails de la tâche » de la console. Dans le volet « Paramètres de la tâche », vous pouvez définir un nom pour votre tâche de transcription, sélectionner un type de modèle et définir vos paramètres de langue.
  3. Renseignez les champs que vous souhaitez inclure sur la page Spécifier les détails de la tâche, puis sélectionnez Suivant. Vous accédez alors à la page Configurer la tâche - facultatif.

    Dans le volet Paramètres audio, sélectionnez Identification des canaux (sous l’en-tête « Type d’identification audio »).

    Amazon Transcribe page « Configurer le travail » de la console. Dans le volet « 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 de plus amples informations, veuillez consulter StartTranscriptionJob.

aws transcribe start-transcription-job \ --region us-west-2 \ --transcription-job-name my-first-transcription-job \ --media MediaFileUri=s3://amzn-s3-demo-bucket/my-input-files/my-media-file.flac \ --output-bucket-name amzn-s3-demo-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 le 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://amzn-s3-demo-bucket/my-input-files/my-media-file.flac" }, "OutputBucketName": "amzn-s3-demo-bucket", "OutputKey": "my-output-files/", "LanguageCode": "en-US", "Settings": { "ChannelIdentification": true } }

Cet exemple utilise le AWS SDK for Python (Boto3) pour identifier les canaux à l'aide de la méthode start_transcription_job. Pour de plus amples informations, veuillez consulter 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://amzn-s3-demo-bucket/my-input-files/my-media-file.flac" transcribe.start_transcription_job( TranscriptionJobName = job_name, Media = { 'MediaFileUri': job_uri }, OutputBucketName = 'amzn-s3-demo-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 canaux dans une transcription en streaming

Pour identifier les canaux dans une transcription en streaming, vous pouvez utiliser HTTP/2 ou WebSockets; voir 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 avec Amazon 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 la section 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 des paramètres se trouvent dans la référence d'API ; les paramètres communs à toutes les opérations d' AWS API 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 avec Amazon Transcribe, consultezConfiguration d'un WebSocket stream. Pour plus de détails sur les paramètres, consultez 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 des paramètres se trouvent dans la référence d'API ; les paramètres communs à toutes les opérations d' AWS API sont répertoriés dans la section Paramètres communs.