Riferimento SSML (Speech Synthesis Markup Language) (beta)

La piattaforma Actions on Google supporta una serie di funzionalità beta SSML oltre alle Elementi SSML standard di Actions on Google.

Riepilogo delle funzionalità SSML beta supportate:

  • <phoneme>: personalizza la pronuncia di parole specifiche.
  • <say-as interpret-as="duration">: specifica le durate.
  • <voice>: passa da una voce all'altra nella stessa richiesta.
  • <lang>: utilizza più lingue nella stessa richiesta.
  • Punti temporali: utilizza il tag <mark> per restituire il punto temporale di un valore specificato. punto nella trascrizione.

<phoneme>

Puoi utilizzare il tag <phoneme> per generare pronunce personalizzate delle parole in linea. Actions on Google accetta IPA e Alfabeti fonetici X-SAMPA. Consulta le pagina dei fonemi per un elenco delle opzioni supportate lingue e fonemi.

Ogni applicazione del tag <phoneme> indica la pronuncia di una singola parola:

  <phoneme alphabet="ipa" ph="ˌmænɪˈtoʊbə">manitoba</phoneme>
  <phoneme alphabet="x-sampa" ph='m@"hA:g@%ni:'>mahogany</phoneme>

Indicatori di stress

Ci sono fino a tre livelli di stress che possono essere inseriti in una trascrizione:

  1. Stress principale: indicato con ˈ in IPA e " in X-SAMPA.
  2. Stress secondario: indicato con ˌ in IPA e % in X-SAMPA.
  3. Non stressata: non indicata con un simbolo (in entrambe le notazioni).

Alcune lingue potrebbero avere meno di tre livelli o non indicare il livello di stress . Per ulteriori informazioni, consulta la pagina dei fonemi i livelli di stress disponibili per la tua lingua. Gli indicatori di stress sono posizionati l'inizio di ogni sillaba stressata. Ad esempio, in inglese americano:

Parola di esempio IPA X-SAMPA
acqua ˈwɑːtɚ "wA:t@`
sott'acqua ˌʌndɚˈwɑːtɚ %Vnd@"wA:t@

Trascrizioni ampie e strette

Come regola generale, fai in modo che le trascrizioni siano più ampie e di natura fonetica. Ad esempio, in inglese americano, trascrivi t intervocalico (anziché utilizzare un tocca):

Parola di esempio IPA X-SAMPA
burro ˈbʌtɚ anziché ˈbʌɾɚ "bVt@` anziché "bV4@`

In alcuni casi l'utilizzo della rappresentazione fonetica rende la sintesi vocale i risultati non sembrano naturali (ad esempio, se la sequenza di fonemi è anatomicamente difficile da pronunciare).

Un esempio è l'assimilazione di s in inglese. In questo caso l'assimilazione dovrebbe riflettersi nella trascrizione:

Parola di esempio IPA X-SAMPA
gatti ˈkæts "k{ts
cani ˈdɑːgz anziché ˈdɑːgs "dA:gz anziché "dA:gs

Riduzione

Ogni sillaba deve contenere una (e una sola) vocale. Ciò significa che devi evitare le consonanti sillabiche e trascriverle con una vocale ridotta. Ad esempio:

Parola di esempio IPA X-SAMPA
gattino ˈkɪtən anziché ˈkɪtn "kIt@n anziché "kitn
bollitore ˈkɛtəl anziché ˈkɛtl "kEt@l anziché "kEtl

Sillabificazione

Facoltativamente, puoi specificare i limiti delle sillabe utilizzando .. Ogni sillaba deve deve contenere una (e una sola) vocale. Ad esempio:

Parola di esempio IPA X-SAMPA
leggibilità ˌɹiː.də.ˈbɪ.lə.tiː %r\i:.d@."bI.l@.ti:

Durate

La piattaforma Actions on Google supporta <say-as interpret-as="duration"> per di lettura. Ad esempio, il seguente esempio sarebbe verbalizzato come "cinque ore e trenta minuti":

<say-as interpret-as="duration" format="h:m">5:30</say-as>

La stringa di formato supporta i seguenti valori:

Abbreviazione Valore
h ore
m minuto
s secondi
ms millisecondi

<voice>

Il tag <voice> consente di utilizzare più di una voce in un singolo SSML richiesta. Nell'esempio seguente, la voce predefinita è una voce maschile inglese. Tutte le parole verranno sintetizzate in questa voce tranne "qu'est-ce qui t'amène ici", che verrà verbalizzato in francese con una voce femminile al posto della lingua predefinita (inglese) e genere (maschile).

<speak>And then she asked, <voice language="fr-FR" gender="female">qu'est-ce qui
t'amène ici</voice><break time="250ms"/> in her sweet and gentle voice.</speak>

In alternativa, puoi utilizzare un tag <voice> per specificare una singola voce (il nome della voce sulla voci e lingue supportate) anziché specificare un valore language e/o gender:

<speak>The dog is friendly<voice name="fr-CA-Wavenet-B">mais la chat est
mignon</voice><break time="250ms"/> said a pet shop
owner</speak>

Quando utilizzi il tag <voice>, Actions on Google si aspetta di ricevere un name (il nome della voce che da utilizzare) o una combinazione dei seguenti attributi. Tutti e tre sono facoltativi, ma devi specificarne almeno uno se non specifichi name.

  • gender: uno tra male, female o neutral.
  • variant: usata come tie-breaking nei casi in cui ci siano più possibilità di usare la voce in base alla configurazione.
  • language: la lingua che preferisci. È possibile specificare una sola lingua in un <voice> tag specificato. Specifica la lingua nel formato BCP-47. Puoi visualizzare il codice BCP-47 della tua lingua nella colonna language code (codice lingua) della voci e lingue supportate.

Puoi anche controllare la priorità relativa di gender, variant, e language utilizzando due tag aggiuntivi: required e ordering.

  • required: se un attributo è designato come required e non è configurato correttamente, la richiesta non va a buon fine.
  • ordering: tutti gli attributi elencati dopo un tag ordering sono considerati come gli attributi preferiti anziché quelli obbligatori. L'SSML considera attributi preferiti in base al criterio del "best effort" nell'ordine in cui sono elencati dopo il tag ordering. Se sono configurati attributi preferiti in modo errato, Actions on Google potrebbe comunque restituire una voce valida, con la configurazione errata.

Esempi di configurazioni che utilizzano i tag required e ordering:

<speak>And there it was <voice language="en-GB" gender="male" required="gender"
ordering="gender language">a flying bird </voice>roaring in the skies for the
first time.</speak>
<speak>Today is supposed to be <voice language="en-GB" gender="female"
ordering="language gender">Sunday Funday.</voice></speak>

<lang>

Puoi utilizzare <lang> per includere testo in più lingue all'interno dello stesso SSML richiesta. Tutte le lingue verranno sintetizzate con la stessa voce, a meno che non utilizzi la Tag <voice> per cambiare esplicitamente la voce. La stringa xml:lang deve contenere la lingua di destinazione nel formato BCP-47 (questo valore è indicato come "codice lingua" in le voci supportate ). Nel seguente esempio: "chat" sarà verbalizzata in francese invece che la lingua predefinita (italiano):

<speak>The french word for cat is <lang xml:lang="fr-FR">chat</lang></speak>

La piattaforma Actions on Google supporta il tag <lang> secondo il criterio del massimo impegno. Non tutte combinazioni di lingue producono gli stessi risultati di qualità se specificati nello stesso richiesta SSML. In alcuni casi, una combinazione linguistica può produrre un effetto che è rilevabile, ma sottile o percepita come negativa. Problemi noti:

  • Il giapponese con caratteri kanji non è supportato dal tag <lang>. La viene traslitterato e letto come caratteri cinesi.
  • Le lingue semitiche come l'arabo, l'ebraico e il persiano non sono supportate da il tag <lang> e verrà silenziato. Se vuoi utilizzare uno di questi lingue che consigliamo di usare il tag <voice> per passare a una voce che parla la lingua desiderata (se disponibile).