我在Grails应用程序中使用MaryTTS作为文本到语音引擎。 在应用程序测试期间,我发现使用HMM语音时语言质量会随着文本长度的增加而发生剧烈变化(最差)。
很自然地,我通过MARY Web Client测试了所有HMM相关参数(F0Add,F0Scale和Rate)以及删除它们或保留默认值,但没有成功。
我使用的声音是bits1-hsmm:5.2(德语女声)
gradle依赖:
compile "de.dfki.mary:voice-bits1-hsmm:5.2"
代码简单如下:
def marytts = new LocalMaryInterface()
marytts.locale = Locale.GERMAN
marytts.generateAudio text
一切正常,直到转换的文本超过120个字符(不仅在代码中,而且还通过Mary Web Client )
这里是我上次测试时使用的文字:
Baumaßnahmen im Mai und Oktober Notwendige Instandhaltungsarbeiten an der Münchner S-Bahn-Stammstrecke sollen von nun an gebündelt stattfinden. Die Bahn möchte dadurch die baubedingten Fahrplaneinschränkungen durch gesperrte Gleise geringer halten.
要查看质量上的差异,请使用部分文本(前几个单词)与整个文本。
另一个要点:使用单位选择语音时不会发生这种情况。
我是否遗漏了类似配置或特定参数集的内容,或者这是MaryTTS中HMM语音的标准行为?
能够以合适的质量使用这种语音会很棒,因为单位选择语音不能作为独立的依赖项使用,并且必须将文本拆分成较小的部分并按顺序播放它并不是我想要的。< / p>
赞赏任何意见。
更新
进一步的试验和错误表明,当文本包含诸如的标点符号时,会添加机器人背景声音。 ,:; [] {}。独立于文字长度!不确定根本原因是什么,但至少在转换之前使用文本操作可以使用语音。