SSML: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Standardizzo interwiki |
No2 (discussione | contributi) →Evoluzione: Fix link |
||
(36 versioni intermedie di 21 utenti non mostrate) | |||
Riga 1:
Lo '''Speech Synthesis Markup Language (SSML)''' (in inglese: ''linguaggio di markup per la [[sintesi vocale]]'') è un [[linguaggio di markup]] basato su [[XML]] e orientato ai sistemi di conversione del testo in parlato, per controllarne e ottimizzarne la resa. Il linguaggio è stato specificato dal gruppo di studio "Voice browser" del [[World Wide Web Consortium]] (W3C) e trova frequente applicazioni in script di tipo [[VoiceXML]] per sistemi di telefonia interattiva automatizzata. Viene impiegato inoltre per la produzione di [[audiolibro|audiolibri]].
Sebbene alla specifica attuale abbiano contribuito molte aziende produttrici di sistemi di sintesi vocale (tra cui il centro di ricerca italiano [[CSELT]]<ref>[https://www.w3.org/TR/2003/CR-speech-synthesis-20031218/ssml-1.0-disposition.html SSML 1.0: Last Call Disposition of Comments]</ref>), l'SSML si basa su JSML (''Java Speech Markup Language''), linguaggio di markup concepito da [[Sun Microsystems]]. Il linguaggio non costituisce uno standard obbligatorio: infatti, ogni sintetizzatore vocale deve essere comunque in grado di eseguire la conversione anche in assenza di markup e del resto le definizioni stesse del linguaggio non prevedono un markup specifico per alcune funzionalità di base che si suppongono già presenti in qualsiasi sistema di sintesi vocale (come per esempio la resa in pause della punteggiatura).
== Caratteristiche ==
I [[Tag HTML|tag]] definiti in SSML sono in grado di controllare la resa di un sistema di sintesi durante tutte le sei fasi fondamentali del processo tipico di elaborazione
# Scansione dell'XML (''[[parsing]]''): in questa fase il file SSML viene esaminato per estrarre la parte dei contenuti. Il markup controlla la resa di quelle che il sistema di sintesi considererà entità singole (''[[token (testo)|token]]''); per esempio: ''anno<nowiki><break /></nowiki>nuovo'' farà in modo che le due parole "''anno''" e "''nuovo''" vengano considerate come due parole completamente staccate tra di loro invece che due parole legate tra loro e separate solo da una breve pausa.
# Analisi della struttura: in questa fase il markup controlla la suddivisione in [[paragrafo|paragrafi]] e [[frase|frasi]], consentendo così di controllare gli stacchi tra parti diverse del testo.
# Normalizzazione del testo: in questa fase il sistema di sintesi risolve e prepara per la resa costrutti particolari come abbreviazioni e numeri, basandosi sul contesto e in funzione della lingua finale. Il markup viene usato per controllare e risolvere ambiguità
# Conversione testo-[[fonema]]: in questa fase il sistema di sintesi deve elaborare la pronuncia corretta, in base ai fonemi specifici di una determinata lingua. Il markup può essere usato per controllare in modo esplicito la pronuncia desiderata e in questa fase risulta particolarmente utile per [[acronimo|acronimi]] o [[abbreviazione|abbreviazioni]] che il sistema di sintesi non è stato in grado di risolvere durante la fase di normalizzazione.
# Analisi della [[prosodia]]: in questa fase il sistema di sintesi genera e controlla tutta una serie di parametri che servono per rendere la sintesi il più vicina possibile al discorso parlato di un essere umano: [[intonazione (musica)|intonazione]], [[ritmo]], [[pausa (musica)|pause]], [[velocità]], [[enfasi]] eccetera. Il markup in questa fase è particolarmente efficace in quanto consente il controllo diretto di
# Generazione dell'audio: il markup in questa fase consente di
== Evoluzione ==
La versione 1.0 di SSML, attualmente in forza, ha introdotto tutti gli elementi di base. Tuttavia, in seguito sia al miglioramento delle tecniche di sintesi che soprattutto all'emergere di nuove realtà industriali ed economiche, soprattutto in [[Asia]], è
Da queste esigenze è partita la definizione della versione 1.1, che estende praticamente tutte le funzionalità di markup della versione 1.0. Tra le principali funzionalità aggiunte ci sono:
Line 22 ⟶ 21:
* il controllo esplicito per la definizione di un ''token'' e di una singola parola
* un evento per la gestione di errori nella sintesi (per esempio in caso di impossibilità di generare in una lingua specifica una determinata pronuncia o una determinata voce)
* controlli più estesi per la resa di audio registrato ([[
Il W3C ha
== Esempio ==
Questo è un esempio di documento SSML che controlla la generazione dello stesso messaggio in due lingue differenti ([[lingua inglese|inglese americano]] e [[lingua spagnola|spagnolo messicano]]), associate a una scelta:
<
<?xml version="1.0"?>
<speak xmlns="http://www.w3.org/2001/10/synthesis"
Line 50 ⟶ 49:
</s>
</p>
</speak>
</syntaxhighlight>
== Note ==
Line 58 ⟶ 56:
== Bibliografia ==
* {{cita web|url=
== Voci correlate ==
* [[Sintesi vocale]]
* [[VoiceXML]]
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{
* {{
{{Portale|internet}}
[[Categoria:XML|SSML]]▼
[[Categoria:Linguaggi di markup|SSML]]
[[Categoria:Sintesi vocale]]
[[Categoria:
|