Rockbox mail archiveSubject: Make voice script
Make voice script
From: Hamish Mackenzie <hamish_at_mackenzieoz.com>
Date: Sun, 8 Oct 2006 06:33:40 +1000
Before I start let me point out that I am in no way clued up with VB scripting but I went ahead and tried to create a new voice file using an Australian English TTS I have on my system that is scansoft lee. I have managed to do this to a certain extent following instructions found on the rockbox wiki. I manage to insert the following line into the script to tell it to use scansoft lee
MakeVoiceFile "english", "ScanSoft Lee_Full_22kHz", SPSF_22kHz16BitMono, 170, "-V 6 -B 64 --resample 12 --scale 0.6 --vbr-new -t -S"
When I run the script i get the following box popping up several hundred times
Windows Script Host
Warning - unknown Voice "ScanSoft Lee_Full_22kHz". Pronunciation may be wrong (VoiceReplaceStrings)
If I hit okay all the time eventually the new voice file is created. I see on the wiki page that there is info showing how to fix this problem but due to my lack of knowledge of the subject matter I am not quite sure what it is I need to do to stop this problem coming up. The wiki has the following to say
If you test your voice file, you will most probably notice that some words are pronounced wrong. There is a mechanism provided in the script to adjust these
words. You may have noticed (if not building one of the voices already known to the script), that it emits a warning that the voice is unknown. This is
because you did not yet define a replacement table for such adjustments.
In order to create and use such a list, you need to edit two places within the script. First, add a function that creates such a list for your voice. The
replacement list definition functions are located towards the end of the script. In order to start with an empty list, simply duplicate the very last function
Gen_default and rename it. My observation is that all voices for one language of a specific engine tend to need the same adjustments, e.g. all German AT&T
voices can share the same function, so the suggested function name is ATT_de_de in this case. If you rename the function, you also need to rename the return
variable name within the function to read the same.
Now you need to connect this function to the voice. Add a line to the InitReplaceLists subroutine. Refer to the lines that are already there to see how
to do this.
If you try to build again, you should no longer get the warning about the voice being unknown. You can now add entries to the replacement list. The replacement
list uses regular expressions, refer to the other lists how to do this. Adjust and rebuild until everything sounds as intended.
If someone could let me know how to do this in fairly plain english I would really appreciate it as my current means of creating the voice file is rather cumbersome with lots of pressing of the okay button.
Also is the file size limit of 1.4 mb still the max? Or can I use a larger file size than this I am using a Nano if that makes any difference.
thanks and keep up the great work guys rockbox is fantastic.
Received on 2006-10-08