On Thursday 22 October 2009 18:09:47 Nils Prause wrote:
> Hello @ all,
> now that I'm having some time I'm glad to be back again and to see that
> many changes happened to SvxLink since I last read messages by this list.
> Tobias Blomberg wrote:
> > On Friday 07 August 2009 07:50:25 Adi Bier wrote:
> >> I've played a bit with Mary (the program ;-) ) and be impressed by the
> >> results.
> > Yes, she's good isn't she ;-)
> Maybe she's good, but she's not as good as she should be. :-)
No, but she is completely for free and available. It's the best free voice
synthesizer for Linux I have found so far. If anyone have a better suggestion
I've been thinking of buying a commercial speech synthesizer but then it will
be hard for people to modify their node and add new functionality. There
should be no shifting voices for different functionality. That just sound so
bad. So what we are looking for are:
* Good quality speech synthesizer
* Available on Linux
> It's hard to say but for Windows there are so many good commercial and
> non-commercial solutions. For Linux it seems that the manufacturers for
> screenreaders and other software for visually impaired people are not
> interested enough in developing any professional solution. Some projects
> like Copernicus that was founded in 2001 by Baum RO are no longer supported
> and others where only developed by some students as a bachelor or master
> thesis and never ment to be continued. :-(
> >> We should discuss the structure of the txt and soundfiles, if we mark
> >> all files with a language prefix, like
> >> de_help.txt
> >> it_help.txt
> >> en_help.txt
> >> ...
> >> and for the created sounds:
> >> de_help.wav
> >> en_hlep.wav
> >> ...
> >> then we are able to have more than just one language-set at our svxlink
> >> nodes. A config variable f.e. DEFAULTLANG=de can point to the set that
> >> is used as a default language. With a special command it should be
> >> possible to switch between the languages (predefined by f.e.
> >> LANGUAGES=de,it,en) during runtime until an idle timer has expired. So
> >> it's possible to use svxlink nodes potentially in the native language.
> >> What do you think about it?
> > I've actually had about the same idea for years but it's not as easy as
> > to just put a prefix on the sound clips. The TCL files must match the
> > language being used to solve the problem with reading back numbers, time
> > and such things in the correct way.
> > Because of this, to make a new language pack for SvxLink, create the
> > sound clips for that language and copy in the modified TCL files into the
> > new languages sound directory.
> > Foeke is using a Dutch translation. I don't know of any others.
> I've created German audio files back in 2006. They are still used at
> DB0OSN, DB0LHR (from Pat, DL1GHN) and some othter nodes here in DL.
> For creating them I used the Windows voice Steffi by L&H (today I think it
> is Nuance) and converted them from Wave to Raw using SOX on Win32.
What about licensing?
> As I first created the files I found out that there are many play commands
> to be modified. For example in Germany we have no am or pm...
> On one hand my problem is that I have to change the Logic.tcl and
> RepeaterLogic.tcl manually every time a new version is released.
That's partly what the TCL files are for. They should be language specific. They
are there to make it possible to do such things as pronouncing numbers in
> (Tobias, would it be possible to announce changes of the core Logic files
> so that I wouldn't have to check this manually every time a new version is
I have no direct solution to make language modifications easy. A language pack
maintainer simply have to accept that there are some work involved with every
new release. To see what have changed. Simply compare the old original file
with the new file. Diff is your friend or Kompare is a graphical utility I like.
One thing that may make things a bit easier is to use the new feature,
available in Subversion trunk, where you can create a "local" subdirectory
under the events.d directory. All files in this directory are loaded after the
files in events.d so you can override just the functions you need to modify.
For example, if you want to modify a function in RepeaterLogic.tcl, create a
new RepeaterLogic.tcl in the "local" directory and copy/paste only the
function you want to modify. You also need the "namespace eval" row to make
your functions appear in the correct namespace.
But of course, if you want to release all this as a complete language pack you
have to integrate the changes in the original files anyway. Just thinking out
> But on the other, as Tobias said, I don't see how we could solve this
> The only way could be a concept based on resource files, but as long as
> there are no voices / language packs for Linux TTS' that are good enough to
> play every announcement I cannot see how to do this.
What do you mean with "resource files"?
> By the way: For text-to-speech functionality under Linux (e.g. to announce
> the actual temperature on our repeater) I use mbrola with some additional
> speech processors. It doesn't sound good enough for every announcement, but
> for saying "18 Grad, Regen" ("18 degree, rain") it's almost good enough.
> > So, what is needed to switch language live is that the
> > current TCL scripts are unloaded and a new set loaded.
> Is this feature really requested by so many users?
No, maybe not but it would certainly help English speaking users to use a
repeater that by default speak German or Swedish. But you are right, maybe it
should not very highly prioritized.
73's de SM0SVX / Tobias
> 73s, Nils
> --- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is
> the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> Svxlink-devel mailing list