in hts_engine, you can edit the function HTS_Vocoder_synthesize in
lib/HTS_vocoder.c and replace the line p = v->rate / exp(lf0); with p = 110; I think this should overwrite any value generated from the model (for voiced frames). However this means recompiling hts_engine every time you want to change the value. To avoid this, you could also modify the code of hts_engine.c so that the constant pitch value is passed as an argument of the executable (i.e. in the command line and it would end up in the "argv" of main()) and propagate it to the vocoder (adding a specific variable to the struct _HTS_Vocoder). This way you could do "hts_engine ... -c 110" (for instance, assuming that "-c" is the parameter name for your constant pitch value) and synthesize with constant pitch at 110Hz. Alexis ps: a bit offtopic self-advertisment (sorry for that): in MAGE (our realtime library based on hts_engine 1.06 ), you can set the pitch value at runtime to whatever constant or variable value you want while the speech is produced. However I'm not sure how much it corresponds to your use case (for instance we use limited phonemic context, though you can configure it to use the complete one). On 11/03/15 20:09, Erica Cooper wrote:
|