[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SpeechIO-195] speechd v0.54 - morse code support

speechd has almost always supported multiple speech synthesizers, and I've
wanted to add more.

My interest in amateur radio has recently re-surfaced, as I've discovered
an aquaintence is familiar w/ ax.25 (network protocol for use in packet
radio -- you can encapsulate tcp/ip over ax.25 over ham radio & do free
wireless internet access.. and there's support in the linux kernel... and
nobody knows this).  I bought, and have started reading, radio shack's
test prep book for the no-code ham license.

Anyway, I was playing with this program called "morse", that takes text,
and starts using the pc speaker to beep out the morse code form of that
text.  Then somebody was asking me stuff about speechd.  Synapses started
shooting at each other.  It was mesy.

I dunno if anybody will actually be able to use this... to somebody who
doesn't know code, it's just gonna be incessent obnoxious beeping.  And I
hardcoded the speed at 20 wpm (20 words per minute).. which is still
pretty slow, compaired to festival.  20wpm is fast for code.. a novice is
only required to be able to understand 5wpm, the highest level requires
20wpm, & only 10% of hams reach that level.  So you may wanna edit the
code & change the part that says "-s 20" to like "-s 5" (for 5wpm).

If you're familiar w/ the structure of the code in speechd, you know that
there's a main loop for each speech synthesizer -- one called
use_festival, and one called use_rsynth.  I modified use_rsynth a bit, and
used that for morse as well.

It now does

  system ("$cmd \'$text\'");

where $cmd equals either 'morse -s 20 -d 0 -p' or 'say' (for rsynth).  And
$text is one line read from /dev/speech.

The difference is, the old version opened up a pipe to the stdin of the
"say" program.  

Is this implimentation safe, as far as shell expansion possibilities ?
Kyle, I'm not posting this to freshmeat until I get a "yes" from you :)

I'd also like to get somebody else to test this version before posting to
freshmeat -- at least with festival, but preferably w/ festival, rsynth,
and morse.

PGP fingerprint = 03 5B 9B A0 16 33 91 2F  A5 77 BC EE 43 71 98 D4
            darxus@op.net / http://www.op.net/~darxus
             Find the next largest prime, be famous: