Creación de archivos de audio largos en el AWS CLI - Amazon Polly

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.

Creación de archivos de audio largos en el AWS CLI

La funcionalidad de síntesis asíncrona de Amazon Polly utiliza tres API SpeechSynthesisTask para trabajar con grandes cantidades de texto:

  • StartSpeechSynthesisTask: inicia una tarea de síntesis nueva.

  • GetSpeechSynthesisTask: devuelve detalles acerca de una tarea de síntesis enviada con anterioridad.

  • ListSpeechSynthesisTasks: enumera todas las tareas de síntesis enviadas.

Síntesis de grandes cantidades de texto (StartSpeechSynthesisTask)

Cuando desea crear un archivo de audio mayor de lo que puede crear con SynthesizeSpeech en tiempo real, utilice la operación StartSpeechSynthesisTask. Además de los argumentos necesarios para la operación SynthesizeSpeech, StartSpeechSynthesisTask también requiere el nombre de un bucket de Amazon S3. También se dispone de otros dos otros argumentos opcionales: un prefijo de clave para el archivo de salida y el ARN de un tema de SNS si desea recibir notificaciones de estado sobre la tarea.

  • OutputS3BucketName: el nombre del bucket de Amazon S3; en el que debe cargarse la síntesis. Este bucket debe estar en la misma región que el servicio de Amazon Polly. Además, el usuario de IAM que se utiliza para realizar la llamada debe tener acceso al bucket. [Obligatorio]

  • OutputS3KeyPrefix: prefijo de clave para el archivo de salida. Utilice este parámetro si desea guardar el archivo de voz de salida en una clave similar a un directorio personalizado en su bucket. [Opcional]

  • SnsTopicArn: el ARN de tema de SNS que utilizar si desea recibir una notificación acerca del estado de la tarea. Este tema de SNS debe estar en la misma región que el servicio de Amazon Polly. Además, el usuario de IAM que se utiliza para realizar la llamada debe tener acceso al tema. [Opcional]

Por ejemplo, se puede utilizar el siguiente ejemplo para ejecutar el start-speech-synthesis-task AWS CLI comando en la región EE.UU. Este (Ohio):

El siguiente AWS CLI ejemplo está formateado para Unix, Linux y macOS. En Windows, sustituya la barra invertida (\) del carácter de continuación de Unix al final de cada línea por un signo de intercalación (^) y utilice comillas completas (") alrededor del texto introducido con comillas simples (') para las etiquetas interiores.

aws polly start-speech-synthesis-task \ --region us-east-2 \ --endpoint-url "https://polly.us-east-2.amazonaws.com/" \ --output-format mp3 \ --output-s3-bucket-name your-bucket-name \ --output-s3-key-prefix optional/prefix/path/file \ --voice-id Joanna \ --text file://text_file.txt

Este comando producirá una respuesta con un aspecto similar al siguiente:

"SynthesisTask": { "OutputFormat": "mp3", "OutputUri": "https://s3.us-east-2.amazonaws.com/your-bucket-name/optional/prefix/path/file.<task_id>.mp3", "TextType": "text", "CreationTime": [..], "RequestCharacters": [..], "TaskStatus": "scheduled", "TaskId": [task_id], "VoiceId": "Joanna" }

La operación start-speech-synthesis-task devuelve varios campos nuevos:

  • OutputUri: la ubicación del archivo de voz de salida.

  • TaskId: un identificador único para la tarea de síntesis de voz generada por Amazon Polly.

  • CreationTime: una marca temporal de cuando se envió inicialmente la tarea.

  • RequestCharacters: el número de caracteres facturables en la tarea.

  • TaskStatus: proporciona información sobre el estado de la tarea enviada.

    Cuando se envía la tarea, el estado inicial mostrará scheduled. Cuando Amazon Polly inicia el procesamiento de la tarea, el estado cambiará a inProgress y posteriormente, a completed o failed. Si la tarea falla, se devolverá un mensaje de error al llamar a la operación GetSpeechSynthesisTask o ListSpeechSynthesisTasks .

Cuando la tarea se complete, el archivo de voz está disponible en la ubicación especificada en OutputUri.

Recuperación información sobre la tarea de síntesis de voz

Puede obtener información acerca de una tarea como, por ejemplo, errores, estado, etc., utilizando la operación GetSpeechSynthesisTask. Para ello, necesitará el task-id devuelto por el StartSpeechSynthesisTask.

Por ejemplo, se puede usar el siguiente ejemplo para ejecutar el get-speech-synthesis-task AWS CLI comando:

aws polly get-speech-synthesis-task \ --region us-east-2 \ --endpoint-url "https:// polly.us-east-2.amazonaws.com/" \ --task-id task identifier

También puede mostrar todas las tareas de síntesis de voz que haya ejecutado en la región actual mediante la operación ListSpeechSynthesisTasks.

Por ejemplo, se puede utilizar el siguiente ejemplo para ejecutar el list-speech-synthesis-tasks AWS CLI comando:

aws polly list-speech-synthesis-tasks \ --region us-east-2 \ --endpoint-url "https:// polly.us-east-2.amazonaws.com/"