Transcripción de audio multicanal - Amazon Transcribe

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.

Transcripción de audio multicanal

Si el audio tiene dos canales, puede utilizar la identificación de canales para transcribir el discurso de cada canal por separado. Amazon Transcribeactualmente no admite audio con más de dos canales.

En su transcripción, a los canales se les asignan las etiquetasch_0 ych_1.

Además de las secciones de transcripción estándar (transcriptsyitems), las solicitudes con la identificación de canal habilitada incluyen unachannel_labels sección. Esta sección contiene cada expresión o signo de puntuación, agrupado por canal, y su etiqueta de canal, marcas de tiempo y puntuación de confianza asociadas.

"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 },

Tenga en cuenta que si una persona de un canal habla al mismo tiempo que una persona de otro canal, las marcas de tiempo de cada canal se superponen mientras las personas hablan unas por encima de otras.

Para ver un ejemplo completo de transcripción con la identificación del canal, consulteEjemplo de salida de identificación de canal (lote).

Uso de la identificación de canales en una transcripción por lotes

Para identificar los canales en una transcripción por lotes, puede utilizar los AWS Management ConsoleAWSSDK o los SDK; consulte los siguientes ejemplos: AWS CLI

  1. Inicie sesión en AWS Management Console.

  2. En el panel de navegación, selecciona Trabajos de transcripción y, a continuación, selecciona Crear trabajo (arriba a la derecha). Se abre la página Especificar los detalles del trabajo.

    Amazon Transcribepágina «Especificar detalles del trabajo» de la consola. En el panel «Configuración del Job», puede especificar un nombre para su trabajo de transcripción, seleccionar un tipo de modelo y especificar la configuración de idioma.
  3. Rellene los campos que desee incluir en la página Especificar detalles del trabajo y, a continuación, seleccione Siguiente. Esto le llevará a la página Configurar trabajo: opcional.

    En el panel de ajustes de audio, selecciona Identificación de canal (en el encabezado «Tipo de identificación de audio»).

    Amazon Transcribepágina «Configurar trabajo» de la consola. En el panel «Ajustes de audio», puede habilitar la identificación de canales.
  4. Selecciona Crear trabajo para ejecutar tu trabajo de transcripción.

En este ejemplo se utiliza el start-transcription-job. Para obtener más información, consulte 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

Este es otro ejemplo de uso del start-transcription-jobcomando y un cuerpo de solicitud que permite la identificación del canal con esa tarea.

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

El archivo my-first-transcription-job.json contiene el siguiente cuerpo de solicitud.

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

En este ejemplo se utiliza elAWS SDK for Python (Boto3) para identificar los canales mediante el método start_transcription_job. Para obtener más información, consulte 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)

Uso de la identificación de canales en una transcripción de streaming

Para identificar los canales de una transcripción en streaming, puedes usar HTTP/2 o, para ver WebSocketsalgunos ejemplos, consulta los siguientes ejemplos:

En este ejemplo, se crea una solicitud HTTP/2 que separa los canales de la salida de la transcripción. Para obtener más información sobre el uso de la transmisión en HTTP/2 conAmazon Transcribe, consulteConfiguración de una secuencia HTTP/2. Para obtener más información sobre los parámetros y los encabezados específicos deAmazon Transcribe, consulte 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

Las definiciones de los parámetros se encuentran en la referencia de la API; los parámetros comunes a todas las operaciones de laAWS API se enumeran en la sección Parámetros comunes.

En este ejemplo, se crea una URL prefirmada que separa los canales de la salida de la transcripción. Se han añadido saltos de línea para facilitar su lectura. Para obtener más información sobre el uso de WebSocket transmisiones conAmazon Transcribe, consulteConfigurar una WebSocket transmisión. Para obtener más información sobre los parámetros, consulte 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

Las definiciones de los parámetros se encuentran en la referencia de la API; los parámetros comunes a todas las operaciones de laAWS API se enumeran en la sección Parámetros comunes.