IBM Cloud Docs
Introduzione a Text to Speech

Introduzione a Text to Speech

Il servizio IBM Watson® Text to Speech converte il testo scritto in audio con suono naturale per fornire funzionalità di sintesi vocale per le applicazioni. Questo tutorial basato su curl può aiutarti a iniziare rapidamente con il servizio. Gli esempi ti mostrano come chiamare i metodi POST e GET /v1/synthesize del servizio per richiedere un flusso audio.

L'esercitazione utilizza il programma di riga di comando curl per dimostrare le chiamate API REST. Per ulteriori informazioni su curl, consulta Utilizzo di curl con gli esempi Watson.

IBM Cloud Guarda il seguente video per un riepilogo visivo dell'introduzione al servizio Text to Speech.

Prima di iniziare

IBM Cloud

IBM Cloud

  • Crea un'istanza del servizio:

    1. Vai alla pagina Text to Speech nel catalogo IBM Cloud.
    2. Registrati per un account IBM Cloud gratuito oppure esegui l'accesso.
    3. Leggere e accettare i termini dell'accordo di licenza.
    4. Fai clic su Crea.
  • Copia le credenziali per eseguire l'autenticazione presso la tua istanza del servizio:

    1. Visualizza la pagina Manage per l'istanza del servizio:

      • Se ti trovi nella pagina Introduzione per la tua istanza del servizio, fai clic sulla voce Gestisci nell'elenco di argomenti.
      • Se ti trovi nella pagina Elenco risorse, espandi il raggruppamento AI / Machine Learning nella colonna Nome e fai clic sul nome della tua istanza del servizio.
    2. Nella pagina Gestisci, fare clic su Mostra credenziali nella casella Credenziali.

    3. Copia i valori API Key e URL per l'istanza del servizio.

Questa esercitazione utilizza una chiave API per l'autenticazione. In produzione, utilizza un token IAM. Per ulteriori informazioni, vedi Autenticazione in IBM Cloud.

IBM Cloud Pak for Data

IBM Cloud Pak for Data

Il servizio Text to Speech deve essere installato e configurato prima di iniziare questo tutorial. Per ulteriori informazioni, consultare Watson Servizi vocali su Cloud Pak for Data.

  1. Crea un'istanza del servizio utilizzando il client web, la API o la CLI (command - line interface). Per ulteriori informazioni sulla creazione di un'istanza di servizio su IBM Cloud Pak for Data, vedere Creazione di un'istanza di servizio per i servizi vocali Watson.
  2. Segui le istruzioni in Creazione di un'istanza dei servizi Watson Speech per ottenere un token di connessione per l'istanza. Questa esercitazione utilizza un token Bearer per l'autenticazione al servizio.

Sintetizza testo in inglese americano

Il seguente comando utilizza il metodo POST /v1/synthesize per sintetizzare l'input dell'inglese americano nell'audio. La richiesta utilizza la voce en-US_MichaelV3Voice. Produce audio in formato WAV.

Puoi utilizzare un browser o altri strumenti per riprodurre i file audio prodotti dagli esempi in questa esercitazione. Per ulteriori informazioni, vedi Riproduzione di un file audio.

  1. Immettere il seguente comando per sintetizzare la stringa "hello world". La richiesta produce un file WAV denominato hello_world.wav.

    IBM Cloud

    • Sostituisci {apikey} e {url} con la tua chiave API e il tuo URL.
    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --header "Accept: audio/wav" \
    --data "{\"text\":\"hello world\"}" \
    --output hello_world.wav \
    "{url}/v1/synthesize?voice=en-US_MichaelV3Voice"
    

    IBM Cloud Pak for Data IBM Software Hub

    • Sostituisci {token} e {url} con il token di accesso e URL per la tua istanza di servizio.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --header "Accept: audio/wav" \
    --data "{\"text\":\"hello world\"}" \
    --output hello_world.wav \
    "{url}/v1/synthesize?voice=en-US_MichaelV3Voice"
    

Utilizzare un formato audio e vocale diverso

Il seguente comando utilizza nuovamente il metodo POST /v1/synthesize per sintetizzare lo stesso input in inglese americano per l'audio. Ma questa richiesta utilizza la voce en-US_AllisonV3Voice e richiede esplicitamente l'audio nel formato Ogg predefinito.

  1. Immettere il seguente comando per sintetizzare la stringa "hello world" ma con una voce diversa. La richiesta produce un file Ogg denominato hello_world.ogg.

    IBM Cloud

    • Sostituisci {apikey} e {url} con la tua chiave API e il tuo URL.
    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: application/json" \
    --data "{\"text\":\"hello world\"}" \
    --output hello_world.ogg \
    "{url}/v1/synthesize?voice=en-US_AllisonV3Voice"
    

    IBM Cloud Pak for Data IBM Software Hub

    • Sostituisci {token} e {url} con il token di accesso e URL per la tua istanza di servizio.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: application/json" \
    --header "Accept: audio/wav" \
    --data "{\"text\":\"hello world\"}" \
    --output hello_world.wav \
    "{url}/v1/synthesize?voice=en-US_AllisonV3Voice"
    

Sintetizza testo in spagnolo

Il seguente comando utilizza il metodo GET /v1/synthesize per sintetizzare l'input in spagnolo in un file audio. Il metodo GET include tre parametri di query: accept per specificare il formato audio, text per specificare il testo di input per l'audio e voice per specificare una voce spagnola. Poiché accept e text vengono passati come parametri di query, la richiesta è codificata con l' URL.

  1. Immetti il seguente comando per sintetizzare la stringa "hola mundo" e produrre un file WAV denominato hola_mundo.wav.

    IBM Cloud

    • Sostituisci {apikey} e {url} con la tua chiave API e il tuo URL.
    curl -X GET -u "apikey:{apikey}" \
    --output hola_mundo.wav \
    "{url}/v1/synthesize?accept=audio%2Fwav&text=hola%20mundo&voice=es-ES_EnriqueV3Voice"
    

    IBM Cloud Pak for Data IBM Software Hub

    • Sostituisci {token} e {url} con il token di accesso e URL per la tua istanza di servizio.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --output hola_mundo.wav \
    "{url}/v1/synthesize?accept=audio%2Fwav&text=hola%20mundo&voice=es-ES_EnriqueV3Voice"
    

Passi successivi

  • Per provare un'applicazione di esempio che accetta il testo e genera il discorso con voci diverse, vedi la demoText to Speech.
  • Per ulteriori informazioni sulle interfacce e le funzioni del servizio, vedi Funzioni del servizio.
  • Per ulteriori informazioni su tutti i metodi delle interfacce del servizio, consulta il Riferimento API & SDK.