三:以上Festival安装完成以后回到ekho安装目录:

执行./configure --enable-festival 前

更改configure

1:替换

#AC_DEFINE(ENABLE_FESTIVAL,,[Enable Festival])

#LIB_FESTIVAL="${srcdir}/lib/libFestival.a ${srcdir}/lib/libestools.a ${srcdir}/lib/libestbase.a ${srcdir}/lib/libeststring.a -lncurses"

#           CFLAG_FESTIVAL="-I${srcdir}/include/festival -I${srcdir}/include/speech_tools"

else

{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5

$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}

as_fn_error $? "ncurses test failed

See \`config.log' for more details" "$LINENO" 5; }

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lestools" >&5

$as_echo_n "checking for main in -lestools... " >&6; }

if ${ac_cv_lib_estools_main+:} false; then :

$as_echo_n "(cached) " >&6

else

ac_check_lib_save_LIBS=$LIBS

LIBS="-lestools

$LIBS"

cat confdefs.h - <<_ACEOF >conftest.$ac_ext

/* end confdefs.h.  */

int

main ()

{

return main ();

;

return 0;

}

_ACEOF

if ac_fn_c_try_link "$LINENO"; then :

ac_cv_lib_estools_main=yes

else

ac_cv_lib_estools_main=no

fi

rm -f core conftest.err conftest.$ac_objext \

conftest$ac_exeext conftest.$ac_ext

LIBS=$ac_check_lib_save_LIBS

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_estools_main" >&5

$as_echo "$ac_cv_lib_estools_main" >&6; }

if test "x$ac_cv_lib_estools_main" = xyes; then :

cat >>confdefs.h <<_ACEOF

#define HAVE_LIBESTOOLS 1

_ACEOF

LIBS="-lestools $LIBS"

改为:

$as_echo "#define ENABLE_FESTIVAL /**/" >>confdefs.h

LIB_FESTIVAL="${srcdir}/lib/libFestival.a ${srcdir}/lib/libestools.a ${srcdir}/lib/libestbase.a ${srcdir}/lib/libeststring.a -lncurses"

CFLAG_FESTIVAL="-I${srcdir}/include/festival -I${srcdir}/include/speech_tools"

2:替换

as_fn_error $? "estool test failed

See \`config.log' for more details" "$LINENO" 5; }

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lFestival" >&5

$as_echo_n "checking for main in -lFestival... " >&6; }

if ${ac_cv_lib_Festival_main+:} false; then :

$as_echo_n "(cached) " >&6

else

ac_check_lib_save_LIBS=$LIBS

LIBS="-lFestival

$LIBS"

cat confdefs.h - <<_ACEOF >conftest.$ac_ext

/* end confdefs.h.  */

int

main ()

{

return main ();

;

return 0;

}

_ACEOF

if ac_fn_c_try_link "$LINENO"; then :

ac_cv_lib_Festival_main=yes

else

ac_cv_lib_Festival_main=no

改为:

as_fn_error "ncurses test failed (--disable-festival to disable)

See \`config.log' for more details." "$LINENO" 5; }

3去掉:

rm -f core conftest.err conftest.$ac_objext \

conftest$ac_exeext conftest.$ac_ext

LIBS=$ac_check_lib_save_LIBS

fi

{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Festival_main" >&5

$as_echo "$ac_cv_lib_Festival_main" >&6; }

if test "x$ac_cv_lib_Festival_main" = xyes; then :

$as_echo "#define ENABLE_FESTIVAL /**/" >>confdefs.h

LIB_FESTIVAL="-lFestival -lestbase -lestools -leststring -lncurses"

CFLAG_FESTIVAL="-I/usr/include/festival -I/usr/include/speech_tools"

else

$as_echo "#define ENABLE_FESTIVAL /**/" >>confdefs.h

LIB_FESTIVAL="${srcdir}/lib/libFestival.a ${srcdir}/lib/libestools.a ${srcdir}/lib/libestbase.a ${srcdir}/lib/libeststring.a -lncurses"

CFLAG_FESTIVAL="-I${srcdir}/include -I${srcdir}/include/festival -I${srcdir}/include/speech_tools"

else

LIB_FESTIVAL=""

CFLAG_FESTIVAL=""

Fi

4:添加:

else

with_mp3lame=no

fi

后添加

LIBS="-lasound $LIBS"

5以上更改以后:

在ekho安装目录下:

执行make

出现以下错误:

src/libekho.cpp:58:31: 错误:festival/festival.h:没有那个文件或目录

src/libekho.cpp: In member function ‘int ekho::Ekho::initFestival()’:

src/libekho.cpp:252: 错误:‘festival_initialize’ 在此作用域中尚未声明

src/libekho.cpp:257: 错误:‘strintern’ 在此作用域中尚未声明

src/libekho.cpp:257: 错误:‘siod_set_lval’ 在此作用域中尚未声明

src/libekho.cpp:261: 错误:‘festival_load_file’ 在此作用域中尚未声明

src/libekho.cpp:269: 错误:‘festival_tidy_up’ 在此作用域中尚未声明

src/libekho.cpp: In member function ‘int ekho::Ekho::writeToSonicStream(short int*, int, bool, bool)’:

src/libekho.cpp:752: 警告:当转换到 ‘short int’ (从 ‘double’)时

src/libekho.cpp:762: 警告:当转换到 ‘int’ (从 ‘float’)时

src/libekho.cpp: In member function ‘const char* ekho::Ekho::getPcmFromFestival(std::string, int&)’:

src/libekho.cpp:1203: 错误:‘festival_eval_command’ 在此作用域中尚未声明

src/libekho.cpp:1218: 错误:‘EST_Wave’ 在此作用域中尚未声明

src/libekho.cpp:1218: 错误:expected `;' before ‘wave’

src/libekho.cpp:1219: 错误:‘wave’ 在此作用域中尚未声明

src/libekho.cpp:1219: 错误:‘festival_text_to_wave’ 在此作用域中尚未声明

src/libekho.cpp:1225: 错误:‘EST_TVector’ 在此作用域中尚未声明

src/libekho.cpp:1225: 错误:expected primary-expression before ‘short’

src/libekho.cpp:1225: 错误:expected `;' before ‘short’

src/libekho.cpp:1226: 错误:‘tvector’ 在此作用域中尚未声明

make[1]: *** [src/libekho_a-libekho.o] 错误 1

make[1]: Leaving directory `/home/new_uucc_soft/ekho-6.0'

make: *** [all] 错误 2

解决方法:

用命令:mkdir /usr/include/festival

cd /usr/include/festival

拷贝festival.h  fngram.h  intonation.h  lexicon.h  Makefile  ModuleDescription.h  modules.h  module_support.h  Phone.h  text.h

到festival文件夹下

6.回到ekho安装目录下:

执行make:

出现:

g++: ./lib/libFestival.a: No such file or directory

g++: ./lib/libestools.a: No such file or directory

g++: ./lib/libestbase.a: No such file or directory

g++: ./lib/libeststring.a: No such file or directory

make[1]: *** [test_ekho] 错误 1

解决办法:

在ekho安装目录下执行:

cp lib32  lib

在festival和speech_tools的安装目录下面将.a文件

/festival/src/lib/中的libFestival.a拷贝到ekho安装目录下的lib中并覆盖

/speech_tools/lib/中的libestools.a libestbase.a libeststring.a拷贝到ekho安装目录下的lib中并覆盖

最后,执行make && make install ,安装完成

CentOS 5下freeswitch中集成使用ekho实现TTS功能二的更多相关文章

  1. CentOS 5下freeswitch中集成使用ekho实现TTS功能三

    四:在freeswitch中调用ekho 注:在测试过程中该语音包好像没用 FreeSWITCH 中文语音包测试版fssounds.zip 在/usr/local/freeswitch/sounds/ ...

  2. freeswitch中集成使用ekho实现TTS功能一

    Linux下安装freeswitch并集成ekho实现TTS 1. linux下安装freeswitch就不多介绍了,具体链接网址: http://www.8000hz.com/archives/14 ...

  3. AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能

    在AngularJS应用中集成百度地图实现定位功能 注:请点击此处进行充电! 前言 根据项目需求,需要实现手机定位功能,考虑到百度业务的强大能力,遂决定使用百度地图第三方服务. 添加第三方模块的步骤与 ...

  4. 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)

    记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...

  5. 实战MySQL集群,试用CentOS 6下的MariaDB-Galera集成版

    说起mysql的集群估计很多人会首先想起mysql自带的replication或者mysql-mmm.mysql-mmm其实也是基于mysql自带的replication的,不过封装的更好用一些,但是 ...

  6. windows下openresty中使用lua做接口转发、二次封装等

    需求:根据客户需求,可以在ngx下 通过lua做接口二次封装再次转发给用户或第三方 场景:对返回值有要求的.接口屏蔽字段.或做一些业务上的验证等 1.windows直接下载openresty 解压即可 ...

  7. 现有项目中集成Flutter

    本文列举了项目开发使用Flutter会遇到的问题,以及如何使用Flutter module在现有项目中集成Flutter,并对其原理进行了分析. 最近在做的一个商业项目,完全的使用Flutter编写的 ...

  8. 怎么在我们的App中集成条码扫描功能?

    现在很多App都有条码扫描功能,有的手机比如某米在照相机中集成了条码扫描功能,但是还有一部分手机没有这样的集成,比如韩国某星,需要自己下载一个条码扫描App.今天我们就来看看怎么在自己的App中集成一 ...

  9. windows下VMware-workstation中安装CentOS

    windows下VMware-workstation中安装CentOS,可以分两部分,安装虚拟机和安装CentOS虚拟机.具体步骤如下: 一.安装虚拟机 1.安装VMware-workstation, ...

随机推荐

  1. 我的第二个java程序 循环

    public class Test {//类 public Test (int num){//构造方法,和类同名,无返回值,接收传参并定义传参的类型,大小写敏感 int x = 10;//局部变量,定 ...

  2. 【JavaEE】Springmvc+Spring+Hibernate整合及example

    前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码结构. Hibernate和前面两个比就比较复杂了,Hibernate是一个o ...

  3. eclipse 查看源代码

    文地址:http://blog.csdn.net/sushengmiyan/article/details/18798473 本文作者:sushengmiyan 我们在使用Eclipse的时候,经常是 ...

  4. conda 和 pip 安装,更新,删除

    安装: pip install xxx conda install xxx 更新: pip  install --upgrade xxx conda update xxx 删除: pip uninst ...

  5. Linux 进程(二):进程关系及其守护进程

    进程关系 进程组 进程组是一个或多个进程的集合.通常,它们是在同一作业中结合起来的,同一进程组中的各进程接收来自同一终端的各种信号,每个进程组有一个唯一的进程组ID.每个进程组有一个组长进程,该组长进 ...

  6. 宇视4G设备采用GB/T28181协议成功接入EasyGBS国标流媒体平台的设置流程

    经过了多天的调试对接,终于将宇视的布控球顺利接入到了EasyGBS的国标平台,特地写一下对接过程中遇到的问题,希望能帮助大家避开一些麻烦: 第一步:电脑连接无线网络IPCWIFI,密码12345678 ...

  7. 巨蟒python全栈开发linux之centos3

    1.作业讲解 (1)递归创建文件夹/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng} 下面中的路径没有必要换,在哪里创建都行,根目录下或者tmp目录下或者其 ...

  8. ECMAScript6箭头函数ArrowFunction"=>"

    一.说明 ECMAScript6可以用箭头"=>"定义函数.x => x * x或(x) => {return x * x;}与匿名函数function(x){r ...

  9. 网络安装CentOS6.4

    第一步:所需工具安装包下载地址: http://115.com/file/antbtamu#网络安装CentOS.rar(或者下载NetbootM.exe和hfs.exe) 第二步:将CentOS6. ...

  10. 设置mysql外网访问

    任意主机以用户root和密码mypwd连接到mysql服务器mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'myp ...