根据RELEASE包的README指导安装依赖sudo apt install autoconf autogen automake build-essential libasound2-dev libflac-dev libogg-dev libtool libvorbis-dev libopus-dev libmp3lame-dev libmpg123-dev pkg-config python,之后不要照着README做,
./autogen.sh
./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/libsndfile-1.0.31 &&
make
sudo make install
,--disable-static避免静态库的安装,参考链接:libsndfile-1.0.31,这样就能编译ladspa(Linux Audio Developer's Simple Plugin API)了,ladspa的编译:进入src目录,make和make install,编译cmt(Computer Music Toolkit),同ladspa编译方式
需要安装portaudio和espeak。
1. 仓库安装
sudo apt install portaudio19-dev espeak,测试espeak -v zh "你好",听到声音,报错Full dictionary is not installed for 'zh',接下来为了使得espeak支持更大范围的中文发音(尽管我不知到默认安装的espeak支持的汉字数量),语音数据在/usr/lib/x86_64-linux-gnu/espeak-data(通过espeak --version可看到该目录和espeak版本号1.48.03),Additional Data for eSpeak下载中文语音包(从本站下载),解压,放在/usr/lib/x86_64-linux-gnu/espeak-data,ESPEAK DOWNLOADS下载espeak-1.48.03源码(我实际使用1.48.04版本),解压源码后复制distsource下的内容到/usr/lib/x86_64-linux-gnu/espeak-data,执行sudo espeak --compile=zh
2. 源码安装,需要espeak-1.48.13和portaudio_v18,上述两个包分别从ESPEAK DOWNLOADS和Download PortAudio找到,编译都通过了,且安装成功,暂未确定espeak运行是否成功,因为我先用了espeak-1.48.15和portaudio_v18在另一台电脑上源码编译(一个电脑已经仓库安装,不想花搞),安装后,直接调用espeak,报错硬件设备输出错误,我想可能是没有语音数据的缘故,准备迁移语音数据目录到/usr/bin下,后来注意到编译时确定的espeak语音数据目录是/xxx/xxx/espeak-data,准备删掉/usr/bin/espeak-data,失手删掉/usr/bin,后面就没有继续验证了,以下内容也是凭印象写的,主要就写到安装那个步骤吧,另外,在调用espeak的build目录下的espeak时报错:portaudio的某类不匹配。参考自espeak和portaudio安装
解压portaudio,./configure,打开Makefile,在CFLAGS=。。。一行后面加上编译选项-fPIC,解决报错relocation R_X86_64_32 against `.rodata.str1.1′ can not be used when making a shared object; recompile with -fPIC,make && make install,解压espeak,cd src, tr_languages.cpp203行需要显式转换十六进制数为字符,make,make install
参考链接: libsndfile/libsndfile
Download