changing synths

Gregory Nowak greg at
Fri May 29 20:42:17 EDT 2009

Hash: SHA1

On Fri, May 29, 2009 at 08:04:44PM -0400, Christopher Moore wrote:
> I have speakup sarting with soft synth.  How can I switch to a hardware 
> synth (dectlk) without rebooting?  

The easiest way is by using the speakwith/talkwith script from the
contrib directory from the speakup source tree,
(synthscripts-v2.tar.bz2). Alternatively, you can get them from
<>, which actually
seems to be newer than what's in the contrib directory.

> Can I do this by setting speakup parameters or do I have to load modules 
> with modprobe?  

If the synthesizer you want to switch to is already in the kernel,
either by being built into the kernel, or by having the module already
loaded beforehand, you need to echo the synth keyword to
/sys/module/speakup/parameters/synth. So, using dectlk as an example,
you'd do:

echo dectlk >/sys/module/speakup/parameters/synth

If the synth you want to switch to is built as a module, and that
module hasn't yet been loaded, you'd just modprobe it. So, again for
the dectlk, you'd modprobe speakup_dectlk I believe. Again, using the
speakwith/talkwith script takes care of all of that for you automagically.

> How do I assign a port?

That depends. If your synth is built into the kernel, you need to add
"speakup.ser="x to your boot loader's configuration to be passed as a
kernel parameter. In lilo.conf, you'd add this to the append=
line. The x represents the serial port in question, (I.E. ttyS0 is 0,
ttyS1 is 1, and so on). If the synth you want to switch to is built as
a module, you'd pass the port on the modprobe line as ser=x, where x
is the serial port as described above. So, if you want to modprobe the
module for the dectlk synth, and that synth is on the second serial
port, you'd modprobe it as:

modprobe speakup_dectlk ser=1

Note that if you're going to use the speakwith/talkwith script, and
your synth isn't on the first serial port, you'll need to configure
that in /etc/modprobe.d on my debian system, though this is standard I
think. So, using the dectlk again on the second serial port, create a
file called /etc/modprobe.d/speakup.conf, you can call it whatever you
want, I call it speakup.conf on my machines. In that file, you'd put a
line like this:

options speakup_dectlk ser=1

Now, whenever the speakup_dectlk module is loaded, the ser=1
parameter will automatically be passed to it. Hth.


- -- 
web site:
gpg public key:
skype: gregn1
(authorization required, add me to your contacts list first)

- --
Free domains: or mail dns-manager at
Version: GnuPG v1.4.9 (GNU/Linux)


More information about the Speakup mailing list