Package: speech-dispatcher / 0.8-7

cs-docs.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
Description: upstream forgot to include Czech documentation in the release
Forwarded: not-needed
Source: http://git.freebsoft.org/?p=speechd.git;f=doc/speech-dispatcher-cs.texi;h=2d8264
Index: speech-dispatcher/doc/Makefile.am
===================================================================
--- speech-dispatcher.orig/doc/Makefile.am	2013-03-26 21:27:32.786099155 +1100
+++ speech-dispatcher/doc/Makefile.am	2013-05-01 19:46:48.984867302 +1000
@@ -1,7 +1,7 @@
 
-info_TEXINFOS = ssip.texi speech-dispatcher.texi spd-say.texi
+info_TEXINFOS = ssip.texi speech-dispatcher.texi spd-say.texi speech-dispatcher-cs.texi
 EXTRA_DIST = figures
 
-speech_dispatcher_TEXINFOS = gpl.texi fdl.texi
-speech_dispatcher_cs_TEXINFOS = gpl.texi fdl.texi
+speech_dispatcher_TEXINFOS = gpl.texi fdl.texi speech-dispatcher.texi
+speech_dispatcher_cs_TEXINFOS = gpl.texi fdl.texi speech-dispatcher-cs.texi
 ssip_TEXINFOS = gpl.texi fdl.texi
Index: speech-dispatcher/doc/speech-dispatcher-cs.texi
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ speech-dispatcher/doc/speech-dispatcher-cs.texi	2013-05-01 19:39:03.384883744 +1000
@@ -0,0 +1,889 @@
+\input texinfo   @c -*-texinfo-*-
+@c %**start of header
+@documentencoding ISO-8859-2
+@documentlanguage cs
+@setfilename speech-dispatcher-cs.info
+@settitle Speech Dispatcher
+@finalout
+@c @setchapternewpage odd
+@c %**end of header
+
+@syncodeindex pg cp
+@syncodeindex fn cp
+@syncodeindex vr cp
+
+@include version-2.texi
+
+@dircategory Sound
+@dircategory Development
+
+@direntry
+* Speech Dispatcher cs: (speechd-cs).     Speech Dispatcher (in Czech).
+@end direntry
+
+@titlepage
+@title Speech Dispatcher
+@subtitle Zvldnut Babylonu TTS'
+@subtitle pro Speech Dispatcher @value{VERSION}
+@author Tom@'a@v{s} Cerha <@email{cerha@@brailcom.org}>
+@author Hynek Hanke <@email{hanke@@volny.cz}>
+@author Milan Zamazal <@email{pdm@@brailcom.org}>
+
+@page
+@vskip 0pt plus 1filll
+
+Tento manul se vzathuje ke Speech Dispatcher, verze @value{VERSION}.  Jedn se
+vak pouze o uivatelskou st dokumentace a upozorujeme, e tento peklad ji
+nen aktuln! Poskytujeme jej s tm, e mon bude uiten a to zejmna v
+sekcch, kter popisuj obecn koncepty a mylenky projektu, a to tm, kte si
+nemohou pest anglickou dokumentaci.  Nikdo by nicmn neml spolhat na
+technick detaily zde uveden, protoe mnoho vc je ji dnes jinak.
+
+Copyright @copyright{} 2001, 2002, 2003, 2006 Brailcom, o.p.s.
+
+@quotation
+Dvme povolen koprovat, distribuovat a/nebo modifikovate tento dokument pod
+podmnkami GNU Free Documentation License, Verze 1.2 nebo jakkoliv novj
+verze vydan Free Software Foundation, bez jakchkoliv Invariant Sections
+(nemnnch sekc), bez Front-Cover Texts (texty na pedn stran oblky) a bez
+Back-Cover Texts (texty na zadn stran oblky).  Kopie tto licence je
+piloena v sekci nazvan ,,GNU Free Documentation License''.
+@end quotation
+
+@end titlepage
+
+@ifnottex
+@node Top, vod, (dir), (dir)
+
+Tento manul se vzathuje ke Speech Dispatcher, verze @value{VERSION}.  Jedn se
+vak pouze o uivatelskou st dokumentace a upozorujeme, e tento peklad ji
+nen aktuln!  Poskytujeme jej s tm, e mon bude uiten a to zejmna v
+sekcch, kter popisuj obecn koncepty a mylenky projektu, a to tm, kte si
+nemohou pest anglickou dokumentaci.  Nikdo by nicmn neml spolhat na
+technick detaily zde uveden, protoe mnoho vc je ji dnes jinak.
+
+Copyright @copyright{} 2001, 2002, 2003 Brailcom, o.p.s.
+
+@quotation
+Dvme povolen koprovat, distribuovat a/nebo modifikovate tento dokument pod
+podmnkami GNU Free Documentation License, Verze 1.2 nebo jakkoliv novj
+verze vydan Free Software Foundation; bez jakchkoliv Invariant Sections
+(nemnnch sekc), bez Front-Cover Texts (texty na pedn stran oblky) a bez
+Back-Cover Texts (texty na zadn stran oblky).  Kopie tto licence je
+piloena v sekci nazvan ,,GNU Free Documentation License''.
+@end quotation
+@end ifnottex
+
+@ifhtml
+@heading Menu
+@end ifhtml
+
+@menu
+* vod::                        Co to je Speech Dispatcher
+* Uivatelsk dokumentace::     Pouvn, konfigurace
+
+* GNU General Public License::  Podmnky koprovn Speech Dispatcher
+* GNU Free Documentation License::  Podmnky koprovn tohoto manulu
+
+* Index of Concepts::           
+@end menu
+
+@node vod, Uivatelsk dokumentace, Top, Top
+@chapter vod
+
+@menu
+* Motivace::                    Pro Speech Dispatcher?
+* Zkladn design::             Jak to pracuje?
+* Pehled zkladnch rys::     Co vechno um?
+* Souasn stav::               Jak je souasn stav?
+@end menu
+
+@node Motivace, Zkladn design, vod, vod
+@section Motivace
+@cindex Hlavn mylenky, Motivace
+@cindex Filosofie
+
+Projekt Speech Dispatcher se sna poskytnout na zazen nezvislou vrstvu pro
+eovou syntzu.  Ml by poskytovat jednoduch rozhran pro klientsk aplikace
+(aplikace, kter chtj mluvit), stejn jako pro ovladae konkrtnch zazen
+(rzn eov syntetizry).
+
+Vysoce kvalitn eov syntza je tu ji dlouho a nyn je pouiteln i pro
+bn uivatele na jejich domcch potach.  Obas to pichz jako nutnost,
+obas je to jen dobr vlastnost, aby nkter programy poskytovaly eov
+vstup.  Pro syntzu hlasu je tu irok pole vyuit od vukovho software a
+po specializovan systmy, jako jsou napklad nemocnice i laboratoe.  Pro
+zrakov postien uivatele je to jedna ze dvou zkladnch cest, jak zskat
+vstup z potae (tou druhou je Braillsk dek).
+
+Existuj rzn eov syntetizry s rznmi schopnostmi.  Nkter z nich jsou
+hardwarov, nkter softwarov.  Nkter jsou svobodnm software a jsou voln
+dostupn na internetu.  Programtoi to maj opravdu tk, kdy chtj sv
+programy rozmluvit, protoe potebuj nejprve najt njak vhodn syntetizr
+(dlouh hodiny experimentovn a tak dle) a potom jej potebuj njak
+zprovoznit s jejich programem.  asto mus pst pro tyto programy i hardwarov
+zazen vlastn ovladae a dlaj to znovu a znovu.  Snadno si lze pedstavit,
+e se to cel zhrout kdy nevinn uivatel spust dva programy najednou. Kdyby
+pesto nastartovaly oba, budou kiet jeden pes druhho.
+
+Tm je pro programtory velmi obtn implementovat do svch program podporu
+eov syntzy (pro nevidom uivatele, nebo prost pro lep uivatelsk
+rozhran) a je to jeden z dvod, pro pod jet pln nevyuvme toho, co
+eov syntza nabz.
+
+V idelnm svt by programtoi mohli pro eovou syntzu pouvat podobn
+pkazy, jako to dlaj pro textov vstup na obrazovku (printf, puts, ...).  V
+idelnm svt by existovalo njak speech_printf(), kter by se staralo o to,
+aby byla zprva pemluvena ve sprvn as bez peruovn ostatnch.
+Programtor by se tak nemusel starat o to, jak je pesn komunikace s eovm
+syntetizrem implementovna.  V idelnm svt by byl v kad GNU/Linuxov
+distribuci njak eov syntetizr a njak rozhran starajc se o aplikace,
+kter chtj mluvit, dovolujc uivatelm nastavit si parametry ei a
+poskytujc njak jednoduch rozhran (jako speech_printf()) pomoc njak
+sdlen knihovny pro programtory.  Bude to jt dlouh cesta ne se nm
+poda doshnout tohoto stavu vc, ale se Speech Dispatcherem dlme prvn
+krky...
+
+@node Zkladn design, Pehled zkladnch rys, Motivace, vod
+@section Zkladn design
+@cindex Design
+
+V komunikaci mezi vemi rznmi aplikacemi a syntetizry je obrovsk nepodek.
+Proto jsme chtli, aby byl Speech Dispatcher vrstva oddlujc aplikace a
+syntetizry tak, aby se aplikace nemusely starat o syntetizry a syntetizry se
+nemusely starat o interakci s aplikacemi.
+
+Rozhodli jsme se implementovat Speech Dispatcher jako server, kter pijm od
+aplikac pkazy pes protokol nazvan @code{SSIP}, zpracovv je a, pokud je
+to nutn, zavol pslunou funkci danho vstupnho modulu, kter pak
+komunikuje s nkterm z rznch syntetiztor.
+
+Kad klient (aplikace, kter chce mluvit) oteve socketov spojen na Speech
+Dispatcher a vol funkce jako say(), stop(), pause() poskytovan knihovnou
+implementujc tento protokol.  Tato sdlen knihovna je stle na stran
+klienta a posl Speech Dispatcheru SSIP pkazy pes oteven socket.  Kdy
+pkazy doraz do Dispatchera, ten je zpracuje, pete text, kter by ml bt
+pekn a vlo jej do fronty podle jeho priority.  Potom se rozhodne kdy, s
+jakmi parametry (nastavovanmi klientskm programem i uivatelem) a na jakm
+syntetizru zprvu nech pemluvit.  Tyto poadavky na mluven jsou pak
+zpracovvny vstupnmi moduly (pluginy) pro rzn hardwarov a softwarov
+syntetizry a pekny nahlas.
+
+@image{figures/architecture,155mm,,Architektura Speech Dispatchera}
+
+Detailn popis programovn klient i serveru je k dispozici v anglickm
+manulu.
+
+@node Pehled zkladnch rys, Souasn stav, Zkladn design, vod
+@section Pehled zkladnch rys
+
+Speech Dispatcher z pohledu uivatele:
+
+@itemize @bullet
+@item snadn konfigurace rznch mluvcch aplikac, centrln sprva
+@item monost voln rozhodovat, jak aplikace bude mluvit s jakm syntetizrem
+@item mn asu vnovanho konfiguraci a ladn rznch aplikac vyuvajcch syntzu
+@item historie zprv pro zrakov postien uivatele
+@end itemize
+
+Speech Dispatcher z pohledu programtora aplikace:
+
+@itemize @bullet
+@item snadn cesta, jak aplikaci rozmluvit
+@item jednotn rozhran k rznm syntetizrm
+@item synchronizace zprv na vy rovni (kategorizace pomoc priorit)
+@item monost nemuset se starat o konfiguraci parametr hlasu
+@end itemize
+
+@node Souasn stav,  , Pehled zkladnch rys, vod
+@section Souasn stav
+@cindex Syntetizry
+@cindex Ostatn programy
+
+TODO:
+
+@node Uivatelsk dokumentace, GNU General Public License, vod, Top
+@chapter Uivatelsk dokumentace
+
+@menu
+* Zkladn funkce::             Detailnj popis vech zkladnch funkc
+* Spoutn::                   Volby pkazov dky
+* Konfigurace::                 Jak zkonfigurovat Speech Dispatcher
+@end menu
+
+@node Zkladn funkce, Spoutn, Uivatelsk dokumentace, Uivatelsk dokumentace
+@section Zkladn funkce
+
+V tto sekci je detailnj popis zkladnch funkc Speech Dispatcheru.
+
+@menu
+* Model priorit zprv::         Zpracovn souasn pchozch zprv  
+* Historie zprv::              Ukldn zprv pro pozdj nahldnut
+* Vce vstupnch modul::      Interakce s rznmi syntetizry  
+* Autentifikace uivatel::     Autentifikace pro pstup k historii  
+@end menu
+
+@node Model priorit zprv, Historie zprv, Zkladn funkce, Zkladn funkce
+@subsection Model priorit zprv
+@cindex priority
+
+Speech Dispatcher neme syntetizovat vechny zprvy, kter do nj pichz z
+prostho dvodu, e zprvy pichzej obyejn rychleji, ne je syntetick hlas
+doke st.  Na obrazovce monitoru je v porovnn s jednokanlovm eovm
+vstupem relativn hodn msta.  Z toho dvodu pouvme systm nkolika
+priorit zamench na rzn typy zprv.
+
+Mylenka je takov, e lohou programtora klientsk aplikace bude pouze urit
+pro kadou zprvu uritou prioritu odpovdajc typu dan zprvy.  Veker
+synchronizace a pepnn mezi tmito zprvami (kter mohou pochzet od rznch
+klient) potom bude zajitno aplikovnm uritch pravidel ve Speech
+Dispatcheru.
+
+@menu
+* Typy priorit::                
+* Diagram priorit::             
+* Pklady vyuit priorit::    
+@end menu
+
+@node Typy priorit, Diagram priorit, Model priorit zprv, Model priorit zprv
+@subsubsection Priority Categories
+                  
+Speech Dispatcher poskytuje systm pti priorit.  Kad zprva obsahuje bu
+explicitn informaci o priorit, nebo j je piazena vchoz priorita.
+
+Prosm podvejte se tak na piloen diagram (dole).
+
+@subsubheading Priorita @code{important}
+@cindex Priorita important
+
+Tato zprva bude pekna okamit, jak doraz do serveru.  Nen nikdy
+peruena.  Kdy server obdr souasn nkolik rznch zprv tto priority, ty
+jsou uloeny a pekny v poad, ve kterm pily.
+
+Kdy pijde nov zprva priority @code{important} a zrovna se k njak jin
+zprva, tato jin zprva je zahozena.  Dal zprvy nich priorit jsou bu
+pozdreny (priorita @code{message} a @code{text}) ne ji neekaj na pekn
+dn zprvy priority @code{important}, nebo jsou zahozeny (priority
+@code{notification} a @code{progress}).
+
+Tyto zprvy by mly bt tak krtk, jak je to jen mon, a mly by bt
+pouvny pouze zdka, protoe blokuj vstup vech ostatnch zprv.
+
+@subsubheading Priorita @code{message}
+@cindex Priorita message
+
+Tato zprva bude pekna, pokud ji ve front neek dn jin zprva
+priority @code{important} nebo @code{message}.  V opanm ppad je tato
+zprva pozdrena dokud nebudou vechny pekny.  To znamen, e priorita
+@code{message} nezastavuje sama sebe.  Kdy ve front ekaj zprvy priorit
+@code{notification} nebo @code{progress} nebo @code{text} kdy pijde zprva
+priority @code{message}, jsou zahozeny.
+
+@subsubheading Priorita @code{text}
+@cindex Priorita text
+
+Tato zprva bude pekna, kdy ve front neek dn zprva priority
+@code{important} nebo @code{message}.  Pokud ek, tato nov zprva je
+pozdrena dokud nebudou pedchoz zprvy pekny.
+
+Priorita text perquuje sama sebe.  To znamen, e kdy pijde nkolik zprv
+priority text, ty nejsou pekny v poad, ve kterm pily, ale bude vyena
+pouze posledn z nich a ostatn jsou perueny a zahozeny.
+
+Pokud jsou ve front zprvy priorit @code{notification} nebo @code{progress}
+nebo se prv pekvaj, jsou zahozeny.
+
+@subsubheading Priorita @code{notification}
+@cindex Priorita notification
+
+Toto je zprva nzk priority.  Pokud ve front ekaj zprvy priorit
+@code{important}, @code{messages}, @code{text} nebo @code{progress} nebo jsou
+prv pekvny, tato nov zprva priority @code{notification} je zruena.
+
+Tato priorita peruuje sama sebe, take kdy pijde najednou vce zprv s
+prioritou @code{notification}, pek se pouze posledn z nich.
+
+@subsubheading Priority @code{progress}
+
+Toto je speciln priorita pro zprvy, kter pichzej krtce po sob a nesou
+informaci o njak probhajc innosti (nap.@ @code{Dokoneno 45%}).
+
+Kdyby nov zprvy peruovaly ostatn (viz. priorita Notification), uivatel by
+nemusel slyet ani jednu zprvu do konce.
+
+Tato priorita se chov stejn jako @code{notification} s vjimkou dvou vc.
+
+@itemize
+@item
+Zprvy tto priority neperuuj jedna druhou.  Msto toho, pokud je zrovna
+pekvna jin zprva tto priority, nov pchoz zprva je zahozena.
+@item
+Speech Dispatcher se sna detekovat posledn zprvu v srii pchozch zprv a
+zaruit jej pekn (pro uivatele je dleit slyet zprvu @code{Completed
+100%}, aby vdl, e proces ji skonil).  Vdy, kdy ve front ji neek
+dn nov zprva tto priority a posledn pchoz zprva jet nebyla
+pekna, je jej pekn vynuceno s prioritou @code{message}.
+@end itemize
+
+@node Diagram priorit, Pklady vyuit priorit, Typy priorit, Model priorit zprv
+@subsubsection Diagram priorit
+
+@image{figures/priorities,,,Speech Dispatcher architecture}
+@c TODO: Generate a pdf version. (Why? -- Hynek Hanke)
+
+@node Pklady vyuit priorit,  , Diagram priorit, Model priorit zprv
+@subsubsection Pklady vyuit priorit
+
+Pklady pouit priority @code{important} jsou:
+ 
+@itemize
+@item chybov hlky
+@item velmi dleit zprvy
+@item ...
+@end itemize
+
+Pklady pouit priority @code{message} jsou:
+
+@itemize
+@item bn zprvy programu
+@item varovn
+@item ...
+@end itemize
+
+Pklady pouit priority @code{text} jsou:
+
+@itemize
+@item text, na kterm uivatel pracuje
+@item pedtan text
+@item poloky menu
+@item ...
+@end itemize
+
+Pklady pouit priority @code{notification} jsou:
+
+@itemize
+@item mn dleit informace
+@item psmenka pi vkldn
+@item run-time npovda
+@item ...
+@end itemize
+
+Pklady pouit priority @code{progress} jsou:
+
+@itemize
+@item ``dokoneno 15%'', ``dokoneno 16%'', ``dokoneno 17%''
+@item ``Natm zvuky'', ``Natm grafiku'', ``Natm ai'', ...
+@end itemize
+
+@node Historie zprv, Vce vstupnch modul, Model priorit zprv, Zkladn funkce
+@subsection Historie zprv
+@cindex history
+
+Pro nevidom a zrakov postien je dobrou vlastnost, pokud maj monost
+njakm jednoduchm klientem prochzet historii vyslovench zprv.
+
+Nkter mn dleit zprvy jsou pijmuty Speech Dispatcherem bez toho, aby
+byly pekny, protoe jsou potlaeny dleitjmi informacemi.  To je
+nedliteln vlastnost kadho eovho rozhran, protoe nen mon podat v
+eovm vstupu tolik informac, kolik se jich vejde na obrazovku.  To je jeden
+z hlavnch dvod, pro je vhodn udrovat historii pijatch zprv, aby se
+mohl uivatel podvat, zda mu neulo nco dleitho.
+
+@menu
+* Pstupov prva::            Pstupov prva k historii zprv
+@end menu
+
+@node Pstupov prva,  , Historie zprv, Historie zprv
+@subsubsection Access Rights
+@cindex access rights
+
+Aby bylo ochrnno soukrom uivatel, Speech Dispatcher omezuje pstup k
+historii na uritou podmnoinu pijatch zprv.  Plat nsledujc pravidla:
+
+@itemize @bullet
+@item
+Vechny zprvy pijat od uritho klientskho spojen jsou tomuto spojen
+pstupny i v historii.
+
+@item
+Vechny zprvy odeslan uritm uivatelem jsou tomuto uivateli pstupny i v
+historii.
+
+@item
+@cindex @code{speechd} uivatel
+@cindex @code{speechd} skupina
+Vechny zprvy zaslan uivatelem @code{speechd} jsou pstupny vem uivatelm
+na danm systmu, pod kterm b Speech Dispatcher ve skupin @code{speechd}.
+
+@item
+dn dal zprvy nejsou pstupn.
+@end itemize
+
+Dv zprvy jsou povaovny za identick jestlie jejich spojen pochzej z
+toho samho potae, uivatelsk jmna jsou stejn a jejich identita me bt
+ovena, jak je popsno v @ref{Autentifikace uivatel}.  Pokud neme bt
+uivatelova identita ovena, tento uivatel je povaovn za jinho ne vichni
+pipojen nebo dve pipojen uivatel.
+
+@node Vce vstupnch modul, Autentifikace uivatel, Historie zprv, Zkladn funkce
+@subsection Vce vstupnch modul
+@cindex vstupn modul
+@cindex syntetiztory
+
+Speech Dispatcher podporuje soubn pouvn vce vstupnch modul.  Pokud
+tyto moduly poskytuj dobrou synchronizaci, lze je pi ten zprv kombinovat.
+Pokud nap. modul1 mluv anglicky a esky, zatmco modul2 mluv pouze nmecky,
+tak pokud pijde njak zprva v nmin, pouije se modul2, zatmco pro
+ostatn jazyky se pouije modul1.  Na druh stran jazyk nen jedinm kritriem
+pro takov rozhodnut.  Pesn pravidla pro vbr vstupho modulu mohou bt
+ovlivnna v konfiguranm souboru @file{speechd.conf}.
+
+@node Autentifikace uivatel,  , Vce vstupnch modul, Zkladn funkce
+@subsection Autentifikace uivatel
+@cindex Identification Protocol
+@cindex identd
+@cindex RFC 1413
+
+NOTE: Na implementaci tto vlastnosti se pracuje, ale souasn verze ji
+nepodporuje.
+
+Speech Dispatcher neposkytuje dn explicitn autentifikan mechanismus.  K
+oven identity uivatl pouvme Identification Protocol definovan v RFC
+1413.
+
+@cindex mapovn uivatl
+V konfiguraci je mon specifikovat mapovn uivatel. To umouje jednat s
+uritmi uivateli jako s jednm a pidlit jim stejn prva (nap. prochzet
+jejich @ref{Historie zprv}).
+
+@node Spoutn, Konfigurace, Zkladn funkce, Uivatelsk dokumentace
+@section Invoking
+
+@subsection Potebn privilegia
+
+Speech Dispatcher me bt obecn spoutn pod obyejnm uivatelem.  Snaili
+jsme se jej zabezpeit, jak jen to bylo mon, ale nejsme odbornky na
+potaovou bezpenost a kd me obsahovat nebezpen chyby.  Nedoporuujeme
+jej spoutt jako root nebo pod jinm vysoce privilegovanm uivatelem.
+
+Jedin omezen jsou tyto:
+
+@itemize
+@item
+Speech Dispatcher vytv PID file standardn ve
+@file{/var/run/speech-dispatcher.pid}, take @file{/var/run/} mus bt danmu
+uivateli pstupn k zpisu.  To me bt zmnno nastavenm volby
+@code{pidpath} pi voln skriptu @code{./configure} pi kompilaci.
+@item
+Kdy je zapnuto logovn, vchoz cesta, kam Speech Dispatcher zapisuje svj
+log, je @file{/var/log/speech-dispatcher.log}.  To ale me bt kdykoliv
+penastaveno v hlavnm konfiguranm souboru.
+@end itemize
+
+@subsection Volby pkazov dky
+
+Speech Dispatcher me bt sputn s tmito volbami:
+
+@code{speech-dispatcher [-@{d|s@}] [-l @{1|2|3|4|5@}] [-p=port] | [-v] | [-h]}
+
+@table @code
+@item -d or --run-daemon
+Spust program jako dmona (b v pozad, odpoj se od terminlu, atd.)  Toto
+je vchoz chovn.
+
+@item -s or --run-single
+Spust program jako bnou aplikaci bc na poped.
+
+@item -l level or --log-level=level
+Vybere poadovan logovac rove. Logovac rove je slo mezi 0 a 5 (0
+znamen neloguj nic, 5 znamen zapisuj tm ve vetn zpracovvanho textu.)
+Standardn je 3. @xref{rovn logovn}.
+
+Logovac rove 5 by nemla bt pouvna k jinm elm, ne pro hledn chyb
+a to pouze krtkodob.  Logy, kter produkuje mohou narst do obrovsk
+velikosti a obsahuj text ten uivateli nezvisle na rznch pstupovch
+prvech, jak plat pro historii.  Spoutt server s touto rovn logovn tedy
+me snadno vst k naruen soukrom.
+
+@item -p or --port
+Zad port, na kterm by ml server ekat na klienty.  Vchoz je 6560.
+
+@item -v or --version
+Vype informace o verzi Speech Dispatchera.  Tak oznm zkladn informace o
+copyrightu.
+
+@item -h or --help
+Vype npovdu o volbch pkazov dky, upozornn o copyrightu
+a emailovou adresu pro zasln oznmen o chybch.
+@end table
+
+
+@node Konfigurace,  , Spoutn, Uivatelsk dokumentace
+@section konfigurace
+@cindex konfigurace
+
+Speech Dispatcher me bt konfigurovn na nkolika rznch rovnch.  Jedna z
+nich je nastavovn globlnch parametr pes serverov konfiguran soubor.
+Je zde i podpora pro konfiguraci specifickou pro urit klienty.
+
+Nkter aplikace maj vlastn mechanismus nastavovn voleb souvisejcch s
+eovou syntzou.  Pro detaily o tchto nastavench se prosm podvejte do
+dokumentace danho programu.
+
+Nsledujc kapitoly se zabvaj pouze konfigurac na stran serveru pes
+konfiguran soubor.
+
+@menu
+* Syntaxe konfiguranho souboru::  
+* Volby v konfiguraci::         
+* Nastaven vstupnch modul::  
+* rovn logovn::             
+@end menu
+
+@node Syntaxe konfiguranho souboru, Volby v konfiguraci, Konfigurace, Konfigurace
+@subsection Syntaxe konfiguranho souboru
+
+Pro natn configurace zaloen na textovch souborech pouvme knihovnu
+DotConf, take bude syntaxe nejsp mnoha uivatelm povdom.
+
+Kad z etzcovch konstant, pokud nen uvedeno jinak, by mla bt zakdovna
+v UTF-8.  Jmna voleb nepouvaj jin znaky ne standardn ASCII sadu omezenou
+na znaky (@code{a}, @code{b}, ...), pomlky (@code{-}) a podtrtka @code{_}.
+
+Komente a doasn neaktivn volby zanaj znakem @code{#}.  Pokud chcete
+takovu volbu zapnout, sta smazat znak komente a nastavit volbu na
+poadovanou hodnotu.
+@example
+# toto je komentar
+# InactiveOption "tato volba je zatim vypla komentarem"
+@end example
+
+etzce jsou uzaveny v uvozovkch.
+@example
+LogFile  "/var/log/speech-dispatcher.log"
+@end example
+
+sla jsou zapsna bez uvozovek.
+@example
+Port 6560
+@end example
+
+Pepnae pouvaj On (zapnuto) a Off (vypnuto).
+@example
+Debug Off
+@end example
+
+@node Volby v konfiguraci, Nastaven vstupnch modul, Syntaxe konfiguranho souboru, Konfigurace
+@subsection Configuration options
+
+Vechny dostupn volby jsou zdokumentovny pmo v konfiguranm souboru a jsou
+k nim uvedeny i pklady. Vtina voleb je nastavena na vchoz hodnotu a
+zakomentovna.  Pokud je chcete zmnit, posta modifikovat jejich hodnotu a
+smazat symbol komente @code{#}.
+
+@node Nastaven vstupnch modul, rovn logovn, Volby v konfiguraci, Konfigurace
+@subsection Output Modules Configuration
+
+Kad uivatel by si ml zapnout ve sv konfiguraci alespo jeden vstupn
+modul, pokud chce, aby Speech Dispatcher produkoval njak zvukov vstup.
+Kdy nen naten dn vstupn modul, Speech Dispatcher sice nastartuje, bude
+komunikovat s klienty a logovat zprvy do historie, ale nebude produkovat dn
+zvuk.
+
+Kad vstupn modul je teba do Speech Dispatchera nathnout jednou dkou
+``AddModule'' v @file{etc/speechd.conf}.  Navc, kad vstupn modul m
+piazen vlastn konfiguran soubor.
+
+@menu
+* Natahovn modul ve speechd.conf::  
+* Konfiguran soubory vstupnch modul::  
+* Konfigurace generickho vstupnho modulu::  
+@end menu
+
+@node Natahovn modul ve speechd.conf, Konfiguran soubory vstupnch modul, Nastaven vstupnch modul, Nastaven vstupnch modul
+@subsubsection Natahovn modul ve speechd.conf
+
+@anchor{AddModule} Kad modul, kter by se ml spustit pi startu Speech
+Dispatchera, mus bt nataen pkazem @code{AddModule} v konfiguraci.
+Vimnte si, e lze nathnout jeden binrn modul vcekrt s rznmi
+konfiguranmi soubory a pod jinmi jmny.  To je uiten hlavn pro
+natahovn generickch vstupnch modul.  @xref{Konfigurace generickho
+vstupnho modulu}.
+
+@example
+AddModule "@var{module_name}" "@var{module_binary}" "@var{module_config}"
+@end example
+
+@var{module_name} je jmno danho vstupnho modulu.
+
+@var{module_binary} je jmno binrnho spustitelnho souboru tohoto vstupnho
+modulu.  To me bt bu cesta absolutn nebo relativn k
+@file{bin/speechd-modules/}.
+
+@var{module_config} je soubor s konfigurac pro tento konkrtn vstupn modul.
+Cesta me bt absolutn i relativn k @file{etc/speech-dispatcher/modules/}.
+Tento parametr je voliteln (nen teba jej uvdt).
+
+@node Konfiguran soubory vstupnch modul, Konfigurace generickho vstupnho modulu, Natahovn modul ve speechd.conf, Nastaven vstupnch modul
+@subsubsection Konfiguran soubory vstupnch modul
+
+Kad vstupn modul je odlin a proto m odlin volby v konfiguraci.  Prosm
+prostudujte si komente v danm konfiguranm souboru.  Zde je popsno pouze
+nkolik voleb, kter jsou pro nkter vstupn moduly spolen.
+
+@table @code
+@item AddVoice "@var{language}" "@var{symbolicname}" "@var{name}"
+@anchor{AddVoice}
+
+Kad vstupn modul poskytuje njak hlasy a nkdy dokonce podporuje rzn
+jazyky.  Z toho dvodu byl zaveden spolen mechanismus, kterm mou bt tyto
+hlasy definovny v konfiguraci.  dn modul ovem nen povinen tuto volbu
+pouvat.  Nkter syntetiztory, nap. Festival, podporuj symbolick jmna
+SSIP pmo, take konfigurace konkrtnch hlas se provd v syntetiztoru
+samotnm.
+
+Kadmu definovanmu hlasu odpovd pesn jedna dka @code{AddVoice}.
+
+@var{language} je ISO kd jazyka tohoto hlasu (en, cs, de, ...)
+
+@var{symbolicname} je symbolick jmno, pod kterm chcete, aby byl tento hlas
+dostupn.  @xref{Standardn hlasy}, pro seznam symbolickch jmen, kter mete
+pout.
+
+@var{name} je jmno specifick pro dan vstupn modul.  Prosm podvejte se na
+komente v pslunm konfiguranm souboru v sekci AddModule pro detailnj
+informace.
+
+Nap. definice, kterou v souastnosti pouvme pro Epos (generic) vypad
+takto:
+
+@example
+        AddVoice        "cs"  "male1"   "kadlec"
+        AddVoice        "sk"  "male1"   "bob"
+@end example
+
+@item ModuleDelimiters "@var{delimiters}", ModuleMaxChunkLength @var{length}
+
+asto se vstupn modul nesna vysyntetizovat cel pchoz text najednou, ale
+msto toho jej nejprve rozee na men kousky (vty, sti vt) a ty potom
+postupn odesl na syntzu.  Tento pstup, vyuvan nktermi vstupnmi
+moduly, je mnohem rychlej, ale na druh stran zase limituje schopnost
+syntetizru poskytnout dobrou intonaci.
+
+Z toho dvodu mte obyejn monost zkonfigurovat si na jakch znacch
+(@var{delimiters}) by se ml text rozdlit na men sti (pokud jsou
+nsledovny njakm whitespace znakem).  Druh volba (@var{length}) udv, po
+kolika znacch by se ml text nsiln rozdlit, pokud nebyl nalezen dn
+delimiter.
+
+Pokud tato dv pravidla zpsnte, dostanete lep rychlost, ale vzdte se
+urit sti kvality intonace.  Take napklad pro pomalej potae
+doporuujeme do @var{delimiters} vloit i rku (,), aby byl text rozdlen i na
+stech vty, zatmco na rychlejch potach je lep tam rku nedvat,
+take do syntetizru vdy doraz cel souvt.
+
+To sam plat o @code{MaxChunkLength}. Pro rychlej potae
+je lep nastavit vt hodnotu.
+
+Napklad vchoz hodnoty ve vstupnm modulu pro Festival jsou:
+
+@example
+    FestivalMaxChunkLength  300
+    FestivalDelimiters  ".?!;,:"
+@end example
+
+Vstupn modul se me tak rozhodnout dlit vty na delimiters pouze pokud ty
+jsou nsledovny mezerou.  Take napklad ``file123.tmp'' by rozdleno nebylo,
+ale vta ``The horse raced around the fence, that was lately painted green,
+fell.''  by rozdlena byla (to je mimochodem velmi zajmav vta).
+@end table
+
+@node Konfigurace generickho vstupnho modulu,  , Konfiguran soubory vstupnch modul, Nastaven vstupnch modul
+@subsubsection Konfigurace generickho vstupnho modulu
+
+Generick vstupn modul uivatelm dovoluje jednodue si napsat vlastn
+jednoduch vstupn modul pro syntetizry, kter maj rozhran ve form
+jednoduchho dkovho klienta, pouze modifikac konfiguranho souboru.  Tmto
+zpsobem nemus pst dn specifick kd v C a uivatel si mohou pidvat
+podporu pro vstupn zazen i kdy neum programovat.  @xref{AddModule}.
+
+Klov st kadho generickho vstupnho modulu je definice etzce, kter
+se m spoutt.
+
+@defvr {Konfigurace generickho modulu} GenericExecuteSynth "@var{execution_string}"
+
+@code{execution_string} je pkaz, kter by ml bt zavoln v shellu, kdy je
+poteba nco ct.  Ve skutenosti to me bt vce jak jeden pkaz, dohromady
+zetzen opertorem @code{&&}.  Kdy bude vstupn modul chtt pekvn
+zprvy zastavit, zale tmto procesm signl KILL, take je dleit, aby
+pouit pkazy po obdren KILL okamit pestaly mluvit. (Na vtin
+GNU/Linuxovch systm m tuto vlastnost utilita @code{play})
+
+V @code{execution_string} mete vyut tchto promnnch, kter budou
+nahrazeny poadovanmi hodnotami, ne bude pkaz vykonn.
+
+@itemize
+@item @code{$DATA}
+Text, kter by ml bt pekn.  Znaky etzce, kter by njak interferovali
+se zpracovnm v bashi budou automaticky nahrazeny odpovdajcmi escape
+sekvencemi.  Asi bude ale nutn uvst kolem tto promnn uvozovky
+(nap. takto: @code{\"$DATA\"}).
+@item @code{$LANG}
+Identifikan etzec jazyka (ten je definovn pomoc GenericLanguage).
+@item @code{$VOICE}
+Identifikan etzec hlasu (ten je definovn pomoc AddVoice).
+@item @code{$PITCH}
+Poadovan vka hlasu (desetinn slo definovan v GenericPitchAdd a v
+GenericPitchMultiply)
+@item @code{$RATE}
+Poadovan rychlost hlasu (desetinn slo definovan v GenericRateAdd a v
+GenericRateMultiply)
+@end itemize
+
+Tady je pklad z @file{etc/speech-dispatcher/modules/epos-generic.conf}
+@example
+GenericExecuteSynth \
+"epos-say -o --language $LANG --voice $VOICE --init_f $PITCH --init_t $RATE \
+\"$DATA\" | sed -e s+unknown.*$++ >/tmp/epos-said.wav && play /tmp/epos-said.wav >/dev/null"
+@end example
+@end defvr
+
+@defvr {Konfigurace generickho modulu} AddVoice "@var{language}" "@var{symbolicname}" "@var{name}"
+@xref{AddVoice}.
+@end defvr
+
+@defvr {Konfigurace generickho modulu} GenericLanguage "iso-code" "string-subst"
+
+Definuje, jak etzec @code{string-subst} by ml bt nahrazen za @code{$LANG}
+pro dan @code{iso-code} ISO kd jazyka.
+
+Opt pklad z Epos generic:
+@example
+GenericLanguage "en" "english"
+GenericLanguage "cs" "czech"
+GenericLanguage "sk" "slovak"
+@end example
+@end defvr
+
+@defvr {Konfigurace generickho modulu} GenericRateAdd @var{num}
+@end defvr
+@defvr {Konfigurace generickho modulu} GenericRateMultiply @var{num}
+@end defvr
+@defvr {Konfigurace generickho modulu} GenericPitchAdd @var{num}
+@end defvr
+@defvr {Konfigurace generickho modulu} GenericPitchMultiply @var{num}
+Tyto parametry nastavuj konverzi pro vpoet rychlosti a vky.
+(@code{$RATE} a @code{$PITCH}). 
+
+Vsledn rychlost (nebo vka) je dna nsledujcm vzorcem:
+@example
+   (speechd_rate * GenericRateMultiply) + GenericRateAdd
+@end example
+kde speechd_rate je hodnota mezi -100 (nejni) a +100 (nejvy).  Je teba
+definovat njakou rozumnou konverzi pro dan syntetizr.
+
+(Hodnoty v GenericNcoMultiply jsou vynsobeny stem, protoe stvajc verze
+DotConfu nepodporuje desetinn sla.  Mete tedy pst 0.85 jako 85 atd.)
+@end defvr
+
+@node rovn logovn,  , Nastaven vstupnch modul, Konfigurace
+@subsection rovn logovn
+
+Ve Speech Dispatcheru je 6 rznch rovn logovn.  0 znamen dn logovn,
+zatmco 5 znamen vypisovat tm vechny dostupn informace.
+
+@itemize @bullet
+
+@item rove 0
+@itemize @bullet
+@item dn informace
+@end itemize
+
+@item rove 1
+@itemize @bullet
+@item Informace o startu a vypnn.
+@end itemize
+
+@item rove 2
+@itemize @bullet
+@item Informace o chybch, kter nastaly.
+@item Alokace a uvolovn zdroj pi startu a pi exitu.
+@end itemize
+
+@item rove 3
+@itemize @bullet
+@item Informace o pijmn/odeprn/zavrn klientskch spojen.
+@item Informace o neplatnch SSIP pkazech od klient.
+@end itemize
+
+@item rove 4
+@itemize @bullet
+@item Je vypisovn kad pijat pkaz
+@item Informace o zpracovvn vstupu
+@item Informace o ukldn zprv do front
+@item Informace o fungovn historie, zvukovch ikon, atd.
+facilities.
+@item Informace o prci vlkna speak()
+@end itemize
+
+@item rove 5
+(Ta slou pouze pro ladc ely a me vypisovat opravdu *mnoho*
+dat. Pouvejte opatrn.)
+@itemize @bullet
+@item Vechna obdren data jsou vypisovna (zprvy od klient)
+@item Ladc informace.
+@end itemize
+@end itemize
+
+@appendix Standardn hlasy
+@anchor{Standardn hlasy}
+
+@table @code
+@item MALE1
+@item MALE2
+@item MALE3
+@item FEMALE1
+@item FEMALE2
+@item FEMALE3
+@item CHILD_MALE
+@item CHILD_FEMALE
+@end table
+
+Skuten dostupnost tchto hlas nen zaruena, ale pkaz @code{SET SELF
+VOICE} mus akceptovat jakkoliv z nich.  Pokud nen dan hlas dostupn, je
+mapovn na jin hlas vstupnm modulem.
+
+@node GNU General Public License, GNU Free Documentation License, Uivatelsk dokumentace, Top
+@appendix GNU General Public License
+@center Version 2, June 1991
+@cindex GPL, GNU General Public License
+
+@include gpl.texi
+
+
+@node GNU Free Documentation License, Index of Concepts, GNU General Public License, Top
+@appendix GNU Free Documentation License
+@center Version 1.2, November 2002
+@cindex FDL, GNU Free Documentation License
+
+@include fdl.texi
+
+@node Index of Concepts,  , GNU Free Documentation License, Top
+@unnumbered Index of Concepts
+
+@cindex tail recursion
+@printindex cp
+
+@bye
+
+@c  LocalWords:  texinfo setfilename speechd settitle finalout syncodeindex pg
+@c  LocalWords:  setchapternewpage cp fn vr texi dircategory direntry titlepage
+@c  LocalWords:  Cerha Hynek Hanke vskip pt filll insertcopying ifnottex dir fd
+@c  LocalWords:  API SSIP cindex printf ISA pindex Flite Odmluva FreeTTS TTS CR
+@c  LocalWords:  src struct gchar gint const OutputModule intl FDSetElement len
+@c  LocalWords:  fdset init flite deffn TFDSetElement var int enum EVoiceType
+@c  LocalWords:  sayf ifinfo verbatiminclude ref UTF ccc ddd pxref LF cs conf
+@c  LocalWords:  su AddModule DefaultModule xref identd printindex Dectalk GTK
+
+@c speechd.texi ends here
+@c  LocalWords:  emph soundcard precission archieved succes