Rockbox Development > Starting Development and Compiling

Noob needs help: Generating voice file using voice.pl

(1/1)

MinorKey:
Hello,

I'm having difficulties generating voice files using the Utility even on Linux (which I've reported on Flyspray as well) and so I thought I'd go about it the more manual way.
Thanks to the awesome guide for noobs over at the site, I've managed to get my dev environment up and running, but I can't figure out how to pass everything to voice.pl correctly so that it generates a voice file. So a complete command would be nice.
So once inside the tools directory I think I have to run something like this, but of course this is incomplete and maybe even incorrect.
sudo ./voice.pl -V -i 62 -l slovak -s espeak-ng -S "-v sk -s 350" -v -F ~/

I'd like to use the default encoder options used by the site when it's generating the Slovak voice, I'd just like to increase the voice speed to 350 for starters.

Many thanks.

speachy:

--- Quote from: MinorKey on April 13, 2025, 02:54:12 AM ---Hello,

I'm having difficulties generating voice files using the Utility even on Linux (which I've reported on Flyspray as well) and so I thought I'd go about it the more manual way.
Thanks to the awesome guide for noobs over at the site, I've managed to get my dev environment up and running, but I can't figure out how to pass everything to voice.pl correctly so that it generates a voice file. So a complete command would be nice.
So once inside the tools directory I think I have to run something like this, but of course this is incomplete and maybe even incorrect.
sudo ./voice.pl -V -i 62 -l slovak -s espeak-ng -S "-v sk -s 350" -v -F ~/

--- End quote ---

You don't need 'sudo'.

If you set up the full dev environment, create a build directory under the rockbox dir, then run ../tools/configure and sleect your target, selsecting 'Advanced' and 'Voice', and select your tts engine and language along the way.

Then run make voice V=1 and you'll see the command lines used.

MinorKey:
Thank you,

Of course that worked. 🙂
To be honest it didn't at first, but than I finally realized that I wasn't including the 'feature' part when specifying the target parameter and so the voice always came out incomplete and thus invalid.
I did end up running the voice.pl script through sudo though once I got the command, as specifying 'make voice V=1 S="-s 350"' did not seem to work, but perhaps I just did something wrong.
Is it supposed to work like that at all?
Regardless, I know that for some one used to the Linux terminal this would have been a piece of cake, but still, I feel like a boss for having achieving this... 🙂

And one more thing I'm curious about...
The voice I was generating was for the Sansa Clip+. When configuring the build it has a number of 62, but when looking at the parameters passed to voice.pl the 'i' parameter is set to 66. Why is that? Aren't those numbers supposed to match? Or does that value of 66 actually refer to something else?

speachy:

--- Quote from: MinorKey on April 14, 2025, 03:32:45 PM ---The voice I was generating was for the Sansa Clip+. When configuring the build it has a number of 62, but when looking at the parameters passed to voice.pl the 'i' parameter is set to 66. Why is that? Aren't those numbers supposed to match? Or does that value of 66 actually refer to something else?

--- End quote ---

The short answer is that those numbers refer to different things.

The displayed number in the configure menu is only used from within the configure menu as an alternative to typing out the full model name.  The internal "target id" gets embedded into all sorts of things (eg the voice files) that are checked at runtime so we can make sure they correspond to the correct target.

Multiple configure menu options may share the same "target id" (which are assigned sequentially as new devices are added) whereas we periodically renumber things in the configure menu so we can logically group new devices with older devices.

EDIT: clarity

MinorKey:
Thanks for the explanation,

That makes sense.
I like how it's all thought out - especially how easy it is to configure what you want to build. Now since I have a build environment I will be able to test translations prior to submitting them. And the added personal benefit is that I will also gain a bit more experience in Linux itself. Actually I have even purchased a cheap/used laptop I plan to use for running Linux exclusively as the response in the VM is quite laggy.

Navigation

[0] Message Index

Go to full version