CentOS 5下freeswitch中集成使用ekho实现TTS功能二
三:以上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功能二的更多相关文章
- CentOS 5下freeswitch中集成使用ekho实现TTS功能三
四:在freeswitch中调用ekho 注:在测试过程中该语音包好像没用 FreeSWITCH 中文语音包测试版fssounds.zip 在/usr/local/freeswitch/sounds/ ...
- freeswitch中集成使用ekho实现TTS功能一
Linux下安装freeswitch并集成ekho实现TTS 1. linux下安装freeswitch就不多介绍了,具体链接网址: http://www.8000hz.com/archives/14 ...
- AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能
在AngularJS应用中集成百度地图实现定位功能 注:请点击此处进行充电! 前言 根据项目需求,需要实现手机定位功能,考虑到百度业务的强大能力,遂决定使用百度地图第三方服务. 添加第三方模块的步骤与 ...
- 记录下项目中常用到的JavaScript/JQuery代码二(大量实例)
记录下项目中常用到的JavaScript/JQuery代码一(大量实例) 1.input输入框监听变化 <input type="text" style="widt ...
- 实战MySQL集群,试用CentOS 6下的MariaDB-Galera集成版
说起mysql的集群估计很多人会首先想起mysql自带的replication或者mysql-mmm.mysql-mmm其实也是基于mysql自带的replication的,不过封装的更好用一些,但是 ...
- windows下openresty中使用lua做接口转发、二次封装等
需求:根据客户需求,可以在ngx下 通过lua做接口二次封装再次转发给用户或第三方 场景:对返回值有要求的.接口屏蔽字段.或做一些业务上的验证等 1.windows直接下载openresty 解压即可 ...
- 现有项目中集成Flutter
本文列举了项目开发使用Flutter会遇到的问题,以及如何使用Flutter module在现有项目中集成Flutter,并对其原理进行了分析. 最近在做的一个商业项目,完全的使用Flutter编写的 ...
- 怎么在我们的App中集成条码扫描功能?
现在很多App都有条码扫描功能,有的手机比如某米在照相机中集成了条码扫描功能,但是还有一部分手机没有这样的集成,比如韩国某星,需要自己下载一个条码扫描App.今天我们就来看看怎么在自己的App中集成一 ...
- windows下VMware-workstation中安装CentOS
windows下VMware-workstation中安装CentOS,可以分两部分,安装虚拟机和安装CentOS虚拟机.具体步骤如下: 一.安装虚拟机 1.安装VMware-workstation, ...
随机推荐
- 我的第二个java程序 循环
public class Test {//类 public Test (int num){//构造方法,和类同名,无返回值,接收传参并定义传参的类型,大小写敏感 int x = 10;//局部变量,定 ...
- 【JavaEE】Springmvc+Spring+Hibernate整合及example
前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码结构. Hibernate和前面两个比就比较复杂了,Hibernate是一个o ...
- eclipse 查看源代码
文地址:http://blog.csdn.net/sushengmiyan/article/details/18798473 本文作者:sushengmiyan 我们在使用Eclipse的时候,经常是 ...
- conda 和 pip 安装,更新,删除
安装: pip install xxx conda install xxx 更新: pip install --upgrade xxx conda update xxx 删除: pip uninst ...
- Linux 进程(二):进程关系及其守护进程
进程关系 进程组 进程组是一个或多个进程的集合.通常,它们是在同一作业中结合起来的,同一进程组中的各进程接收来自同一终端的各种信号,每个进程组有一个唯一的进程组ID.每个进程组有一个组长进程,该组长进 ...
- 宇视4G设备采用GB/T28181协议成功接入EasyGBS国标流媒体平台的设置流程
经过了多天的调试对接,终于将宇视的布控球顺利接入到了EasyGBS的国标平台,特地写一下对接过程中遇到的问题,希望能帮助大家避开一些麻烦: 第一步:电脑连接无线网络IPCWIFI,密码12345678 ...
- 巨蟒python全栈开发linux之centos3
1.作业讲解 (1)递归创建文件夹/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng} 下面中的路径没有必要换,在哪里创建都行,根目录下或者tmp目录下或者其 ...
- ECMAScript6箭头函数ArrowFunction"=>"
一.说明 ECMAScript6可以用箭头"=>"定义函数.x => x * x或(x) => {return x * x;}与匿名函数function(x){r ...
- 网络安装CentOS6.4
第一步:所需工具安装包下载地址: http://115.com/file/antbtamu#网络安装CentOS.rar(或者下载NetbootM.exe和hfs.exe) 第二步:将CentOS6. ...
- 设置mysql外网访问
任意主机以用户root和密码mypwd连接到mysql服务器mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'myp ...