Creazione di file audio lunghi (CLI) - Amazon Polly

Creazione di file audio lunghi (CLI)

La funzionalità di sintesi asincrona di Amazon Polly utilizza tre API SpeechSynthesisTask per funzionare con grandi quantità di testo:

  • StartSpeechSynthesisTask: avvia una nuova attività di sintesi.

  • GetSpeechSynthesisTask: restituisce dettagli su un'attività di sintesi inviata in precedenza.

  • ListSpeechSynthesisTasks: elenca tutte le attività di sintesi inviate.

Sintesi di grandi porzioni di testo (StartSpeechSynthesisTask)

Quando desideri creare un file audio di dimensioni superiori rispetto a quello che puoi creare con l'operazione SynthesizeSpeech in tempo reale, utilizza l'operazione StartSpeechSynthesisTask. Oltre agli argomenti necessari per l'operazione SynthesizeSpeech, StartSpeechSynthesisTask richiede anche il nome di un bucket Amazon S3. Sono inoltre disponibili altri due argomenti facoltativi: un prefisso della chiave per il file di output e l'ARN per un argomento SNS se desideri ricevere la notifica di stato sull'attività.

  • OutputS3BucketName: il nome del bucket Amazon S3; in cui la sintesi deve essere caricata. Questo bucket deve trovarsi nella stessa regione del servizio Amazon Polly. Inoltre, l'utente IAM utilizzato per effettuare la chiamata deve avere accesso al bucket. [Campo obbligatorio]

  • OutputS3KeyPrefix: prefisso della chiave per il file di output. Utilizza questo parametro se desideri salvare i file di sintesi vocale di output in una chiave simile a una directory personalizzata nel tuo bucket. [Facoltativo].

  • SnsTopicArn: l'ARN dell'argomento SNS da utilizzare per ricevere la notifica sullo stato dell'attività. Questo argomento SNS deve trovarsi nella stessa regione del servizio Amazon Polly. Inoltre, l'utente IAM utilizzato per effettuare la chiamata deve avere accesso all'argomento. [Facoltativo].

Ad esempio, l'istruzione seguente può essere utilizzata per eseguire il comando start-speech-synthesis-task AWS CLI nella regione Stati Uniti orientali (Ohio):

L'esempio seguente di AWS CLI è formattato per Unix, Linux e macOS. Per Windows, sostituisci il carattere di continuazione Unix barra rovesciata (\) al termine di ogni riga con un accento circonflesso (^) e usa virgolette (") attorno al testo di input con virgolette singole (') per i tag interni.

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

Questo determinerà una risposta simile a questa:

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

L'operazione start-speech-synthesis-task restituisce diversi nuovi campi:

  • OutputUri: il percorso dei file di sintesi vocale di output.

  • TaskId: un identificatore unico per l'attività di sintesi vocale generata da Amazon Polly.

  • CreationTime: un timestamp che specifica quando l'attività è stata inviata inizialmente.

  • RequestCharacters: il numero di caratteri fatturabili nell'attività.

  • TaskStatus: fornisce informazioni sullo stato dell'attività inviata.

    Quando la tua attività è stata inviata, lo stato iniziale mostrerà scheduled. Quando Amazon Polly avvia l'elaborazione dell'attività, lo stato passerà a inProgress e in seguito a completed o failed. Se l'attività ha esito negativo, verrà restituito un messaggio di errore durante la chiamata all'operazione GetSpeechSynthesisTask o ListSpeechSynthesisTasks.

Una volta completata l'attività, il file di sintesi vocale è disponibile nel percorso specificato in OutputUri.

Recupero di informazioni sull'attività di sintesi vocale

Puoi ottenere informazioni su un'attività, ad esempio gli errori, lo stato e così via, utilizzando l'operazione GetSpeechSynthesisTask. Per eseguire questa operazione, è necessario il task-id restituito da StartSpeechSynthesisTask.

Ad esempio, l'istruzione seguente può essere utilizzata per eseguire il comando get-speech-synthesis-task AWS CLI:

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

Puoi inoltre elencare tutte le attività di sintesi vocale che hai eseguito nella regione corrente utilizzando l'operazione ListSpeechSynthesisTasks.

Ad esempio, l'istruzione seguente può essere utilizzata per eseguire il comando list-speech-synthesis-tasks AWS CLI:

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