Free(B)Soft DevelDeveloper Section on Free Accessibility Solutions

Speech Dispatcher

Jednotné rozhraní k řečové syntéze

Zodpovědný vývojář:Luke Yelavich <luke.yelavich (at) canonical (dot) com>
On-line dokumentace:/doc/speechd
GIT repozitář:http://git.freebsoft.org/?p=speechd
Poslední verze:0.8 (stáhnout speech-dispatcher-0.8.tar.gz)
Archiv projektu:/pub/projects/speechd

O projektu

Cílem projektu Speech Dispatcher je poskytnout vysokoúrovňovou na zařízení nezávislou vrstvu pro syntézy řeči skrze jednoduché, stabilní a dobře zdokumentované rozhraní.

Klíčové vlastnosti:

  • Jednotnný přístup k různým řečovým syntetizérům
  • Řešení současně přicházejících požadavků na syntézu, umožňující obsloužit řečové výstupy přicházející ve stejný okamžik z více míst v aplikaci a/nebo z více různých aplikací
  • Následná serializace, řešení priorit a konfliktů příchozích řečových zpráv
  • Snadné přepínání kontextů, každé klientské spojení může mít svá vlastní nezávislá nastavení, a to i v rámci jediné aplikace
  • Vysokoúrovňová klientská rozhraní pro populární programovací jazyky
  • Zajištění jednotného zvukového výstupu, přehrávání zvuku je obstaráváno samotným dispečerem namísto omezených možností jednotlivých řečových syntetizérů

Speech Dispatcher je pro řečovou syntézu tím, čím je velmi vysokoúrovňová GUI knihovna pro grafiku. Aplikace nemusí ani komunikovat přímo s koncovými zařízeními ani řešit vícenásobný přístup, zvukový výstup a další problematické aspekty řečové syntézy.

Podporované TTS:

  • Festival
  • Flite
  • Espeak
  • Cicero
  • IBM TTS
  • eSpeak + MBROLA (pomocí generic driveru)
  • Epos (pomocí generic driveru)
  • DecTalk software (pomocí generic driveru)
  • Cepstral Swift (pomocí generic driveru)

Podporované subsystémy pro audio výstup:

Architektura je založena na modelu klient/server. Klienty jsou všechny aplikace v systému, které chtějí mluvit (typicky technologie zpřístupnění). Základní způsob komunikace s dispečerem je přes TCP spojení s využitím Speech Synthesis Interface Protocol (viz dokumentace SSIP). Vysokoúrovňové klientské knihovny implementují tento protokol pro několik populárních programovacích jazyků, čímž je použití zjednodušeno na maximální možnou míru.

Existující klientská rozhraní:

  • C/C++ API
  • Python API
  • Java API
  • Emacs Lisp API
  • Common Lisp API
  • Guile API
  • Jednoduchá klientská aplikace pro příkazový řádek

Zpřístupňující technologie spolupracující se Speech Dispatcherem:

Budoucnost

Současným krátkodobým cílem je zlepšení integrace řečových služeb při provozu v rámci uživatelského sezení. Původní design počítal pouze s provozem v režimu systémové služby.

Déle plánujeme rozdělit implementaci na několik nezávislých vrstev. Rozhraní k zařízením řečových syntezátorů by mělo využívat nového TTS API, které jak doufáme by mělo být standardizováno aby bylo umožněno sdílení ovladačů řečových syntezátorů mezi různými implementacemi řečových služeb.

V této nové verzi rozhraní by byl spojen řečový a braillský výstup tak, aby mohl být koordinován a klientské aplikace nemusely implementovat nízkoúrovňovou synchronizaci samostatně.

Speech Dispatcher by se potom mohl koncentrovat na poskytování vysokoúrovňového API pro aplikace, pokročilejší synchronizaci a správu priorit zpráv, historii a přepínání konfigurace specifické pro jednotlivé klienty. Již jsme v tomto směru vykonali významný díl práce a pokud bude poptávka a zdroje, je tato cesta stále otevřená.

Lidé

Vývojový tým:

Dále přispěli:

  • Lukas Loehrer <listaddr1 at gmx point net> ... výstupní modul pro eSpeak
  • Gary Cramblitt <garycramblitt at comcast point net> ... výstupní modul IBM TTS, ALSA audio výstup
  • Olivier Bert <obert01 at mistigri point org> ... výstupní modul pro Cicero
  • Jacob Schmude <jschmude at adelphia point net> ... konfigurace obecného výstupního modulu pro sw. DecTalk.
  • Steve Holmes <steve at holmesgrown point com> ... vylepšení obecného výstupního modulu
  • Gilles Casse <gcasse at oralux point org> ... PulseAudio výstup
  • Luke Yelavich <themuso at themuseo point com> ... správa vývojové verze
  • C.M. Brannon <cmbrannon at cox dot net> ... opravy chyb
  • Rui Batista <ruiandrebatista at gmail dot com> ... Java klientské API

Dokumentace

Dokumentace je součástí projektu a je šířena společně se zdrojovým kódem.

HTML verzi dokumentace lze prohlížet on-line:

Zdrojový kód

Zdrojový kód je spravován pomocí systému GIT. Můžete je procházet pomocí webového rozhraní GIT, nebo naklonovat z adresy:

git://git.freebsoft.org/git/speechd

Javovské klientské rozhraní je vyvíjeno samostatně. Můžete opět použít webové rozhraní GIT, nebo naklonovat z adresy:

git://git.freebsoft.org/git/speechd-java

Mailing-listy

Pro projekt Speech Dispatcher byl zřízen veřejný mailing-list speechd@lists.freebsoft.org.

Je určen jak pro vývojáře tak pro běžné uživatele. Pokud chcete k vývoji aktivně přispět, navrhnout novou vlastnost, požádat o radu, či pouze chcete být informováni o nejžhavějším dění, neváhejte se přihlásit. Komunikace je vedena v anglickém jazyce.

Můžete také navštívit seznam ostatních mailing-listů projektu Free(b)soft.