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:
- Stress principale: indicato con
ˈ
in IPA e"
in X-SAMPA. - Stress secondario: indicato con
ˌ
in IPA e%
in X-SAMPA. - 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 tramale
,female
oneutral
.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 comerequired
e non è configurato correttamente, la richiesta non va a buon fine.ordering
: tutti gli attributi elencati dopo un tagordering
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 tagordering
. 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).