目前因任务需求,所以需要实现在linux下的文字转语音的功能,但是又不想去付费讯飞等平台。因此在网上找寻相关开源的语音引擎。
一开始是试了espeak,但是实现后的效果很差,因为eSpeak使用“共振峰综合”方法。因此效果就有点生硬。实际使用的话,感觉不可行。
后面又测试了ekho的。ekho的效果远远好于espeak。因此打算使用ekho.
在github上下载了ekho的源码,按照cpp文件中的编码方式进行编译,发现有很多问题,看着人眼睛发昏。后在网上搜寻相关资料,内容页不是很多。只能自己去尝试解决报错内容。
最终终于将正确的编译命令整理出来。如下:
g++ ../src/test_ekho.cpp libekho.a ../libmusicxml/libmusicxml2.a -pthread -I. -I../include/soundtouch libekho.a -lsndfile /usr/lib/speech_tools/lib/libSoundTouch.a -lportaudio /usr/lib/speech_tools/lib/libFestival.a /usr/lib/speech_tools/lib/libestools.a -lcurses /usr/lib/speech_tools/lib/libeststring.a /usr/lib/speech_tools/lib/libestbase.a -lvorbisenc -lvorbis -lm -logg -lasound -lpulse -lpulsecommon-14.2 -lpulse-simple -fopenmp -lespeak
希望可以给有需要的人提供一点么帮助
我的ekho是8.6的。