Introduzione a Speech to Text

Il servizio IBM Watson® Speech to Text trascrive l'audio in testo per abilitare le funzionalità di trascrizione vocale per le applicazioni. Questo tutorial basato su curl può aiutarti a iniziare rapidamente con il servizio. Gli esempi ti mostrano come chiamare il metodo POST /v1/recognize per richiedere una trascrizione.

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 Speech to Text.

Prima di iniziare

IBM Cloud

IBM Cloud

  • Crea un'istanza del servizio:

    1. Vai alla pagina Speech to Text 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, vedere Autenticazione su IBM Cloud.

IBM Cloud Pak for Data

IBM Cloud Pak for Data

Il servizio Speech to Text 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 di 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.

Trascrivi audio senza opzioni

Chiama il metodo POST /v1/recognize per richiedere una trascrizione di base di un file audio FLAC senza parametri di richiesta aggiuntivi.

  1. Scarica il file audio di esempio audio-file.flac.

  2. Immetti il seguente comando per chiamare il metodo /v1/recognize del servizio per la trascrizione di base senza parametri. L'esempio utilizza l'intestazione Content-Type per indicare il tipo di audio, audio/flac. Per la trascrizione, l'esempio utilizza il modello di lingua predefinito en-US_BroadbandModel.

    IBM Cloud

    • Sostituisci {apikey} e {url} con la tua chiave API e il tuo URL.
    • Modifica {path_to_file} per specificare l'ubicazione del file audio-file.flac.
    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize"
    

    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.
    • Modifica {path_to_file} per specificare l'ubicazione del file audio-file.flac.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize"
    

Il servizio restituisce i seguenti risultati di trascrizione:

{
  "result_index": 0,
  "results": [
    {
      "alternatives": [
        {
          "confidence": 0.96
          "transcript": "several tornadoes touch down as a line of severe thunderstorms swept through Colorado on Sunday "
        }
      ],
      "final": true
    }
  ]
}

Trascrivi audio con opzioni

Chiama il metodo POST /v1/recognize per trascrivere lo stesso file audio FLAC, ma specificando due parametri di trascrizione.

  1. Se necessario, scaricare il file audio di esempio audio-file.flac.

  2. Immetti il seguente comando per chiamare il metodo /v1/recognize del servizio con due parametri supplementari. Imposta il parametro timestamps su true per indicare l'inizio e la fine di ogni parola nel flusso audio. Imposta il parametro max_alternatives su 3 per ricevere le tre alternative più probabili per la trascrizione. L'esempio utilizza l'intestazione Content-Type per indicare il tipo di audio, audio/flac e la richiesta utilizza il modello predefinito, en-US_BroadbandModel.

    IBM Cloud

    • Sostituisci {apikey} e {url} con la tua chiave API e il tuo URL.
    • Modifica {path_to_file} per specificare l'ubicazione del file audio-file.flac.
    curl -X POST -u "apikey:{apikey}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize?timestamps=true&max_alternatives=3"
    

    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.
    • Modifica {path_to_file} per specificare l'ubicazione del file audio-file.flac.
    curl -X POST \
    --header "Authorization: Bearer {token}" \
    --header "Content-Type: audio/flac" \
    --data-binary @{path_to_file}audio-file.flac \
    "{url}/v1/recognize?timestamps=true&max_alternatives=3"
    

Il servizio restituisce i seguenti risultati, che includono le date/ore e tre trascrizioni alternative:

{
  "result_index": 0,
  "results": [
    {
      "alternatives": [
        {
          "timestamps": [
            ["several":, 1.0, 1.51],
            ["tornadoes":, 1.51, 2.15],
            ["touch":, 2.15, 2.5],
            . . .
          ]
        },
        {
          "confidence": 0.96
          "transcript": "several tornadoes touch down as a line of severe thunderstorms swept through Colorado on Sunday "
        },
        {
          "transcript": "several tornadoes touched down as a line of severe thunderstorms swept through Colorado on Sunday "
        },
        {
          "transcript": "several tornadoes touch down as a line of severe thunderstorms swept through Colorado and Sunday "
        }
      ],
      "final": true
    }
  ]
}

Passi successivi

  • Per provare un'applicazione di esempio che trascrive il testo dall'input audio in streaming o da un file che carichi, consulta la demoSpeech to Text.
  • 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.