summaryrefslogtreecommitdiffstats
path: root/kttsd/TODO
blob: f37f1499e1acbbecd618fb66e9fe50b0af9422c2 (plain)
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
_ Filters:
    _ XHTMLtoSSML stylesheet needs work to provide better mappings for most web pages.
    _ Add KNewStuff capability for folks to upload/download filter configs.
    _ There should be a default set of filters configured when user first runs KTTSMgr.
      If user presses Default button, it should ask user whether to replace all existing
      filters with the standard set.  The standard set should probably include
      the Qt to Plain Text and Fix Festival Unspeakable Characters filters, but I'm not
      sure about the latter when desktop is not ISO 8859-1.
    _ The SBD Filter configuration dialog can be shrunk smaller than the widgets on it.
      This apparently due to a bug in the QLabel widget when it contains RichText.  If
      forced to plain text, the problem won't happen (I am told).  However, the WARNING
      in the dialog needs to be bolded.  What to do?
_ Handbook:
    _ Mention that "Root element is" and "DOCTYPE" are case sensitive.  "html" is not
      the same as "HTML".  It should stay this way, BTW.  Proper xhtml requires lowercase
      tags.
_ Audio Plugins:
    _ Audio Plugins are loaded for each sentence.  Instead, reuse the plugins from a pool
      of loaded plugins.
    _ BUG:116542.  Apply patch and resolve compile issue.
    _ At least one user experiences a freeze-up using ALSA plugin.  Speak a web page,
      pause the page, cause a knotify to speak, kttsd freezes.  This appears to be an
      ALSA device contention problem?  In this situation, there are two alsaplayer objects;
      one in pause state, and one attempting to speak notify.
    _ akodelib does not stop instantly when pause() or stop() is called.  See bug:107135.
    _ Why must Player constructor take a 3rd "args" argument, while PluginProc constructor
      does not.  They are essentially the same. ??
    _ Add option to automatically turn down music player volume while speaking (via dcop).
_ Festival Interactive plugin:
    _ Need someone who can read czech to try integrating this into KTTS: 
      http://www.freebsoft.org/festival-czech
    _ New Italian voice for Festival. http://www.pd.istc.cnr.it/FESTIVAL/home/default.htm
_ EPOS plugin:
_ Command plugin:
    _ Command plugin encodes text on command line using %t in user's chosen encoding, but
      if this differs from user's desktop default encoding, doesn't work.  KProcess always
      encodes command line stuff using user's default encoding.  There is no point, therefore,
      in attempting to encode it differently, just mangles the text even more.  Short of modifying
      KProcess, I see no way around this.  But perhaps a warning to user advising to use %f instead?
    _ Command plugin crashes when using command 'flite -t "%t"' and flite can't get write access to /dev/dsp*.
_ Hadifix plugin:
    _ BUG:116151 Add options for using the new prepoc capability in Hadifix.
    _ When stopText() is called, and Hadifix process is killed, the temporary wav file is not deleted,
      despite QFile::remove call.  Possibly still locked by exiting mbrola process?  This only seems
      to happen in the configuration dialog when canceling Tests.
_ KTTSMgr:
    _ Give Talkers a Talker Name entered by user.  Show this name in Jobs tab, Change Talker screen,
      and in systray menu.
    _ Change the Current Sentence panel to show the current sentence of the selected job?  If selected
      job is not the currently speaking job, won't show currently-speaking text anymore.  However, would
      be helpful when using advance/rewind buttons.  Perhaps to be effective, if the currently-selected
      job IS the currently speaking job, and that job finishes, would automatically select the next
      speaking job?  But that could become confusing for users with selection jumping around.
    _ Add ability to quickly pick default Talker in systray menu.
    _ KCMultiDialog has a bug that won't allow sizing the screen narrower than 640.
    _ Overall Audio Speed should be a realtime setting, i.e., not necessary to click Apply.
    _ Disable Audio Speed control if sox not installed (configure.in.in but runtime check would be better).
    _ Add drag N drop for the Talkers so it is easier to change the ordering.
    _ It is possible to configure multiple instances of Talkers with the exact same configuration.
    _ In kcmkttsmgr, use setHelp() to set help anchor based on current tab.
    _ Add playback controls to kttsmgr.  Volume, pause.  Maybe rewind?
_ KTTSD:
    _ I am told that when kttsd crashes, it can take knotify down with it.  See about
      "disconnecting" knotify from kttsd (using post to Qt event queue).
    _ Strange msg being produced by KIO::move, but it works fine. ??
        kio (KIOJob): stat file:///home/kde-devel/.trinity/share/apps/kttsd/audio/kttsd-5-1.wav
        kio (KIOJob): error 11 /home/kde-devel/.trinity/share/apps/kttsd/audio/kttsd-5-1.wav
        kio (KIOJob): This seems to be a suitable case for trying to rename before stat+[list+]copy+del
    _ While kttsd currently configures a Talker automatically, would be nice if it could
      autoconfigure talkers for each requested language, if one has not already been configured.
    _ Add support for speech markers.
    _ Implement error signal handling in KTTSD.
    _ Add support for JSML and other Speech Markup languages.
    _ Add method for apps to play a sound file, including in the middle of a job.
      Could be done with SSML or with special Talker Code = "sound".
_ Other/General:
    _ As pointed out by NOKUBI Takatsugu on Planet Debian, there exists an 
      open-source synthesis + recognition engine for Japanese.
        http://aniki.daionet.gr.jp/~knok/blog/blosxom.cgi/2005/11/24
        http://hil.t.u-tokyo.ac.jp/~galatea/index.html
    _ Save buttons should confirm if user chooses an existing file.  KFileDialog doesn't seem to
      offer this option, but shouldn't it?
    _ .desktop files must have a Type keyword, but what to use for kcmkttsd_testmessage.desktop?
    _ Add option to kill plugin process when no longer needed so that memory can be recovered.
      Or maybe some sort of "nice" setting so that process will be swapped out when no longer needed.
    _ Convert to KConfig XT.
    _ Add a plugin for TuxTalk, http://tuxtalk.sourceforge.net/.  Since it only supports
      English (at the moment) and is alpha, don't think it is worth it now.
    _ Add a plugin for dhvani, an Indian and Hindi TTS engine, http://dhvani.sourceforge.net/
      Currently written in c, but it looks like future versions will require Java VM.
      Main problem at the moment is that dhvani sends audio directly to /dev/dsp with no option
      to send to a wav file.
    _ IBM ViaVoice plugin?  IBM TTS is a proprietary runtime product with opensource API.
      http://ibmtts-sdk.sourceforge.net/
    _ Add KTTS plugin to aKregator.