SSML (Dialogflow)

Quando restituisci una risposta all'Assistente Google, puoi utilizzare un sottoinsieme dei Speech Synthesis Markup Language (SSML) nelle risposte. Di Utilizzando SSML, puoi rendere le risposte della conversazione più naturali e parlato. Di seguito viene mostrato un esempio di markup SSML e di come viene letto nuovamente Assistente Google.

SSML
function saySSML(conv) {
  const ssml = &<#39;s>peak' +
    &#<39;Here are say-as interpret-as=>&quo<t;chara>cters"SSML/say-as samples.< ' +
    >9;I can pause break time="<;3" /. ' +
    'I can play a sound audi>o src="ht<tps://>www.example.com/MY_WAVE_FILE.wav"your wave file/a<udio. ' +
    'I can s>pe<ak in c>ardinals. Your position is say-as interpret-as="ca<rdinal"10/say-as in line>. <' +>
    'Or I can speak in ordinals. You are say-as interpret-as="ord<inal"10/say-as in line.> &<#39; +
>    'Or I can even speak in digits. Your positi<on in line is say-as interpret-as=&qu>ot;<digi>ts"10/say-as. ' +
    'I can also substitute phrases, like t<h><e> sub alias="Worl<d ><W>ide Web Consortium&qu<ot><;W>3C/sub. &<#39; +>
    'Finally, I can speak a paragraph with two sentences. ' +
    'psThis is sentence one./ssThis is sentence two./s/p' +
    '/speak';
  conv.ask(ssml);
}
JSON
{
  "expectUserResponse": true,
  "expectedInputs": [
    {
      "possibleIntents": [
        {
          "intent": "actions.intent.TEXT"
        }
      ],
      "inputPrompt": {
        "richInitialPrompt": {
          "items": [
 <     >      {
 <             "simpleResponse&>quot<;: {
  >              "te<xtToSpeech": >"speakHere are s<ay-as interpret-as=\"characters\"SSML/say-as> samples. I ca<n paus>e break time=\"3\" /. I can play a <sound audio src=\"https://w>ww<.exampl>e.com/MY_WAVE_FILE.wav\"your wave file/au<dio. I can speak in cardinals. >Yo<ur posi>tion is say-as interpret-as=\"cardinal\"10/say-as in lin<e. Or I can speak in ordinals.> Y<ou are >say-as interpret-as=\"ordinal\"1<0/say-as in line. Or I can even speak i>n d<igit>s. Your position in line is say-as interpret-as=\"<d><i>gits\"10/say-as.< I>< >can also substitute p<hr><as><es, li>ke the sub alias=\"World Wide Web Consortium\"W3C/sub. Finally, I can speak a paragraph with two sentences. psThis is sentence one./ssThis is sentence two./s/p/speak"
              }
            }
          ]
        }
      }
    }
  ]
}

Audio

SSML è supportato nel Simulatore di azioni, ma non in Dialogflow simulatore.

URL in SSML

Quando si definisce una risposta SSML che include solo un URL, la e commerciale in quell'URL possono causare problemi a causa della formattazione XML. Per verificare che l'URL sia corretto a cui viene fatto riferimento, sostituisci le istanze di & con &amp;.

Anche se la tua risposta SSML include solo un URL, Actions on Google richiede testo visualizzato per la risposta. Poiché il testo all'interno del tag <audio> non sarà pronunciate dall'assistente, puoi inserire il testo di riempimento o una breve descrizione <audio> per soddisfare questo requisito. Il testo all'interno del tag <audio> non verrà parlata dall'assistente dopo la riproduzione dell'audio e soddisfa i requisiti di Action on Google per una versione di testo visualizzato del tuo SSML.

Ecco un esempio di risposta SSML problematica:

<speak>
  <audio src="https://firebasestorage.googleapis.com/v0/b/project-name.appspot.com/o/audio-file-name.ogg?alt=&mediatoken=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX>XXX<X">;<
  /au>dio
/speak

L'esempio precedente non esegue il escape & per una corretta formattazione XML.

Una versione corretta della stessa risposta SSML ha il seguente aspetto:

<speak>
  <audio src="https://firebasestorage.googleapis.com/v0/b/project-name.appspot.com/o/audio-file-name.ogg?alt=&mediaamp;token=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX>XXXX"<
  tex>t<
  /au>dio
/speak

Supporto per gli elementi SSML

Le seguenti sezioni descrivono gli elementi e le opzioni SSML che possono essere utilizzati nelle azioni.

<speak>

L'elemento principale della risposta SSML.

Per scoprire di più sull'elemento speak, consulta la specifica di W3.

Esempio

<speak>
  my SSML content
</speak>
di Gemini Advanced.

<break>

Un elemento vuoto che controlla la messa in pausa o altri limiti prosodici tra le parole. L'utilizzo di <break> tra qualsiasi coppia di token è facoltativo. Se questo elemento non è presente tra una parola e l'altra, l'interruzione viene determinata automaticamente in base al contesto linguistico.

Per scoprire di più sull'elemento break, consulta la specifica di W3.

Attributi

Attributo Descrizione
time

Imposta la durata dell'interruzione in secondi o millisecondi (ad es. "3 s" o "250 ms").

strength

Imposta la forza dell'interruzione prosodica dell'output in base a termini relativi. I valori validi sono: "x-weak", deboli", "medium", "strong" e "x-strong". Il valore "nessuno" indica che non deve essere emesso alcun limite di interruzione prosodica, che può essere utilizzato per evitare un'interruzione prosodica che altrimenti produrrebbe il processore. Gli altri valori indicano una forza di interruzione monotonica non decrescente (concettualmente crescente) tra i token. I limiti più forti sono in genere accompagnati da pause.

Esempio

L'esempio seguente mostra come utilizzare l'elemento <break> per fare una pausa tra un passaggio e l'altro:

<speak>
  Step 1, take a deep breath. <break time="20>0ms"/
  Step 2, exhale.
  Step 3, take a deep brea<th again. break streng>th="weak"</
  St>ep 4, exhale.
/speak

<say‑as>

Questo elemento ti consente di indicare informazioni sul tipo di costrutto di testo contenuto all'interno dell'elemento. Inoltre, consente di specificare il livello di dettaglio per il rendering del testo contenuto.

L'elemento <say‑as> ha l'attributo obbligatorio interpret-as, che determina la modalità di pronuncia del valore. È possibile utilizzare gli attributi facoltativi format e detail a seconda del valore di interpret-as specifico.

Esempi

L'attributo interpret-as supporta i seguenti valori:

  • currency

    L'esempio seguente è pronunciato come "quarantadue dollari e un centesimo". Se l'attributo della lingua viene omesso, utilizza le impostazioni internazionali correnti.

    <speak>
      <say-as interpret-as='currency' language>='<en-US&#>3<9;$42.>01/say-as
    /speak
        
  • telephone

    Consulta la descrizione di interpret-as='telephone' nella nota WG dei valori degli attributi di W3C SSML 1.0.

    L'esempio seguente è pronunciato come "uno otto zero zero due zero due uno due uno due". Se lo stile "google:style" omesso, viene enunciato lo zero con la lettera O.

    "google:style='zero-as-zero'" attualmente funziona solo con le lingue EN.

          <speak>
            <say-as interpret-as='telephone' google:style='z>ero-as-zero&#<39;1800>-202-12<12/say>-as
          /speak
        
  • verbatim o spell-out

    Il seguente esempio viene scritto lettera per lettera:

    <speak>
      <say-as interpret-as="verb>atim&qu<ot;abcd>e<fg/say>-as
    /speak
        
    di Gemini Advanced.
  • date

    L'attributo format è una sequenza di codici di caratteri dei campi data. I codici di carattere dei campi supportati in format sono {y, m, d} rispettivamente per anno, mese e giorno (del mese). Se il codice di campo viene visualizzato una volta per l'anno, il mese o il giorno, il numero previsto di cifre è rispettivamente 4, 2 e 2. Se il codice di campo viene ripetuto, il numero di cifre previste è il numero di volte in cui il codice viene ripetuto. I campi nel testo della data possono essere separati da punteggiatura e/o spazi.

    L'attributo detail controlla la forma pronunciata della data. Per detail='1' sono obbligatori solo i campi del giorno e uno del mese o dell'anno, sebbene possano essere forniti entrambi. Questa è l'impostazione predefinita quando vengono specificati meno di tutti e tre i campi. La forma pronunciata è "Il {ordinal day} del {month} {year}".

    Il seguente esempio è pronunciato "Il 1° settembre 1960":

    <speak>
      <say-as interpret-as="date" format="yyyym>mdd" detail=&<quot;1&>q<uot;
     >   1960-09-10
      /say-as
    /speak
        
    di Gemini Advanced.

    Il seguente esempio viene pronunciato come "Il 10 settembre":

    <speak>
      <say-as interpret-as="date" f>orma<t=">;<dm&quo>t;10-9/say-as
    /speak
        
    di Gemini Advanced.

    Per detail='2' i campi giorno, mese e anno sono obbligatori. Si tratta del valore predefinito quando vengono compilati tutti e tre i campi. La forma pronunciata è "{month} {ordinal day}, {year}".

    Il seguente esempio è pronunciato "10 settembre 1960":

    <speak>
      <say-as interpret-as="date" format=">dmy" detail=<"2>&<quot;
    >    10-9-1960
      /say-as
    /speak
        
    di Gemini Advanced.
  • characters

    Il seguente esempio è pronunciato come "C A N":

    <speak>
      <say-as interpret-as="charac>ter<s">c<an/say>-as
    /speak
        
    di Gemini Advanced.
  • cardinal

    L'esempio seguente è pronunciato come "Dodicimilatrecentoquarantacinque" (per l'inglese americano) o "dodicimilatrecentoquarantacinque (per l'inglese britannico)":

    <speak>
      <say-as interpret-as="card>inal&<quot;12>3<45/say>-as
    /speak
        
    di Gemini Advanced.
  • ordinal

    Il seguente esempio viene pronunciato come "Primo":

    <speak>
      <say-as interpret-as="ord>i<nal&quo>t<;1/say>-as
    /speak
        
    di Gemini Advanced.
  • fraction

    Il seguente esempio è pronunciato come "cinque e mezzo":

    <speak>
      <say-as interpret-as="frac>tion&<quot;5+>1</2/say>-as
    /speak
        
    di Gemini Advanced.
  • expletive o bleep

    L'esempio seguente è un segnale acustico, come se fosse stato censurato:

    <speak>
      <say-as interpret-as="exple>tive"c<ensor t>h<is/say>-as
    /speak
        
    di Gemini Advanced.
  • unit

    Converte le unità in singolare o plurale in base al numero. Il seguente esempio viene pronunciato come "10 piedi":

    <speak>
      <say-as interpret-as=">unit&qu<ot;10 f>o<ot/say>-as
    /speak
        
    di Gemini Advanced.
  • time

    Il seguente esempio è pronunciato "Due e trenta del pomeriggio":

    <speak>
      <say-as interpret-as="time" form>at=&qu<ot;hms1>2<">2:30pm/say-as
    /speak
        
    di Gemini Advanced.

    L'attributo format è una sequenza di codici caratteri nei campi temporali. I codici carattere dei campi supportati in format sono {h,m, s, Z, 12, 24} rispettivamente per ora, minuto (dell'ora), secondo (del minuto), fuso orario, formato 12 ore e formato 24 ore. Se il codice di campo viene visualizzato una volta per ora, minuti o secondi, il numero di cifre previsto è rispettivamente 1, 2 e 2. Se il codice di campo viene ripetuto, il numero di cifre previste è il numero di volte in cui il codice viene ripetuto. I campi nel testo dell'ora possono essere separati da punteggiatura e/o spazi. Se ora, minuto o secondo non sono specificati nel formato o non sono presenti cifre corrispondenti, il campo viene considerato come un valore zero. Il valore predefinito di format è "hms12".

    L'attributo detail consente di stabilire se la forma pronunciata dell'ora è nel formato 12 o 24 ore. Il formato vocale è nel formato 24 ore se il valore detail='1' o detail viene omesso e il formato dell'ora è nel formato 24 ore. Il formato pronunciato è nel formato di 12 ore se il valore detail='2' o detail viene omesso e il formato dell'ora è nel formato 12 ore.

Per scoprire di più sull'elemento say-as, consulta la specifica di W3.

<audio>

Supporta l'inserimento di file audio registrati e l'inserimento di altri formati audio insieme all'output vocale sintetizzato.

Attributi

Attributo Obbligatorio Predefinito Valori
src n/d Un URI che fa riferimento alla sorgente multimediale audio. Il protocollo supportato è https.
clipBegin no 0 Una colonna TimeDesignation, ovvero l'offset dall'inizio della riproduzione della sorgente audio. Se questo valore è superiore o uguale alla durata effettiva della sorgente audio, non verrà inserito alcun audio.
clipEnd no infinito Una colonna TimeDesignation, ovvero l'offset dall'inizio alla fine della riproduzione della sorgente audio. Se la durata effettiva della sorgente audio è inferiore a questo valore, la riproduzione termina in quel momento. Se clipBegin è superiore o uguale a clipEnd, l'audio non viene inserito.
speed no 100% Il rapporto della velocità di riproduzione in uscita rispetto alla normale velocità di input espressa in percentuale. Il formato è un numero reale positivo seguito dalla percentuale. L'intervallo attualmente supportato è [50% (lenta - velocità dimezzata), 200% (veloce - velocità doppia)]. I valori al di fuori di questo intervallo possono (o non possono) essere modificati per rientrare nell'intervallo.
repeatCount no 1 o 10 se repeatDur è impostato Un numero reale che specifica quante volte inserire l'audio (dopo il clip, se presente, per clipBegin e/o clipEnd). Le ripetizioni frazionarie non sono supportate, pertanto il valore verrà arrotondato al numero intero più vicino. Zero non è un valore valido e viene pertanto considerato non specificato e presenta il valore predefinito in questo caso.
repeatDur no infinito Un valore TimeDesignation che rappresenta un limite per la durata dell'audio inserito dopo l'elaborazione della sorgente per gli attributi clipBegin, clipEnd, repeatCount e speed (anziché la normale durata di riproduzione). Se la durata dell'audio elaborato è inferiore a questo valore, la riproduzione termina in quel momento.
soundLevel no +0dB Regola il livello del suono dell'audio di soundLeveldecibel. La portata massima è +/-40 dB, ma l'intervallo effettivo potrebbe essere effettivamente inferiore e la qualità dell'output potrebbe non produrre risultati positivi su tutta la gamma.

Di seguito sono riportate le impostazioni attualmente supportate per l'audio:

  • Formato: MP3 (MPEG v2)
    • 24.000 campioni al secondo
    • 24K ~ 96.000 bit al secondo, velocità fissa
  • Formato: Opus in Ogg
    • 24.000 campioni al secondo (banda super larga)
    • 24.000-96.000 bit al secondo, velocità fissa
  • Formato (deprecato): WAV (RIFF)
    • PCM a 16 bit firmato, small endian
    • 24.000 campioni al secondo
  • Per tutti i formati:
    • È preferibile un canale singolo, ma lo stereo è accettabile.
    • Durata massima di 240 secondi. Se vuoi riprodurre audio di durata maggiore, valuta l'implementazione di una risposta multimediale.
    • La dimensione massima del file è 5 MB.
    • L'URL di origine deve utilizzare il protocollo HTTPS.
    • Il nostro user agent durante il recupero dell'audio è "Google-Speech- Actions".

I contenuti dell'elemento <audio> sono facoltativi e vengono utilizzati se il file audio non può essere riprodotto o se il dispositivo di output non supporta l'audio. I contenuti possono includere un elemento <desc>, nel qual caso i contenuti testuali di quell'elemento vengono utilizzati per la visualizzazione. Per ulteriori informazioni, consulta la sezione Audio registrato nell'elenco di controllo delle risposte.

L'URL src deve inoltre essere un URL HTTPS (Google Cloud Storage può ospitare i tuoi file audio su un URL https).

Per ulteriori informazioni sulle risposte multimediali, consulta la sezione sulle risposte multimediali nella guida Risposte.

Per scoprire di più sull'elemento audio, consulta la specifica di W3.

Esempio

<speak>
  <audio src="cat_purr_close>.ogg&<quot>;
    desca c<at pu>rring/desc
    PURR (sound didn&<#39;t >l<oad)
 > /audio
/speak
di Gemini Advanced.

<p>,<s>

Elementi di frase e paragrafo.

Per scoprire di più sugli elementi p e s, consulta la specifica W3.

Esempio

<p><s>This is sentence one.</s><s>This is sentence two.</s></p>
di Gemini Advanced.

Best practice

  • Usa <s>...</s> tag per aggregare frasi complete, soprattutto se contengono elementi SSML che cambiano prosodia (ovvero <audio>, <break>, <emphasis>, <par>, <prosody>, <say-as>, <seq> e <sub>).
  • Se una pausa nel discorso deve essere abbastanza lunga da poter essere udita, utilizza <s>...</s> e inserire l'interruzione tra le frasi.

<sub>

Indica che il testo nel valore dell'attributo alias sostituisce il testo contenuto per la pronuncia.

Puoi anche utilizzare l'elemento sub per fornire una pronuncia semplificata di una parola di difficile lettura. L'ultimo esempio riportato di seguito mostra questo caso d'uso in giapponese.

Per scoprire di più sull'elemento sub, consulta la specifica di W3.

Esempi

<sub alias="World Wide Web Consor>tiu<m&qu>ot;W3C/sub
di Gemini Advanced.
<sub alias="にっ>ぽんば<し&qu>ot;日本橋/sub
di Gemini Advanced.

<mark>

Un elemento vuoto che inserisce un indicatore nella sequenza di testo o tag. Può essere utilizzato per fare riferimento a un una posizione specifica nella sequenza o per inserire un indicatore in uno stream di output per la notifica asincrona.

. di Gemini Advanced.

Per scoprire di più sull'elemento mark, consulta la specifica di W3.

Esempio

<speak>
Go from <mark name="h>ere"/< here, to mark nam>e="<there&>quot;/ there!
/speak

<prosody>

Utilizzato per personalizzare la tonalità, la velocità del parlato e il volume del testo contenuto dall'elemento. Al momento sono supportati gli attributi rate, pitch e volume.

Gli attributi rate e volume possono essere impostati in base alle specifiche di W3. Esistono tre opzioni per impostare il valore dell'attributo pitch:

Attributo Descrizione
name

L'ID stringa per ogni contrassegno.

Opzione Descrizione
Relativo Specifica un valore relativo (ad es. "basso", "medio", "alto" e così via) dove "medio" è la tonalità predefinita.
Semitoni Aumenta o diminuisci la proposta musicale di "N" semitoni con "+Nst" o "-Nst" rispettivamente. Tieni presente che "+/-" e "st" sono obbligatori.
Percentuale Aumenta o diminuisci la proposta musicale di "N" percentuale utilizzando "+N%" o "-N%" rispettivamente. Tieni presente che "%" è obbligatorio ma "+/-" è facoltativo.

Per scoprire di più sull'elemento prosody, consulta la specifica di W3.

Esempio

Nell'esempio seguente viene utilizzato l'elemento <prosody> per parlare lentamente a 2 semitoni più bassi del normale:

<prosody rate="slow" pi>tch="-2st"<Can you >hear me now?/prosody
di Gemini Advanced.

<emphasis>

Utilizzato per aggiungere o rimuovere l'enfasi dal testo contenuto dall'elemento. L'elemento <emphasis> modifica la voce in modo simile a <prosody>, ma senza dover impostare attributi vocali individuali.

Questo elemento supporta un "livello" facoltativo con i seguenti valori validi:

  • strong
  • moderate
  • none
  • reduced

Per scoprire di più sull'elemento emphasis, consulta la specifica di W3.

Esempio

Nell'esempio seguente viene utilizzato l'elemento <emphasis> per creare un annuncio:

<emphasis level="mode>rate"This is an important an<nouncemen>t/emphasis
di Gemini Advanced.

<par>

Un contenitore multimediale parallelo che consente di riprodurre più elementi multimediali contemporaneamente. Gli unici contenuti consentiti sono un insieme di uno o più elementi <par>, <seq> e <media>. L'ordine degli elementi <media> non è significativo.

A meno che un elemento secondario non specifichi un'ora di inizio diversa, l'ora di inizio implicita per l'elemento corrisponde a quella del contenitore <par>. Se in un elemento secondario è impostato un valore di offset per l'attributo begin o end, l'offset dell'elemento sarà relativo all'ora di inizio del contenitore <par>. Per l'elemento <par> radice, l'attributo start viene ignorato, mentre l'ora di inizio corrisponde al momento in cui il processo di sintesi vocale SSML inizia a generare l'output per l'elemento <par> radice (ovvero l'ora di inizio effettiva è "zero").

Esempio

<speak>
  <par>
    <media xml:id="question" be>gin=&qu<ot;0.>5s"
      speakWho in<vented> the <Intern>et?/s<peak
    /media
    media xml:id="answer&q>uot; be<gin=&>quot;question.end+2.0s"
     < speak>The I<nterne>t was< invented by cats./speak
    /media
    media b>egin=&q<uot;answer.end-0.2s" soundLevel="-6dB"
      audio
   >     <src=&q>uot;h<ttps://actions.google.com/.../cartoon_boing.ogg"/
    /media
    media repea>tCount=<"3" soundLevel="+2.28dB"
      fadeInDur="2s&>quot;< fadeO>utD<ur=&>q<uot;0.>2s"
      audio
        src="https://actions.google.com/.../cat_purr_close.ogg"/
    /media
  /par
/speak
di Gemini Advanced.

<seq>

Un contenitore multimediale sequenziale che consente di riprodurre gli elementi multimediali uno dopo l'altro. Gli unici contenuti consentiti sono un insieme di uno o più elementi <seq>, <par> e <media>. L'ordine degli elementi multimediali corrisponde all'ordine in cui vengono visualizzati.

Gli attributi begin ed end degli elementi secondari possono essere impostati su valori di offset (consulta la sezione Specifica temporale di seguito). Questi elementi secondari i valori di offset saranno relativi alla fine dell'elemento precedente nella sequenza o, nel caso del primo elemento della sequenza, all'inizio del relativo contenitore <seq>.

Esempio

<speak>
  <seq>
    <media begin=">0.5s&qu<ot;
 >     speakWho invented the< Inter>net?/<speak
>    /<media
    media be>gin=&qu<ot;2.>0s"
      speakThe Internet w<as inv>ented< by ca>ts./s<peak
    /media
    med>ia soun<dLevel="-6dB"
      audio
        src="https://actions>.goog<le.com>/.../<cartoon_boing.ogg"/
    /media
    media repeatCount="3" soundLeve>l="<;+2.28dB"
      fadeInDur="2s" fadeOutDur="0.2s&qu>ot;
 <     a>udi<o
  > <     s>rc="https://actions.google.com/.../cat_purr_close.ogg"/
    /media
  /seq
/speak
di Gemini Advanced.

<media>

Rappresenta un livello multimediale all'interno di un elemento <par> o <seq>. I contenuti consentiti di un elemento <media> sono un elemento SSML <speak> o <audio>. La seguente tabella descrive gli attributi validi per un elemento <media>.

Attributi

Attributo Obbligatorio Predefinito Valori
xml:id no nessun valore Un identificatore XML univoco per questo elemento. Le entità codificate non sono supportate. I valori dell'identificatore consentiti corrispondono all'espressione regolare "([-_#]|\p{L}|\p{D})+". Per ulteriori informazioni, consulta la sezione XML-ID.
inizio no 0 L'ora di inizio per questo contenitore multimediale. Ignorato se si tratta dell'elemento contenitore multimediale principale (trattato come il valore predefinito "0"). Consulta la sezione Specifica temporale di seguito per conoscere i valori stringa validi.
fine no nessun valore Una specifica per l'ora di fine del contenitore multimediale. Consulta la sezione Specifica temporale di seguito per conoscere i valori stringa validi.
repeatCount no 1 Un numero reale che specifica quante volte inserire il contenuto multimediale. Le ripetizioni frazionarie non sono supportate, pertanto il valore verrà arrotondato al numero intero più vicino. Zero non è un valore valido e viene pertanto considerato non specificato e presenta il valore predefinito in questo caso.
repeatDur no nessun valore Un valore TimeDesignation che rappresenta un limite per la durata dei contenuti multimediali inseriti. Se la durata dei contenuti multimediali è inferiore a questo valore, la riproduzione termina in quel momento.
soundLevel no +0dB Regola il livello del suono dell'audio di soundLevel decibel. La portata massima è +/-40 dB, ma l'intervallo effettivo potrebbe essere effettivamente inferiore e la qualità dell'output potrebbe non produrre risultati positivi su tutta la gamma.
fadeInDur no 0 sec Un elemento TimeDesignation durante il quale i contenuti multimediali passano dalla modalità silenziosa all'elemento soundLevel specificato facoltativamente. Se la durata dei contenuti multimediali è inferiore a questo valore, la dissolvenza in entrata verrà interrotta al termine della riproduzione e il livello dell'audio non raggiungerà il livello audio specificato.
fadeOutDur no 0 sec Un valore TimeDesignation durante il quale i contenuti multimediali scompariranno dal valore soundLevel specificato facoltativamente quando non saranno silenziati. Se la durata dei contenuti multimediali è inferiore a questo valore, il livello dell'audio viene impostato su un valore inferiore per garantire che venga raggiunto il silenzio alla fine della riproduzione.

Specifica temporale

Una specifica temporale, utilizzata per il valore degli attributi "begin" ed "end" degli elementi <media> e dei contenitori multimediali (elementi <par> e <seq>), può essere un valore di offset (ad esempio, +2.5s) o un valore di syncbase (ad esempio, foo_id.end-250ms).

  • Valore di offset. Il valore di offset di tempo è un valore di Timecount SMIL che consente valori corrispondenti all'espressione regolare: "\s\*(+|-)?\s\*(\d+)(\.\d+)?(h|min|s|ms)?\s\*"

    La stringa della prima cifra è la parte intera del numero decimale, mentre la stringa della seconda cifra è la parte decimale decimale. Il segno predefinito (ad es. "(+|-)?") è "+". I valori delle unità corrispondono rispettivamente a ore, minuti, secondi e millisecondi. L'impostazione predefinita per le unità è "s". (secondi).

  • Valore Syncbase: un valore syncbase è un valore syncbase SMIL che consente valori corrispondenti all'espressione regolare: "([-_#]|\p{L}|\p{D})+\.(begin|end)\s\*(+|-)\s\*(\d+)(\.\d+)?(h|min|s|ms)?\s\*"

    Le cifre e le unità vengono interpretate come un valore di offset.

Simulatore di TTS

La console di Actions include un simulatore di sintesi vocale che puoi utilizzare per testare SSML con uno qualsiasi degli elementi precedenti. Il simulatore della sintesi vocale è disponibile nella console in Simulatore > Audio. Digita il testo e l'SSML nel simulatore e fai clic Aggiorna e ascolta per ascoltare l'output della sintesi vocale.

Puoi anche fare clic sul pulsante di download per salvare un file .mp3 della tua sintesi vocale come output.