出现错误
configure: error: in `/home/chenjie/dnake/ekho-8.6':
configure: error: espeak-ng test failed
执行以下指令,解决
sudo apt-get install libpulse-dev
sudo apt-get install libsndfile1-dev
sudo apt-get install libespeak-ng-dev
使用中出现英文发音异常,按照以下修改源码,
case ENGLISH_TEXT:
if (pause > 0) {
cerr <<"chen1"<< endl;
word--; // turn back pointer
if (pause > 1)
pPcm = this->mDict.getFullPause()->getPcm(size);
else if (pause >= 0.5)
pPcm = this->mDict.getHalfPause()->getPcm(size);
else
pPcm = this->mDict.getQuaterPause()->getPcm(size);
pause = 0;
callback((short *)pPcm, size / 2, userdata, OVERLAP_NONE);
} else {
char c;
#if 0
if ((word->text.length() == 1) &&
(c = tolower(word->text.c_str()[0])) && c >= 'a' && c <= 'z') {
cerr <<"chen2"<< endl;
/*
if (!mAlphabetPcmCache[c - 'a'])
mAlphabetPcmCache[c - 'a'] =
getEnglishPcm(word->text, mAlphabetPcmSize[c - 'a']);
pPcm = mAlphabetPcmCache[c - 'a'];
size = mAlphabetPcmSize[c - 'a'];
*/
// use pinyin-huang alphabet
phon_symbol = word->symbols.begin();
pPcm = (*phon_symbol)->getPcm(mDict.mVoiceFile, size);
callback((short *)pPcm, size / 2, userdata, OVERLAP_NONE);
} else
#endif
{
cerr <<"chen3"<< endl;
pPcm = this->getEnglishPcm(word->text, size);
if (pPcm && size > 0) {
callback((short *)pPcm, size / 2, userdata, OVERLAP_NONE);
if (pPcm) delete[] pPcm;
}
pPcm = 0;
}
}
break;