Questa guida fornisce impostazioni aggiuntive e avanzate per le funzionalità di sintesi vocale. Puoi attivare e disattivare queste impostazioni avanzate andando su Impostazioni agente > Voce e IVR > Speech-to-Text > Impostazioni vocali avanzate.
Queste impostazioni sono disponibili nelle impostazioni dell'agente (si applicano all'intero agente), nelle impostazioni del flusso (si applicano all'intero flusso e sostituiscono le impostazioni dell'agente), nelle impostazioni della pagina (si applicano alla pagina e sostituiscono le impostazioni del flusso e dell'agente) e nelle impostazioni di fulfillment (si applicano al fulfillment e sostituiscono le impostazioni della pagina, del flusso e dell'agente). A ogni livello è disponibile un sottoinsieme di queste impostazioni, a seconda della pertinenza dell'impostazione per il livello.
Per configurare queste impostazioni a un livello inferiore, seleziona prima Abilita impostazioni vocali avanzate nelle impostazioni dell'agente.
Le impostazioni aggiornate a livello di agente non vengono propagate ai livelli di flusso, pagina e fulfillment quando l'opzione Personalizza è selezionata su questi livelli inferiori. Se l'opzione Personalizza comprende più impostazioni e vuoi aggiornarne solo alcune, potresti dover aggiornare anche altre impostazioni se vuoi che siano uguali a quelle a livello di agente.
Se deselezioni Abilita impostazioni vocali avanzate in un flusso, questo non eredita le impostazioni vocali dell'agente o di Interruzione. Mantieni questa opzione selezionata sui flussi (come Default Start Flow) che ereditano le impostazioni dell'agente.
Disponibilità delle impostazioni in base al livello
La tabella seguente indica quali impostazioni vocali avanzate sono disponibili per ogni livello:
| Nome impostazione | Agente | Flow | Pagina | Fulfillment |
|---|---|---|---|---|
| Selezione del modello (Speech-to-Text) | ✔ | ✔ | ✔ | |
| Fine della sensibilità vocale | ✔ | ✔ | ✔ | |
| Sensibilità avanzata di fine della voce basata sul timeout | ✔ | ✔ | ✔ | |
| Abilita endpointing intelligente | ✔ | |||
| Timeout per assenza di voce | ✔ | ✔ | ✔ | |
| Interruzione | ✔ | ✔ | ✔ | |
| Consenti l'annullamento della riproduzione parziale della risposta | ✔ | |||
| Bucket di esportazione audio | ✔ | ✔ | ||
| DTMF | ✔ | ✔ | ✔ |
Selezione del modello (Speech-to-Text)
Può essere impostato a livello di agente, flusso e pagina.
Imposta il modello vocale utilizzato per il riconoscimento vocale. Questa impostazione è specifica per la lingua, quindi puoi selezionare modelli diversi per lingue diverse.
Puoi anche selezionare Esegui l'override del modello vocale a livello di richiesta. Questa opzione applica il modello di agente, flusso o pagina anziché il modello in una richiesta o ConversationProfile.
Nelle sessioni di streaming bidirezionale (BidiStreamingAnalyzeContent), utilizza la stessa versione di Speech-to-Text nell'agente, nei flussi e nelle pagine. Non combinare i modelli Speech-to-Text V2 (chirp_3) con i modelli Speech-to-Text V1 (come telephony_short o latest_short) nella stessa sessione.
Per Dialogflow CX Phone Gateway, consulta le limitazioni. Per saperne di più, consulta Modelli vocali.
Fine della sensibilità vocale
Può essere impostato a livello di agente, flusso e pagina.
Controlla la sensibilità per il riconoscimento della fine del parlato nell'input audio dell'utente finale. Il valore va da 0 (bassa sensibilità, minore probabilità di terminare il parlato) a 100 (alta sensibilità, maggiore probabilità di terminare il parlato).
Tieni presente i seguenti consigli:
- Quando utilizzi Speech-to-Text V2
chirp_3, inizia con un valore di Sensibilità di fine discorso pari a75o80per l'audio di telefonia a 8 kHz con rumore. Non impostare il valore su100, in quanto ciò può causare errori di riconoscimento su linee rumorose. Mantieni attiva l'opzione Abilita la sensibilità avanzata di fine del parlato basata sul timeout nella console. Nelle richieste API, impostauseTimeoutBasedEndpointingsutrue. - Se utilizzi un
ConversationProfile, verifica il valore di Sensibilità di fine discorso nelle impostazioni dell'agente, del flusso e della pagina. Valori bassi, come35, possono aggiungere ritardi di endpointing di più secondi.
Sensibilità avanzata di fine della voce basata sul timeout
Può essere impostato a livello di agente e disattivato a livello di flusso e pagina.
Se questa impostazione è attiva, il valore dell'impostazione Sensibilità di fine del parlato viene utilizzato come indicatore per stabilire un timeout di silenzio audio relativo per determinare la fine del parlato. Se questa impostazione è disattivata (impostazione predefinita), il valore dell'impostazione Sensibilità di fine parlato viene utilizzato per determinare la fine del parlato dal modello di machine learning fornito da Google Cloud Speech-to-Text.
Sebbene l'impostazione Fine della sensibilità vocale supporti solo il modello vocale phone_call per il tag lingua en-US per impostazione predefinita, l'impostazione Abilita la sensibilità vocale avanzata basata sul timeout consente di configurare la sensibilità vocale per tutte le lingue e i modelli vocali supportati da Dialogflow.
Abilita endpointing intelligente
Può essere impostato solo a livello di agente.
Se questa impostazione è abilitata, Dialogflow CX analizzerà l'input parziale dell'utente per determinare la fine del parlato. Ad esempio, se l'utente dice "Vorrei" e fa una pausa, Dialogflow CX attenderà che l'utente continui la frase.
Questo è particolarmente utile per la raccolta di parametri numerici, in cui l'utente potrebbe dire "1234" e fare una pausa prima di dire "5678". Per applicare questa impostazione per un parametro specifico, devi configurare Endpointing smart nel modulo del parametro.
Questa impostazione è disponibile solo per il tag di lingua en-US ed è disattivata per impostazione predefinita.
Timeout per assenza di voce
Può essere impostato a livello di agente, flusso e pagina.
La durata in secondi per la quale Dialogflow CX interromperà l'attesa dell'input audio dell'utente finale. Il valore predefinito è 5 secondi e il valore massimo è 60 secondi. Per questo timeout, Dialogflow CX richiama un evento no-input.
Quando utilizzi Speech-to-Text V2 chirp_3, ti consigliamo un timeout di assenza di parlato di 8 secondi.
Interruzione
Può essere impostato a livello di agente, flusso e fulfillment.
Se questa opzione è abilitata, un utente finale può interrompere l'audio della risposta di Dialogflow CX. In caso di interruzione, Dialogflow CX interromperà l'invio dell'audio ed elaborerà l'input successivo dell'utente finale.
Se nella coda dei messaggi sono presenti più messaggi e un messaggio è stato messo in coda da un fulfillment associato a una pagina, un flusso o un agente con l'interruzione abilitata, anche tutti i messaggi successivi nella coda avranno l'interruzione abilitata. In questo caso, l'integrazione interromperà la riproduzione dell'audio per tutti i messaggi in coda con l'interruzione abilitata.
Se utilizzi l'interruzione con un'integrazione di telefonia o streaming personalizzata, segui queste linee guida:
- Chiamate
StreamingAnalyzeContentper turno: includibarge_in_configinInputAudioConfigin ogni turno della conversazione. Se omettibarge_in_confignei turni successivi, l'interruzione smette di funzionare dopo il primo turno. - Prompt
.wavpreregistrati: taglia il silenzio finale dai file audio preregistrati nei tag<audio>. Il silenzio finale prolunga la riproduzione, il che può ritardare l'idoneità all'interruzione e il timeout di assenza di parlato.
Consenti l'annullamento della riproduzione parziale della risposta
Può essere impostato solo a livello di fulfillment.
Puoi attivare questa impostazione quando la casella Abilita impostazioni vocali avanzate è selezionata in Impostazioni agente > Voce e IVR e la risposta parziale è abilitata a livello di fulfillment. Questa impostazione consente di annullare la riproduzione di una risposta parziale.
Se un messaggio nella coda dei messaggi viene creato da un fulfillment che consente l'annullamento, la riproduzione del messaggio viene annullata se un altro messaggio viene aggiunto alla coda. Questa opzione è utile quando vuoi che un messaggio iniziale avvii la riproduzione, ma vuoi che questa venga annullata se un webhook funzionante produce un altro messaggio prima che la riproduzione del messaggio iniziale venga completata.
Bucket di esportazione audio
Può essere impostato a livello di agente e di flusso.
Se forniti, tutti i dati audio associati a una richiesta verranno salvati nel bucket Cloud Storage:
| Audio salvato | Richieste applicabili |
|---|---|
| Input audio dell'utente finale | DetectIntent, StreamingDetectIntent, AnalyzeContent, StreamingAnalyzeContent |
| Audio di Text-to-Speech (TTS) sintetizzato per una risposta | AnalyzeContent, StreamingAnalyzeContent |
Concedi il ruolo Storage Object Creator ai seguenti service account nel tuo progetto:
Al account di servizio nel formato
one-click@df-cx-ALPHANUMERIC_VALUE-ALPHANUMERIC_VALUE.se utilizzi un'integrazione di telefonia integrata di un partner.Al account di servizio nel formato
service-PROJECT_NUMBER@gcp-sa-dialogflow.se utilizzi l'integrazione di Dialogflow CX Phone Gateway. Per trovare questo account di servizio in IAM, seleziona l'opzione Includi concessioni di ruoli fornite da Google.
Sintesi vocale in streaming per Chirp 3: voci in HD
La sintesi vocale in streaming per le voci Chirp3-HD richiede l'Access Approval.
Dopo l'approvazione, seleziona Abilita sintesi vocale in streaming in Impostazioni agente > Voce e IVR > Sintesi vocale. La sintesi in streaming utilizza StreamingSynthesize per ridurre la latenza nelle risposte più lunghe.
Tieni presente il seguente comportamento:
- Per utilizzare la sintesi vocale in streaming con l'interruzione, utilizza
BidiStreamingAnalyzeContent. La sintesi vocale in streaming con interruzione non è supportata nelle chiamateStreamingAnalyzeContentper turno. - All'interno di un singolo turno, Dialogflow CX concatena il testo consecutivo
responseMessagesin un'unica richiesta di sintesi vocale.
DTMF
Per saperne di più su questa funzionalità, consulta la documentazione relativa alla segnalazione DTMF (Dual-tone multi-frequency).
Se il tuo client StreamingDetectIntent intercetta cifre DTMF fuori banda, non annullare lo stream audio gRPC attivo. Se annulli lo stream senza chiuderlo parzialmente, lo stream del server rimane aperto fino alla scadenza del timeout per assenza di parlato. Invece, interrompi l'invio di frame audio, invia il DTMF queryInput sullo stesso stream e chiudi parzialmente lo stream.