SSML (Speech Synthesis Markup Language) ti permette di controllare come il testo viene letto ad alta voce. Ti consente di ottimizzare la pronuncia, il tono, l'enfasi e altro ancora, per creare messaggi vocali naturali e coinvolgenti. Di seguito sono riportati i comandi SSML più utili che puoi usare con SIP Caller per personalizzare la tua esperienza di sintesi vocale (Text-to-Speech).
<speak>Salve! Come posso aiutarla oggi?</speak>
<speak>Salve! <break time="500ms"/> Come posso assisterla?</speak>
<speak>Questa è un'informazione <emphasis level="strong">molto importante</emphasis>.</speak>
<speak><prosody rate="slow" pitch="low">La preghiamo di ascoltare attentamente.</prosody></speak>
<speak>La data è <say-as interpret-as="date">2024-11-08</say-as>.</speak>
<speak>SIP Caller utilizza <sub alias="Session Initiation Protocol">SIP</sub> per connettersi al PBX.</speak>
<speak><p>Benvenuto in SIP Caller.</p><p>Come possiamo assisterla oggi?</p></speak>
Utilizzando SSML in modo efficace in SIP Caller, puoi offrire messaggi vocali chiari, professionali e coinvolgenti che migliorano le interazioni con i clienti. Per ulteriori personalizzazioni, non esitare a esplorare la specifica SSML completa per Google o la specifica SSML per Azure e a provare diverse configurazioni con la funzionalità di sintesi vocale (Text-to-Speech) di SIP Caller.
Quando utilizzi SSML con Azure Text-to-Speech, tieni presente che Azure è molto rigoroso riguardo alla struttura dei tag SSML, specialmente rispetto a Google Cloud Text-to-Speech, che è più permissivo.
Affinché Azure TTS funzioni correttamente in SIP Caller, devi includere esplicitamente sia l'elemento radice <speak> sia un elemento <voice> nel tuo input SSML.
Inoltre, l'elemento <voice> deve specificare esattamente la stessa voce selezionata per la campagna in SIP Caller. Se la voce definita nell'SSML non corrisponde alla voce della campagna, Azure potrebbe rifiutare la richiesta e non riuscire a sintetizzare l'audio.
Il mancato rispetto di questa struttura può causare errori di sintesi e la mancata generazione dell'audio.
Esempio:
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US"> <voice name="en-US-AvaNeural"> Salve. <break time="1s"/> Questa è una chiamata da ACME. <break time="1s"/> Questo per confermare il suo appuntamento di domani. <break time="1s"/> Se ci sono problemi con questa visita, la preghiamo di contattarci. Grazie. </voice> </speak>