Forum Replies Created
-
AuthorPosts
-
Three thoughts come to mind:
i) yes, it seems the default backoff rules don’t include ii -> @
I don’t expect that’s for any good reason – probably just an oversight. You can try adding this to the list of rules your currently loaded Multisyn voice is using by entering this at the festival command prompt:(du_voice.setDiphoneBackoff currentMultiSynVoice (append '((ii @)) unilex-edi-backoff_rules) )
Does that make the phone-based backoff work more as you want it?
ii) the backoff phone list is just one way that Multisyn offers for dealing with missing diphones. It will also make phone joins instead if desired. For example, if you simply delete the list of phone backoff rules by doing this:
(du_voice.setDiphoneBackoff currentMultiSynVoice nil)
then Festival won’t be able to back off any phones, and so will do a phone join instead. Arguably, I think in the majority of cases this could be a better strategy than the default backoff rule which is to back off to silence (which seems it could be a terrible idea!). I’d be interested in how that works in your case – can you try and post back please? 🙂
(Or you could even explore that further in your write-up?…)iii) actually, it seems odd that you don’t have a diphone to handle “the” before a vowel. “The” is obviously a really common word! Is it really the case you don’t have a single “the” word before a word starting with a vowel in your voice dataset? That may be indicative of a problem. Or, of course, you may have selected a “peculiar” set of domain-specific data which doesn’t have it…?
Can you provide more detail about where exactly this error comes up please? Can you get a backtrace, for example? Without more detail, it’s impossible to guess where+why you get this error.
Thanks! Korin
Hi,
I’ve cobbled together a couple of scripts which will help you by providing a model for performing synthesis for a file of sentences (1 to >100000s…) and then saving various bits of information. Have a look at the zip file attached. It contains:
i) a text file with a few sentences for demo purposes
ii) a scheme file with the necessary code to make festival do this
iii) a bash file which acts as a “driver” script – responsible for selecting, starting and configuring festival, and then instructing it how to process the text file…Have a look at the three files and see if you can work out what is going on for yourself! You will need to edit at least the doSynthesis.sh bash script to tailor it for your voice build.
Using this model you should be able to do things like:
a) use festival to do front-end analysis for a large amount of text, converting the resulting linguistic data in the utterance structures into a “flat text” representation and printing that – you could then pipe that to a file and write a Python script to process it in order to experiment with text selection algorithms
b) use festival to do either front-end analysis or full synthesis and save utterance structures, selected relations, waveforms etc. to file…
I hope that helps!
Korin
Attachments:
You must be logged in to view attached files. -
AuthorPosts