Debian-Accessibility — Software
Sintesi vocale e relative API
Un elenco completo è disponibile nella pagina sulla sintesi vocale.
EFlite
Server vocale per Emacspeak e yasr (o per altri lettori dello schermo) che permette a questi programmi di interfacciarsi con Festival Lite, un motore da testo a parlato libero sviluppato allo CMU Speech Center da una costola di Festival.
A causa delle limitazioni ereditate dal suo backend attualmente EFLite fornisce il supporto per la sola lingua inglese.
eSpeak
eSpeak/eSpeak-NG è un programma per la sintesi vocale in lingua inglese e in qualche altra lingua.
L'output prodotto da eSpeak è di buona qualità. Utilizza un metodo di
sintesi diverso dagli altri programmi motori TTS (Text To Speach) open source,
non usa una sintesi vocale concatenata e quindi richiede molto spazio in
meno, e il suono è un po' diverso. Forse non è naturale né liscio
ma
le articolazioni sono più chiare e più semplici da ascoltare per lunghi
periodi.
Può essere eseguito dalla riga di comando per riprodurre un un file di
testo o lo stdin. Inoltre funziona anche come Talker
per il sistema
TTS di KDE, per esempio come alternativa a Festival.
Come conseguenza può riprodurre il testo selezionato negli appunti, nel
browser Konqueror o nell'editor Kate.
- Comprende varie voci le cui caratteristiche possono essere variate.
- Può registrare l'output su file WAV.
- Può scomporre il testo in fonemi, quindi può essere usato come interfaccia per altri motori di sintesi vocale.
- Possibilità di riprodurre più lingue. È incluso il supporto rudimentale (e forse ridicolo) per il tedesco e l'esperanto.
- Dimensione compatta. Programma e dati occupano circa 350 kByte.
- Scritto in C++.
eSpeak può essere usato con Speech Dispatcher.
Festival Lite
Un piccolo e veloce motore per la sintesi vocale. È l'ultima aggiunta alla raccolta di strumenti software liberi di sintesi che comprende il Festival Speech Synthesis System dell'università di Edimburgo, il progetto FestVox dell'università Carnegie Mellon, gli strumenti, gli script e la documentazione per creare voci sintetiche. Comunque di per sé flite non richiede nessuno di questi sistemi per funzionare.
Attualmente supporta solo la lingua inglese.
Festival
Un sistema universale di sintesi vocale multi-lingua sviluppato al CSTR (Centro per la Ricerca sulla Tecnologia della Voce) dell'Università di Edimburgo.
Festival offre un sistema da testo a voce completo con molte API ma anche un ambiente per lo sviluppo e la ricerca di tecniche di sintesi vocale. È scritto in C++ con un interprete di comandi basato su Scheme per il controllo generico.
Oltre alla ricerca sulla sintesi vocale festival è utile come programma di sintesi vocale a sé stante, è in grado di riprodurre da un testo un parlato chiaramente comprensibile.
Speech Dispatcher
Fornisce un livello indipendente dal dispositivo per la sintesi vocale. Supporta come backend vari sintetizzatori sia software che hardware e fornisce un livello generale per la sintesi vocale e per la riproduzione di dati PCM tramite i vari backend alle applicazioni.
Diversi concetti evoluti, come la messa in coda in opposizione all'interrupt per l'output della voce e la configurazione delle applicazioni specifica per l'utente, sono implementate in modo da essere indipendenti dal dispositivo e quindi tolgono al programmatore della applicazione il compito di dover nuovamente reinventare la ruota.
Sintesi vocale internazionalizzata
Tutte le attuali soluzioni libere disponibili per la sintesi vocale software sembrano condividere una stessa manchevolezza: sono principalmente limitate all'inglese e forniscono solo un supporto molto marginale alle altre lingue o, nella maggioranza dei casi, addirittura nessuno. Fra tutti i programmi liberi di sintesi vocale per Linux solo CMU Festival supporta in modo nativo più di una lingua, CMU Festival può sintetizzare l'inglese, lo spagnolo e il gallese ma il tedesco non è supportato, il francese non è supportato, il russo non è supportato. In un periodo in cui internazionalizzazione e localizzazione sono di moda nel software e nei servizi web è ragionevole obbligare le persone cieche interessate a Linux a imparare l'inglese solo per comprendere l'output dei loro computer e a gestire tutte le loro comunicazioni in una lingua straniera?
Sfortunatamente la sintesi vocale non è esattamente il progetto favorito di Jane Hacker. La creazione di un sintetizzatore vocale software intellegibile comporta dei compiti che richiedono molto tempo. La sintesi vocale concatenata richiede l'attenta creazione di un database di fonemi che contenga tutte le possibili combinazioni di suoni della lingua da riprodurre. Le regole che determinano la trasformazione della rappresentazione testuale in singoli fonemi necessitano di essere sviluppate e di essere messe a punto, solitamente è necessario dividere il flusso di caratteri in gruppi logici come periodi, frasi e parole e una simile analisi lessicale richiede un dizionario specifico della lingua che raramente è rilasciato con una licenza libera.
Uno dei più promettenti sistemi di sintesi vocale è Mbrola che dispone di database di fonemi per diverse dozzine di lingue diverse. Il software di sintesi è libero, purtroppo è consentito l'uso dei database dei fonemi solo per scopi non-militari e non-commerciali. La mancanza di database dei fonemi liberi ne impedisce l'uso nel contesto del Sistema Operativo Debian.
Senza un software di sintesi vocale ampiamente multi-lingua Linux non può essere accettato dai produttori di tecnologie assistive e dalle persone con disabilità visiva. Come si può risolvere?
Fondamentalmente ci sono due possibili approcci:
- Organizzare un gruppo di persone che hanno la volontà di impegnarsi su questo tema e provare a migliorare la situazione. Questo potrebbe essere un po' complicato dato che sono necessarie molte conoscenze specifiche sulla sintesi vocale che non è semplice acquisire con un approccio da autodidatta, in ogni caso non ci si deve scoraggiare. Se si pensa di poter motivare un gruppo di persone sufficientemente ampio in grado di ottenere dei risultati positivi è preferibile almeno provare a farlo.
- Ottenere finanziamenti e pagare degli istituti che già hanno le conoscenze per creare i necessari database di fonemi e regole lessicali e di trasformazione. Questo approccio ha il vantaggio che ha una probabilità più alta di produrre dei risultati di qualità e li dovrebbe anche ottenere molto prima rispetto al precedente approccio. Ovviamente la licenza sotto cui dovrà essere rilasciato il materiale risultante dovrebbe essere concordata in anticipo e dovrebbe rispettare i requisiti delle DFSG. La soluzione ideale sarebbe senza dubbio convincere alcune università ad affrontare un tale progetto usando fondi propri e a fornire i risultati come contributo alla comunità del Software Libero.
Infine, ma non per questo meno importante, sembra che la maggior parte dei prodotti di sintesi vocale commerciali di maggior successo non utilizzi la sintesi vocale concatenata perché il database dei suoni occupa molto spazio su disco. Questo è un dettaglio molto importante sui piccoli prodotti embedded come i telefoni cellulari. Recentemente è stato rilasciato il software libero eSpeak che utilizza questo approccio. Può essere interessante dargli un'occhiata.
Estensioni di revisione dello schermo per Emacs
Emacspeak
Sistema per output sonoro che permette a chiunque non possa vedere di lavorare direttamente su un sistema UNIX. Una volta avviato Emacs con Emacspeak caricato si ottiene la ripetizione sonora di tutte le operazioni che si compiono. Il miglioramento delle prestazioni varierà a seconda dell'abilità con cui si può usare Emacs, non c'è nulla che non si può fare all'interno di Emacs :-). Questo pacchetto contiene dei server vocali scritti in tcl per supportare i sintetizzatori vocali DECtalk Express e DECtalk MultiVoice, per altri sintetizzatori cercare dei pacchetti separati con server vocali come Emacspeak-ss o eflite.
speechd-el
Client per l'uso di sintetizzatori vocali, display Braille e altre interfacce di output alternative con Emacs. Fornisce un'interfaccia completa per l'output vocale e Braille a Emacs; è particolarmente adatto agli utenti con problemi visivi che hanno bisogno di una comunicazione non-visuale con Emacs ma può essere utilizzato da chiunque abbia la necessità di un output vocale o di qualsiasi altro tipo da Emacs.
Lettori dello schermo per console (modalità testo)
Un elenco completo è disponibile nella pagina sui lettori della console
BRLTTY
Un demone che fornisce l'accesso alla console Linux a una persone cieca tramite un display braille; pilota il terminale braille e permette la completa revisione dello schermo.
I dispositivi Braille che è possibile usare con BRLTTY sono elencati nella documentazione di BRLTTY
BRLTTY fornisce anche una infrastruttura client/server per le applicazioni che vogliono utilizzare un display braille. Il processo demone ascolta le connessioni TCP/IP su una determinata porta. Una libreria condivisa per i client è fornita nel pacchetto libbrlapi, una libreria statica, i file header e la documentazione sono forniti nel pacchetto libbrlapi-dev. Queste funzioni sono usate, per esempio, da Orca per fornire il supporto per i tipi di display che non sono ancora supportati direttamente da Gnopernicus.
Yasr
Lettore universale dello schermo della console per GNU/Linux e altri
sistemi operativi UNIX-like. Il nome yasr
è un acronimo che sta per
Yet Another Screen Reader
(Ancora un Altro Lettore dello Schermo) che
per Your All-purpose Screen Reader
(il Vostro Lettore dello Schermo
Universale).
Attualmente yasr tenta di supportare i sintetizzatori hardware Speak-out, DEC-talk, BNS, Apollo e DoubleTalk. Inoltre è capace di comunicare con i server Emacspeak speech e quindi può essere usato con i sintetizzatori non supportati direttamente come Festival Lite (via eflite) o FreeTTS.
Yasr funziona aprendo uno pseudo-terminale ed eseguendo una shell che
intercetta tutto l'input e l'output. È come se delle sequenze di escape
fossero inviate a una finestra
virtuale contenente quello che crede
essere presente sullo schermo, quindi non usa nessuna delle funzioni
specifiche di Linux e può essere portato su altri sistemi operativi UNIX-like
senza troppi problemi.
Interfacce utente grafiche
L'accessibilità delle interfacce utente grafiche sulle piattaforme UNIX ha avuto una significativa crescita solo recentemente con lo sviluppo di diversi tentativi intorno al Desktop GNOME, in particolare il GNOME Accessibility Project.
Software per l'accessibilità di GNOME
Un elenco completo è disponibile nella pagina sull'accessibilità di Gnome
Assistive Technology Service Provider Interface
Questo pacchetto contiene i componenti di base di GNOME Accessibility, questi permettono ai fornitori di tecnologie assistive come i lettori dello schermo di interrogare tutte le applicazioni in esecuzione sul desktop per avere informazioni sull'accessibilità ma fornisce anche dei meccanismi di collegamento per supportare altri toolkit oltre a GTK.
I collegamenti per il linguaggio Python sono forniti nel pacchetto python-at-spi.
The ATK accessibility toolkit
ATK è un toolkit che fornisce accessibilità alle interfacce delle applicazioni o ad altri toolkit. Con l'implementazione di queste interfacce, di questi altri toolkit o le applicazioni possono essere usate con strumenti come lettori dello schermo, ingranditori e altri dispositivi di input alternativi.
La parte eseguibile di ATK, necessaria per eseguire le applicazioni compilate con questo toolkit, è disponibile nel pacchetto libatk1.0-0. I file di sviluppo di ATK, necessari per compilare i programmi o i toolkit che usano ATK, sono forniti dal pacchetto libatk1.0-dev. I collegamenti per il linguaggio Ruby sono forniti nel pacchetto ruby-atk.
gnome-accessibility-themes
Il pacchetto gnome-accessibility-themes contiene dei temi ad alta accessibilità per l'ambiente desktop GNOME particolarmente adatti per chi ha problemi visivi.
Sono forniti 7 temi, con combinazioni a contrasto alto, basso e inverso, e con testi e icone ingrandite.
gnome-orca
Orca è un lettore dello schermo flessibile ed estendibile che permette di accedere al desktop grafico tramite delle combinazioni personalizzabili dall'utente con voce, braille e/o ingrandimento. Orca è sviluppato dall'Accessibility Program Office della Sun Microsystems, Inc. a partire dal 2004; è stato creato e viene sviluppato grazie ai continui stimoli e incoraggiamenti provenienti dai propri utenti.
Orca può usare Speech Dispatcher per la riproduzione dell'output sonoro all'utente. Come supporto per la visualizzazione braille è usato BRLTTY (in modo da avere un ambiente integrato per la console e l'interfaccia grafica).
Software per l'accessibilità di KDE
Un elenco completo è disponibile nella pagina sull'accessibilità di KDE
kmag
Ingrandisce parti dello schermo, come se si utilizzasse una lente d'ingrandimento per ingrandire delle scritte piccole o una fotografia. Questa applicazione è utile a parecchie persone: dai ricercatori ai disegnatori per il web fino alle persone con problemi visivi.
Metodi di input non-standard
Un elenco completo è disponibile nella pagina sui metodi di input
Dasher
Dasher è una interfaccia per l'inserimento di testo pilotata dai naturali gesti continui di puntamento. Dasher è un sistema di inserimento testo efficace in tutti quei casi in cui una normale tastiera non può essere usata, per esempio:
- su computer palmtop
- su computer indossabili
- quando si usa un computer con una mano, tramite un joystick, un touchscreen, un trackball o un mouse
- quando si usa un computer senza mani (cioè tramite un mouse sulla testa o con un tracciatore degli occhi).
La versione con tracciamento degli occhi di Dasher permette a un utente esperto di scrivere del testo alla stessa velocità della normale scrittura a mano: 25 parole al minuto; usando un mouse gli utenti più esperti possono scrivere fino a 39 parole al minuto.
Dasher usa un algoritmo di predizione più avanzato del sistema T9 usato nei telefoni cellulari rendendolo sensibile al contesto circostante.
Caribou
Caribou è una tecnologia assistiva di input pensata per utenti di puntatori e switch. Fornisce una tastiera su schermo configurabile con modalità di scansione.