espeak和portaudio安装

来源:互联网 发布:开淘宝做什么好 编辑:程序博客网 时间:2024/05/18 18:45
版本:espeak-1.48.13     portaudio_v18_1
平台:ubuntu14.04X64
依赖:espeak运行需要用到poartaudio的语音引擎的支持
espeak简介:
  • 可识别多语言的朗读软件
  • 能读中文:相对英文,更适合朗读中文
  • 可以在程序中被调用——提供c++接口及库
  • 支持词的识别和
  • 安装简单,安装文件少,依赖库少,移植方便
  • 源码32981/相对比较平滑/能处理多音字
1.获取源码
1.espeakhttp://espeak.sourceforge.net/
2.portaudiohttp://www.portaudio.com/faq.html
2.编译portaudio主要参考http://portaudio.com/docs/v19-doxydocs/compile_linux.html
1.遇到问题
1./usr/bin/ld: /usr/local/lib/mysql/libz.a(compress.o): relocationR_X86_64_32 against `.rodata.str1.1′ can not be used whenmaking a shared object; recompile with -fPIC
/usr/local/lib/mysql/libz.a:could not read symbols: Bad value
2.解决办法:编辑MakeFile文件在CFLAGS=...一行最后增加 -fPIC
3.然后重新make
2.编译完成后需要把生成/opt/portaudio_v18_1/lib/文件夹下的libportaudio.so.0.0.18文件拷贝到/usr/lib或者/usr/local/lib文件夹下,并且在/usr/lib文件夹下生成动态连接命令是:cd/usr/lib
ln-sv libportaudio.0.0.18  libportaudio.so
否则在编译espeak的时候就会报错/usr/bin/ld:cannot find -lxxx
3.编译espeak
1.如果poartaudio没有出问题的话只要按照下面步骤执行就可以完成便已过程
2.$ tar xvzf espeak-1.48.13.tar.gz
$cd espeak-1.48.13
$cd src
$make
$make install
3.变已完成滞后和portaudio一样记得把库文件拷贝到/usr/lib或者/usr/local/lib文件夹下,并且在/usr/lib文件夹下生成动态连接命令是:cd/usr/lib
ln-s  llibespeak.so.1.1.48  libespeak.so
4.测试例程
1.进入到编译所在目录在终端也可测试:
1.$ ./espeak -vzh “hello world”
$./espeak -vzh “你好”
2.#include<espeak/speak_lib.h>//包括espeak的头文件
#include<string.h>
#include<unistd.h>
intmain(int argc, char **argv)
{
    charword[] = "吃葡萄不吐葡萄皮";
    espeak_Initialize(AUDIO_OUTPUT_PLAYBACK,0, NULL, 0);    // 初始化
    espeak_SetVoiceByName("zh+f2");    // 设置音源为中文女声
    espeak_Synth(word,strlen(word) + 1, 0, POS_CHARACTER, 0,
                    espeakCHARS_UTF8,NULL, NULL);        // 发音
    sleep(3);     // 等一段时间,否则程序会立即退出,听不到发音
    espeak_Terminate();  // 回收资源
}
0 0
原创粉丝点击