speech-dispatcher-cs: Motivace
1.1 Motivace
============
Projekt Speech Dispatcher se snaží poskytnout na zařízení nezávislou
vrstvu pro řečovou syntézu. Měl by poskytovat jednoduché rozhraní pro
klientské aplikace (aplikace, které chtějí mluvit), stejně jako pro
ovladače konkrétních zařízení (různé řečové syntetizéry).
Vysoce kvalitní řečová syntéza je tu již dlouho a nyní je použitelná
i pro běžné uživatele na jejich domácích počítačích. Občas to přichází
jako nutnost, občas je to jen dobrá vlastnost, aby některé programy
poskytovaly řečový výstup. Pro syntézu hlasu je tu široké pole využití
od výukového software až po specializované systémy, jako jsou například
nemocnice či laboratoře. Pro zrakově postižené uživatele je to jedna ze
dvou základních cest, jak získat výstup z počítače (tou druhou je
Braillský řádek).
Existují různé řečové syntetizéry s různými schopnostmi. Některé z
nich jsou hardwarové, některé softwarové. Některé jsou svobodným
software a jsou volně dostupné na internetu. Programátoři to mají
opravdu těžké, když chtějí své programy rozmluvit, protože potřebují
nejprve najít nějaký vhodný syntetizér (dlouhé hodiny experimentování a
tak dále) a potom jej potřebují nějak zprovoznit s jejich programem.
Často musí psát pro tyto programy či hardwarová zařízení vlastní
ovladače a dělají to znovu a znovu. Snadno si lze představit, že se to
celé zhroutí když nevinný uživatel spustí dva programy najednou. Kdyby
přesto nastartovaly oba, budou křičet jeden přes druhého.
Tím je pro programátory velmi obtížné implementovat do svých programů
podporu řečové syntézy (pro nevidomé uživatele, nebo prostě pro lepší
uživatelské rozhraní) a je to jeden z důvodů, proč pořád ještě plně
nevyužíváme toho, co řečová syntéza nabízí.
V ideálním světě by programátoři mohli pro řečovou syntézu používat
podobné příkazy, jako to dělají pro textový výstup na obrazovku (printf,
puts, ...). V ideálním světě by existovalo nějaké speech_printf(),
které by se staralo o to, aby byla zpráva přemluvena ve správný čas bez
přerušování ostatních. Programátor by se tak nemusel starat o to, jak
je přesně komunikace s řečovým syntetizérem implementována. V ideálním
světě by byl v každé GNU/Linuxové distribuci nějaký řečový syntetizér a
nějaké rozhraní starající se o aplikace, které chtějí mluvit, dovolující
uživatelům nastavit si parametry řeči a poskytující nějaké jednoduché
rozhraní (jako speech_printf()) pomocí nějaké sdílené knihovny pro
programátory. Bude to jěště dlouhá cesta než se nám podaří dosáhnout
tohoto stavu věcí, ale se Speech Dispatcherem děláme první krůčky...