› Forums › Speech Synthesis › Festival › Customizing localdir_multisyn-gam.scm
- This topic has 2 replies, 2 voices, and was last updated 3 years, 6 months ago by Aidan P.
-
AuthorPosts
-
-
February 3, 2021 at 19:07 #13818
I am running festival locally on my machine and am able to work through steps 1 – 10 in the “build your own unit selection synthesizer” exercise. However, when running step 11:
bash$ festival
festival>(voice_localdir_multisyn-gam)
festival>(SayText “Hello world.”)I get an unbound variable error, like it can’t find the voice. Which makes sense because I’m running a different festival distribution than the one on the lab machines.
In a clunits voice I would pass the voice scm file in as an argument like so:
$FESTIVALDIR/bin/festival festvox/nrc_gam_ap_clunits.scm
And that file would have been created by this helper script:
$FESTVOXDIR/src/unitsel/setup_clunits nrc gam ap
However it appears in this task we just use a shared general purpose voice scm file, and I’m wondering if there is a script or automated way (similar to setup_clunits) to do this for multisyn without having to go line-by-line through the voice and make changes. I believe the voice I’m trying to recreate is found at festival/festival_linux/festival/lib/voices-multisyn/english/localdir_multisyn-gam/festvox/localdir_multisyn-gam.scm
Thanks!
-
February 4, 2021 at 16:07 #13822
Each voice has a scheme file that contains code to define how to set up the voice (e.g. which lexicon to use, where data files are, what data to load, etc…)
In the case of the SpeechSynthesis assignment, we’ve created a voice definition file which makes a voice out of data found in the current working directory (so you have to be in the directory to run any particular voice you build).
However, the extra step that’s needed is to register any voice with festival, so it knows that voice is available. You can do that for example by putting the voice definition in a standard place in the $FESTIVAL/lib directory. Alternatively, you can use the function “voice-location-multisyn” to register a voice that is found in a non-standard place. (see $FESTIVAL/lib/voices.scm for details on that)
-
February 4, 2021 at 18:57 #13823
Thanks Korin. Yes, it looks like I needed to move the entire voices-multisyn folder to my festival installation because beyond just the scm voice file (localdir_multisyn-gam.scm) there are some initialization files (in folders coef2, lpc, and utt, like utt/nina_x1_001.utt) that were required too? I’m not totally sure why these single utterance files were needed but it appears that the voice is working now!
-
-
AuthorPosts
- You must be logged in to reply to this topic.