[Grml] Speakup and non-ascii characters
Michael Whapples
mwhapples at aim.com
Sun May 24 17:32:08 CEST 2009
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".
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).
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
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
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 hope now I have corrected some of those mistakes things are clearer.
Michael Whapples
On -10/01/37 20:59, Hermann wrote:
> On 23.05.2009 at 23:01:54 Michael Whapples<mwhapples at aim.com> wrote:
>
>
>> Hello,
>> This is in response to an email by Hermann, I am not doing it as a reply
>> as I get messages as a digest and lost the original message.
>>
>> First thing to note is that speakup as far as I know has its own
>> character table which it uses for pronouncing characters when saying
>> individual characters (eg. spelling, cursoring over characters, etc).
>> This table can be found in /sys/modules/speakup/parameters/characters
>> and so can be edited there.
>>
> Did you test this on a GRML machine? This path does not exist.
> Remember that Speakup is set up in a different way on GRML: Start with
> swspeak instead of adding a specific Speakup module to /etc/modules.
>
>
>> Speakup by default lists characters up to
>> value 255, although values beyond 127 depend on the encoding used (eg.
>> latin1, utf-8, etc) for the actual definition.
>>
> GRML is based on unicode and so should Speakup. Perhaps this is the
> problem?
>
>
>> As far as I know espeakup
>> doesn't modify this table, speechd-up can replace the tables or leave
>> them alone (there is an option for speechd-up to specify this).
>>
>>
> Speechd-up relies on the settings of Speech-dispatcher, so it works in
> most cases, except the ones I discribed.
>
>
>> One way to fix this is to create a script to modify the table or copy a
>> new table into /sys/modules/speakup/parameters/characters and to do this
>> on start up.
>>
>>
> How could such a script look like? I'm not a scripter, and how can this
> be implemented into the startup procedure?
>
>
>> Does this help?
>>
>>
> Sorry, not really at the moment.
> Hermann
>
>
More information about the Grml
mailing list