Sommario
La resa acustica di un documento, già usata comunemente dalle comunità dei non-vedenti e delle persone che non possono leggere a causa di una disabilità fisica o visiva, combina la sintesi vocale e "icone uditive." Spesso tale presentazione acustica si ottiene convertendo il documento in testo semplice e fornendo tale testo ad un lettore di schermo -- software o hardware che semplicemente legge tutti i caratteri sullo schermo. Ne consegue una minore presentazione effettiva rispetto al caso in cui fosse stata conservata la struttura del documento. Le proprietà dei fogli di stile per la presentazione acustica possono essere usate unitamente con le proprietà visuali (media misti) o come un'alternativa acustica alla presentazione visuale.
A parte gli ovvi vantaggi in fatto di accessibilità, vi sono altri ampi mercati per l'ascolto delle informazioni, inclusi l'uso in auto, i sistemi di documentazione industriale e medica (intranet), l'intrattenimento domestico [home entertainment], e l'aiuto fornito agli utenti che imparano a leggere o che hanno difficoltà nella lettura.
Quando si usano le proprietà acustiche, il canovaccio [canvas, lo spazio in cui la struttura di formattazione è riprodotta] consiste di uno spazio fisico tridimensionale (che circonda il suono) e di uno spazio temporale (si possono specificare i suoni prima, durante e dopo altri suoni). Le proprietà CSS consentono inoltre agli autori di variare la qualità del parlato sintetizzato (tipo di voce, frequenza, modulazione, ecc.).
H1, H2, H3, H4, H5, H6 {
voice-family: paul;
stress: 20;
richness: 90;
cue-before: url("ping.au")
}
P.heidi { azimuth: center-left }
P.peter { azimuth: right }
P.goat { volume: x-soft }
Queste regole istruiranno il sintetizzatore vocale a pronunciare le intestazioni con una voce (una sorta di "font audio") chiamata "paul", con un tono uniforme, ma con voce intensa. Prima che vengano pronunciate le intestazioni, un file audio verrà riprodotto dall'URL dato. I paragrafi con classe "heidi" sembreranno provenire dal davanti, a sinistra (se il sistema è in grado di riprodurre un audio spaziale), e i paragrafi di classe "peter" dalla destra. I paragrafi con classe "goat" saranno molto sommessi.
| Valore: | <number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud | inherit |
| Iniziale: | medium |
| Si applica a: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | in riferimento al valore ereditato |
| Media: | acustico |
Volume si riferisce al volume mediano della forma d'onda [waveform, termine della fisica]. In altri termini, una voce altamente modulata ad un volume di 50 potrebbe alzarsi ben oltre tale punto. I valori complessivi possono essere regolati dagli esseri umani per il comfort, per esempio con un controllo fisico del volume (che aumenterà i valori da 0 a 100 in modo proporzionale); quello che fa questa proprietà è regolare la gamma dinamica.
I valori hanno i seguenti significati:
I programmi utente dovrebbero permettere all'ascoltatore di impostare i valori corrispondenti a '0' e '100'. Nessuna impostazione è universalmente applicabile; i valori adatti dipendono dall'apparecchio in uso (casse acustiche, cuffie audio), dall'ambiente (in auto, in un ambiente di ascolto domestico [home theater], in biblioteca) e dalla preferenze personali. Alcuni esempi:
Il medesimo foglio di stile dell'autore potrebbe essere usato in tutti i casi, semplicemente correlando i punti '0' e '100' in modo conforme al lato client.
Questa proprietà specifica se il testo sarà reso acusticamente e se si, in che modo (qualcosa di analogo alla proprietà 'display'). I possibili valori sono:
Si noti la differenza fra un elemento la cui proprietà 'volume' ha un valore di 'silent' e un elemento la cui proprietà 'speak' ha il valore 'none'. Il primo impiega lo stesso tempo di quello che avrebbe impiegato se fosse stato pronunciato, inclusa ogni pausa prima e dopo l'elemento, ma nessun suono viene generato. Il secondo non richiede tempo e non viene reso (sebbene i suoi discendenti possano essere resi).
| Valore: | <time> | <percentage> | inherit |
| Iniziale: | dipende dal programma utente |
| Si applica a: | tutti gli elementi |
| Ereditata: | no |
| Percentuali: | si veda il testo |
| Media: | acustico |
| Valore: | <time> | <percentage> | inherit |
| Iniziale: | dipende dal programma utente |
| Si applica a: | tutti gli elementi |
| Ereditata: | no |
| Percentuali: | si veda il testo |
| Media: | acustico |
Questa proprietà specifica una pausa da osservare prima (o dopo) la pronuncia del contenuto di un elemento. I valori hanno i seguenti significati:
La pausa è inserita tra il contenuto dell'elemento e ogni contenuto 'cue-before' o 'cue-after'.
Gli autori dovrebbero usare unità relative per creare fogli di stile più robusti di fronte ai grandi cambiamenti nella velocità di pronuncia.
| Valore: | [ [<time> | <percentage>]{1,2} ] | inherit |
| Iniziale: | dipende dal programma utente |
| Si applica a: | tutti gli elementi |
| Ereditata: | no |
| Percentuali: | si vedano le descrizioni di 'pause-before' e 'pause-after' |
| Media: | acustico |
La proprietà 'pause' è una proprietà stenografica [shorthand, o abbreviata] per impostare sia 'pause-before' che 'pause-after'. Se vengono dati due valori, il primo valore è 'pause-before' e il secondo 'pause-after'. Se viene dato un solo valore, si applica a entrambe le proprietà.
H1 { pause: 20ms } /* pause-before: 20ms; pause-after: 20ms */
H2 { pause: 30ms 40ms } /* pause-before: 30ms; pause-after: 40ms */
H3 { pause-after: 10ms } /* pause-before: ?; pause-after: 10ms */
| Valore: | <uri> | none | inherit |
| Iniziale: | none |
| Si applica a: | tutti gli elementi |
| Ereditata: | no |
| Percentuali: | N/A |
| Media: | acustico |
| Valore: | <uri> | none | inherit |
| Iniziale: | none |
| Si applica a: | tutti gli elementi |
| Ereditata: | no |
| Percentuali: | N/A |
| Media: | acustico |
Le icone uditive sono un altro modo per distinguere gli elementi semantici. I suoni possono essere riprodotti prima e/o dopo l'elemento per delimitarlo. I valori hanno i seguenti significati:
A {cue-before: url("bell.aiff"); cue-after: url("dong.wav") }
H1 {cue-before: url("pop.au"); cue-after: url("pop.au") }
| Valore: | [ <'cue-before'> || <'cue-after'> ] | inherit |
| Iniziale: | non definito per le proprietà stenografiche |
| Si applica a: | tutti gli elementi |
| Ereditata: | no |
| Percentuali: | N/A |
| Media: | acustico |
La proprietà 'cue' è una proprietà stenografica per impostare sia 'cue-before' che 'cue-after'. Se vengono dati due valori, il primo valore è 'cue-before' e il secondo 'cue-after'. Se viene dato un solo valore, si applica ad entrambe le proprietà.
Le seguenti due regole sono equivalenti:
H1 {cue-before: url("pop.au"); cue-after: url("pop.au") }
H1 {cue: url("pop.au") }
Se un programma utente non può rendere un'icona uditiva (per esempio l'ambiente dell'utente non lo permette), si raccomanda di produrre un segnale acustico alternativo (ossia tramite una finestra a comparsa di avvertimento, emettendo un suono di avvertimento, ecc.)
Si prega di vedere le sezioni sugli pseudo-elementi :before e :after per informazioni sulle tecniche di generazione dei contenuti.
| Valore: | <uri> mix? repeat? | auto | none | inherit |
| Iniziale: | auto |
| Si applica a: | tutti gli elementi |
| Ereditata: | no |
| Percentuali: | N/A |
| Media: | acustico |
Simile alle proprietà 'cue-before' e 'cue-after', questa proprietà specifica un suono da riprodurre come sottofondo mentre il contenuto di un elemento viene pronunciato. I valori hanno i seguenti significati:
BLOCKQUOTE.sad { play-during: url("violins.aiff") }
BLOCKQUOTE Q { play-during: url("harp.wav") mix }
SPAN.quiet { play-during: none }
L'audio spaziale è un'importante proprietà stilistica per la presentazione acustica. Fornisce un modo naturale per distinguere diverse voci, come nella vita reale (le persone raramente stanno tutte nello stesso punto in una stanza). Le casse di uno stereo producono un piano laterale sonoro. Cuffie audio biauricolari o le sempre più popolari impostazioni a cinque casse degli impianti stereo domestici possono generare un suono pienamente avvolgente, e le impostazioni multi-cassa possono creare un vero e proprio piano sonoro tridimensionale. VRML 2.0 include anche l'audio spaziale, il che implica che allo stato attuale i prezzi al consumo di hardware per l'audio spaziale diventeranno sempre più accessibili.
I valori hanno i seguenti significati:
Questa proprietà potrebbe essere implementata missando lo stesso segnale su differenti canali a volumi differenti. Si potrebbe anche usare uno sfasamento [phase shifting, termine elettronico], un ritardo digitale e altre tecniche del genere per dare l'illusione di un piano sonoro. I mezzi precisi usati per ottenere questo effetto e il numero di casse acustiche usate dipendono dal programma utente; questa proprietà identifica soltanto il risultato finale desiderato.
H1 { azimuth: 30deg }
TD.a { azimuth: far-right } /* 60deg */
#12 { azimuth: behind far-right } /* 120deg */
P.comment { azimuth: behind } /* 180deg */
Se l'azimuth spaziale è specificato e il dispositivo di output non è in grado di produrre suoni dietro la postazione di ascolto, i programmi utente dovrebbero convertire i valori della parte posteriore della semisfera d'ascolto in valori della parte anteriore di tale semisfera. Un metodo è il seguente:
| Valore: | <angle> | below | level | above | higher | lower | inherit |
| Iniziale: | level |
| Si applica a: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | N/A |
| Media: | acustico |
I valori di questa proprietà hanno i seguenti significati:
I mezzi precisi usati per ottenere questo effetto così come il numero di casse acustiche per far ciò non sono definiti. Questa proprietà indentifica soltanto il risultato finale desiderato.
H1 { elevation: above }
TR.a { elevation: 60deg }
TR.b { elevation: 30deg }
TR.c { elevation: level }
| Valore: | <number> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit |
| Iniziale: | medium |
| Si applica a: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | N/A |
| Media: | acustico |
Questa proprietà specifica la velocità del parlato. Si noti che i valori delle parole chiave relativi ed assoluti sono entrambi consentiti (si faccia una comparazione con 'font-size'). I valori hanno i seguenti significati:
| Valore: | [[<specific-voice> | <generic-voice> ],]* [<specific-voice> | <generic-voice> ] | inherit |
| Iniziale: | dipende dal programma utente |
| Si applica a: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | N/A |
| Media: | acustico |
Il valore è un elenco separato da virgola, ordinato secondo priorità, di nomi di famiglia della voce (si faccia una comparazione con 'font-family'). I valori hanno i seguenti significati:
H1 { voice-family: announcer, male }
P.part.romeo { voice-family: romeo, male }
P.part.juliet { voice-family: juliet, female }
I nomi di voci specifiche possono essere racchiusi tra virgolette, e devono invece essere racchiusi tra virgolette se una delle parole che costituiscono il nome non è conforme alle regole sintattiche per gli identificatori. Si raccomanda inoltre di racchiudere fra virgolette le voci specifiche con un nome formato da più di una parola. Se le virgolette sono omesse, tutti i caratteri di spazio bianco prima e dopo il nome sono ignorati e ogni sequenza di caratteri di spazio bianco all'interno del nome viene convertita in un singolo spazio.
| Valore: | <frequency> | x-low | low | medium | high | x-high | inherit |
| Iniziale: | medium |
| Si applica: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | N/A |
| Media: | acustico |
Specifica il grado di intensità medio (una frequenza) della voce parlante. Il grado di intensità medio di una voce dipende dalla famiglia della voce. Per esempio, il grado di intensità medio per una voce standard maschile è intorno ai 120Hz, ma per una voce femminile è intorno ai 210Hz.
Values have the following meanings:
| Valore: | <number> | inherit |
| Iniziale: | 50 |
| Si applica a: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | N/A |
| Media: | acustico |
Specifica la variazione nel grado di intensità medio. Il grado di intensità percepito di una voce umana è determinato dalla frequenza fondamentale e di solito ha un valore di 120Hz per una voce maschile e 210Hz per una voce femminile. Le lingue umane sono parlate con inflessione e grado di intensità vari; queste variazioni aggiungono un significato ed un'enfasi aggiuntivi. Così, una voce molto animata, ossia che ha una forte inflessione, mostra un'ampia gamma di tonalità. Questa proprietà specifica la gamma su cui ricorrono queste variazioni, ossia di qaunto la frequenza fondamentale può deviare dal grado di intensità medio.
I valori hanno i seguenti significati:
Specifica l'altezza dei "picchi locali" nel profilo di intonazione di una voce. Per esempio, l'inglese è una lingua accentata, e a differenti parti di una frase viene assegnato un accento primario, secondario o terziario. Il valore di 'stress' controlla la quantità di inflessione risultante da questi indicatori di accento. Questa proprietà è compagna della proprietà 'pitch-range' e viene fornita agli sviluppatori per sfruttare presentazioni uditive di risultato superiore.
I valori hanno i seguenti significati:
| Valore: | <number> | inherit |
| Iniziale: | 50 |
| Si applica a: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | N/A |
| Media: | acustico |
Specifica la profondità, o vivacità, della voce parlante. Una voce profonda si "protrarrà" in una stanza grande, una voce piana no. (Il termine "piana" si riferisce all'aspetto della forma dell'onda acustica quando viene tracciata.)
I valori hanno i seguenti significati:
Una proprietà aggiuntiva del discorso, speak-header, è descritta nel capitolo sulle tabelle
| Valore: | code | none | inherit |
| Iniziale: | none |
| Si applica a: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | N/A |
| Media: | acustico |
Questa proprietà specifica come viene pronunciata la punteggiatura. I valori hanno i seguenti significati:
| Valore: | digits | continuous | inherit |
| Iniziale: | continuous |
| Si applica a: | tutti gli elementi |
| Ereditata: | si |
| Percentuali: | N/A |
| Media: | acustico |
Questa proprietà controlla il modo in cui vengono pronunciati i numerali. I valori hanno i seguenti significati: