
I tried some stuff on my system. Here is what I found.
When I edited the copy of the table I used nano for my editor and it added an extra blank line and so when I tried to copy the table into /sys/module/speakup/parameters/characters it didn't go in because of the extra line. You should have a single new line character following the last entry in the table (nano made it two new lines). However I didn't get any error message with this copying, it just didn't go in. When I corrected the table and then tried to copy it, everything worked fine.
I am trying this on a hard disk installation of GRML, I will have a go with a CD in a minute.
Michael Whapples On 25/05/09 12:58, Hermann wrote:
On 24.05.2009 at 17:32:08 Michael Whapplesmwhapples@aim.com wrote:
Firstly, sorry I made some simple mistakes which probably confused you, the main ideas are correct though. I think you hit the nail on the head when you mentioned that GRML uses unicode, I don't think the speakup character table is, hence the two are using different encodings, for example on my system when I type £ speakup will say it is an "u acute".
Speakup uses Unicode and this causes the problem: I figured that out when starting speechd-up with: speechd-up -c UTF-8 I get the same char mixup than in Espeakup. When using ISO-8859-15, which seems to be the standard for Speechd-up, it works almost right, with the described exceptions.
I gave the path /sys/modules/speakup/parameters/characters for the speakup character table, this should be /sys/module/speakup/parameters/characters (checked on my GRML HD installation and the GRML 2009.05RC1 CD, I believe also correct for the 2008.11 release, earlier ones I think may differ). Although you may start speakup differently on GRML it still is installed as modules, there's just some scripts to take certain boot options like swspeak and then load the correct modules and set some other things (eg. raise audio volume to something sensible).
Right, and my fault was that I deactivated "swspeak", so no modules were loaded and no directories are there.
Anyway hopefully you will now have the speakup table, and can read its structure (numerical value of character in first column, text which should make the synth say the correct character name in the second column).
I believe it is best to not modify the original table, so to edit it first thing is to copy it:
$ cp /sys/module/speakup/parameters/characters ~/speakup_characters.customised
Now edit the copy (in my above example ~/speakup_characters.customised). Once your happy with your modified version copy it back to the actual speakup table file (be certain it is what you want as once copied back speakup will use it).
$ cp ~/speakup_characters.customised /sys/module/speakup/parameters/characters
I followed your instructions and I had to learn that it is not possible to copy the edited file back, because the operation is not allowed. I figured this out when I tried to remove the original file, because copying gave no error messages, but the old file persists. The directory is in use and can not be changed. Unloading the Speakup modules results in disappearance of the directory. So, either I don't understand the whole procedure, or something is terribly screwed up on GRML.
Now you may wish to store your customised version of the speakup table somewhere it may be perminantly stored (eg. USB drive).
Now on a HD installation you can add the copy command to a script and have it run at start up. Simplest may be to add the command to /etc/rc.local
Would not work, see above.
Now for my comment regarding speechd-up. I was thinking of speechd-up version 0.4 but GRML uses speechd-up 0.3. In speechd-up 0.4 I think there is an option -t to tell speechd-up not to overwrite the speakup tables, I am not quite sure what speechd-up 0.3 does. However looking at the help message for speechd-up on the GRML 2009.05RC1 CD there is an option -c or --coding to specify the coding used, may be this has something to do with the table it overwrites the standard speakup character table. One word of warning, if you may switch to another synth while using speakup, speechd-up will not restore the speakup table when it exits, and so some hardware synths may not work as you would hope, either copy a new table to /sys/module/speakup/parameters/characters or restart the machine.
I answered to this partially above, but to accomplish, I have to say that indeed GRML uses 0.3, and on a former installation I had 0.4, which worked right. Cannot remember that -t option, but it was not necessary, since 0.4 seems to use SD's settings.
I hope now I have corrected some of those mistakes things are clearer.
Thank you for your patience, but there still is some troubble. Hermann