› Forums › Speech Synthesis › Unit selection › Should we load my_lexicon.scm when running a voice?
- This topic has 3 replies, 2 voices, and was last updated 1 year, 9 months ago by Korin Richmond.
-
AuthorPosts
-
-
March 11, 2023 at 09:55 #16787
Hi there,
In the case where I did the optional step of adding lexical entries in my_lexicon.scm and then proceeded with training and building the voice.. Step 11 shows that my_lexicon.scm was not used when running the voice:
bash$ festival
festival>(voice_localdir_multisyn-rpx)Is this intended? I can verify that my entries are not loaded by using lex.lookup. To include the entries I would have to run it like
bash$ festival $MBDIR/scm/build_unitsel.scm ./my_lexicon.scm
I tried to drop the build_unitsel.scm argument but was met with an error
SIOD ERROR: unbound variable : setup_phoneset_and_lexicon -
March 13, 2023 at 10:57 #16788
Similar topic:
#15813Your my_lexicon.scm file tries to use some functions/symbols from the “build_unitsel.scm” file – as this error indicates, when running the code in ./my_lexicon.scm Festival is looking to use “setup_phoneset_and_lexicon”, which unless you load the build_unitsel.scm file first, it cannot find. If you look at the contents of build_unitsel.scm (which I recommend doing – it’s instructional!), you’ll see it’s indeed there.
If you don’t want to include that “build_unitsel.scm” on the command line each time you want to use my_lexicon.scm, you could always just insert a line to load it at the top of the my_lexicon.scm file, before any of the code tries to use bits found there. You can do that, for example, with just the (load …) function.
btw, every time festival starts up, it checks for a file at ~/.festivalrc. If that exists, it runs the code contained in it. So, if there’s something you want done automatically *every time* festival starts, then you can just put the code in that file (i.e. in this case, to load these two scheme files). But remember – it will do it every time!
-
March 13, 2023 at 11:08 #16789
Thanks for the reply!
I should suppose then, that however we do it, if we had trained a voice with a user defined lexicon, we should use the same lexicon when running the voice? -
March 13, 2023 at 12:37 #16790
Most likely, yes.
-
-
AuthorPosts
- You must be logged in to reply to this topic.