这是http://www.masswerk.at/eliza中用于 en-us 语音的代码——它听起来有点像一个大约 50 岁的女性心理学家的陈词滥调。
{
"voice_id":"eliza/en/en-us",
"dict_id":"en_dict",
"dict":"AAQAAECpAAANRUE(... snipp ...)",
"voice":"name eliza-english-us\nlanguage en-us 2\nlanguage en-r\nlanguage en 3\ngender female 50\nphonemes en-us\ndictrules 3 6\noption reduce_t 1\npitch 90 138.\necho 40 20\nintonation 3\nflutter 1\nroughness 1\nvoicing 80\nconsonants 103 120\ntone 600 160 1200 145 2000 120\nstressLength 145 125 190 170 0 0 260 290\nstressAmp 17 16 19 19 19 19 21 19\nstressAdd 0 0 -10 -10 0 0 10 40\nbreath 0 2 3 3 3 3 0 5\nbreathw 150 150 200 200 400 400\nformant 0 105 80 150\nformant 1 110 80 160\nformant 2 110 70 150\nformant 3 110 70 150\nformant 4 115 80 200\nformant 5 115 80 100\nformant 6 110 70 150\nformant 7 110 70 100\nformant 8 110 70 150\n",
"voice_encoding":"text"
}
完整文件见: http: //www.masswerk.at/eliza/voices/eliza-en-us.json
确保至少有 meSpeak.js 版本 1.3.1(请参阅 mespeak.js 中的标题注释;当前版本是 1.5,建议更新)。
编辑最佳实践:内部 eSpeak 核心只会因格式错误的语音语法而失败。再次尝试删除一些更复杂的行,并从工作语音描述向前推进到更复杂的描述。
例如,您可以从以下开始:
"voice": "name english-us-f\nlanguage en-us 2\nlanguage en-r\nlanguage en 3\ngender female\nphonemes en-us\ndictrules 3 6\noption reduce_t 1"
并开始为此添加压力和替换选项。