Rockbox mail archiveSubject: Re: Make voice script
Re: Make voice script
From: TJ Olsen <tj_at_tjolsen.net>
Date: Mon, 9 Oct 2006 05:41:54 -0400
for some reason i've hard a hard time using scansoft voices to make .voice files, as have others i know of.
many thanks for your help which of course worked fine. I also found another way of doing it and it was using a right mouse click on the vbs script in windows explorer and choosing the open with command prompt option. Now that that is all over I have a 1.4 mb Australian voice for the menu options which is great. But with all things computers as one problem is solved another rears its ugly head. Having succeeded in making my Australian English.voice file I then went on to try and make Australian sounding .talk files for my files and folders. I went to the speech option in control panel and selected my Australian Lee voice and set the speed to 80% and selected okay to have this as my selected TTS option. I then went and ran the voicebox.hta file to make my .talk files but for some reason it is defaulting to the Microsoft Sam voice and not my Australian Lee voice. Is there some setting I can change in the voiceutils.vbs file to make sure it uses the Australian Lee voice?
Thanks a million for all your help and if anyone wants the Australian English.voice file at 1.4 mb I would be happy to send it to someone who would be willing to post it somewhere for download or if anyone interested sends me an email address I would happily send it on. Oh yes one more small problem. Is there some way I can change the pronunciation of the word "rockbox" in my English.voice file as my Australian TTS pronounces "rockbox" as "rackbox". Only a minor problem but would be interested in knowing how to solve it.
Thanks again for your help with my earlier problem Steve.
While you could go about recreating the definition list, you might find it much easier to run the VB script from a command prompt instead. To do so:
1. Hit the Windows key and hit R to bring up the 'run" dialog.
2. Type "cmd" and press enter.
3. Issue a "cd" command and change to the directory in which the "MakeVoices" script resides.
For example, "cd c:\makevoices"
4. Type "cscript MakeVoices.vbs" followed by the enter key to start the script. Rather than a message box popping up every time the script has something to say, the output will scroll through the command window with no need for you to constantly press an OK button.
5. When the script is finished, type "exit" followed by the enter key to close the command window.
At this point, you can sit back and wait for the script to execute, and within a couple of minutes you should find your new voice file ready for use in the "MakeVoices" directory. I don't believe the 1.4 megabyte file limit is strictly required for a voice file, but if you plan on distributing it to other Rockbox users, especially those still using Archos players, you will definitely want to watch the file size. The Nano has enough RAM to hold the larger voice file, but i doubt a player such as the Archos Jukebox could accomplish the same feit.
Hope this helps.
From: rockbox-bounces_at_cool.haxx.se [mailto:rockbox-bounces_at_cool.haxx.se] On Behalf Of Hamish Mackenzie
Sent: Saturday, October 07, 2006 3:34 PM
Subject: Make voice script
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.
Page was last modified "Jan 10 2012" The Rockbox Crew