[Grml] Speakup and non-ascii characters

Michael Whapples mwhapples at aim.com
Mon May 25 14:34:45 CEST 2009

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 Whapples<mwhapples at 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

More information about the Grml mailing list