SSML: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Evoluzione: Fix link
 
(41 versioni intermedie di 23 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 <ref>{{cita|Speech Synthesis Markup Language (SSML) Version 1.0|1.2, Speech Synthesis Process Steps}}.</ref>:
 
# 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à di resa, indicando direttamente al sistema di sintesi come deve esser resaconvertita la parte specifica: per esempio, consente di indicare se il testo "1/2" deve essere resopronunciato come "''un mezzo''", "''metà''", "''uno di due''", "''uno o due''". Questo è particolarmente utile per le lingue orientali, dove la pronuncia del singolo carattere può cambiare di moltocompletamente in base al contesto o al sistema usato. Un esempio è la [[lingua giapponese]] dove, in caso di ambibuitàambiguità tra [[Kanji]] e [[Kana]], si può indicare tramite il markup indicare la corretta resa fonetica desiderata, per es. se 今日は va pronunciato きょうは ("''kyou wa''" = "''oggi''") o こんにちは ("''konnichiwa''" = "''ciao''").
# 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 enfasi,alcuni pausedi equesti altri elementi di prosodiaparametri.
# Generazione dell'audio: il markup in questa fase consente di controllareselezionare il tipo di voce (maschile, femminile), le sue caratteristiche specifiche del tipo di voce (es. donna giovane, uomo anziano) e anche l'eventuale inserimento di elementi di audio pre-registrato.
 
== 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]], è emersasorta la necessità di estendere e migliorare il controllo tramite markup <ref>[httphttps://www.w3.org/TR/2007/WD-ssml11reqs-20070611/ Speech Synthesis Markup Language Version 1.1 Requirements], D. Burnett e Z. Shuang, World Wide Web Consortium, [[11 giugno]] [[2007]]</ref>.
 
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 ([[Intensità acustica|volume]], velocità, ripetizione continua)
 
Il W3C ha dichiaratopubblicato la versione 1.1 comein fase "raccomandazione candidata" iluna prima volta<ref>[[https://www.w3.org/TR/2008/CR-speech-synthesis11-20081107/ Speech Synthesis Markup Language Version 1.1 - W3C Candidate Recommendation 7th November 2008] paragrafo ''Status of this document''</ref> il 7 novembre [[2008]] e un successivo aggiornamento<ref>[https://www.w3.org/TR/2009/CR-speech-synthesis11-20090827/ Speech Synthesis Markup Language Version 1.1 - W3C Candidate Recommendation 27 August 2009]</ref> il 27 agosto [2008[2009]]: questo significa che per i produttori è già possibile utilizzare il contenuto della specifica per le prime implementazioni di prova. La fase successiva, immediatamente precedente all'approvazione definitiva, prevede il passaggio a "raccomandazione proposta". InTale passaggio, che in base al processo del W3C questosarebbe passaggiopotuto èavvenire previstosolo nondopo primail del27 [[5 gennaio]]novembre [[2009]]<ref>[http://www.w3.org/TR/2008/CR-speech-synthesis11-20081107/, Speechè Synthesisavvenuto Markupil Language7 Versionsettembre 1.1[[2010]] paragrafo ''Status of this document''</ref>.
 
== 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:
 
<sourcesyntaxhighlight lang="xml">
<?xml version="1.0"?>
<speak xmlns="http://www.w3.org/2001/10/synthesis"
Line 50 ⟶ 49:
</s>
</p>
 
</speak>
</syntaxhighlight>
</source>
 
== Note ==
Line 58 ⟶ 56:
 
== Bibliografia ==
* {{cita web|url=httphttps://www.w3.org/TR/speech-synthesis/|titolo=Speech Synthesis Markup Language (SSML) Version 1.01 - W3C Recommendation|lingua=en|data=07-09-2004}}
* {{cita web|url=http://www.w3.org/TR/2008/CR-speech-synthesis11-20081107/|titolo=Speech Synthesis Markup Language (SSML) Version 1.1 - W3C Candidate Recommendation|lingua=en|data=07-11-2008}}
 
== Voci correlate ==
Line 65 ⟶ 62:
* [[VoiceXML]]
 
== CollegamentiAltri esterniprogetti ==
{{interprogetto}}
* {{en}} [http://www.w3c.org Sito ufficiale del W3C]
* {{en}} [http://www.w3.org/Voice/ Gruppo di studio "Voice browser" del W3C]
 
== Collegamenti esterni ==
[[ca:Speech_Synthesis_Markup_Language]]
* {{en}}cita [web|http://www.w3c.org |Sito ufficiale del W3C]|lingua=en}}
[[en:Speech_Synthesis_Markup_Language]]
* {{en}}cita [httpweb|https://www.w3.org/Voice/ |Gruppo di studio "Voice browser" del W3C]|lingua=en}}
[[sv:SSML]]
{{Portale|internet}}
 
[[Categoria:XML|SSML]]
[[Categoria:Linguaggi di markup|SSML]]
[[Categoria:XML|SSMLStandard W3C]]
[[Categoria:Sintesi vocale]]
[[Categoria:EstensioniFormati di file|SSML]]
[[Categoria:formati di file|SSML]]