CentOS 5下freeswitch中集成使用ekho实现TTS功能二

摘要:
三:以上Festival安装完成以后回到ekho安装目录:执行./configure--enable-festival前更改configure1:替换#AC_DEFINE(ENABLE_FESTIVAL,,[EnableFestival])#LIB_FESTIVAL="${srcdir}/lib/libFestival.a${srcdir}/lib/libestools.a${srcdir}/li

三:以上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功能二》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue的响应接口Docker中部署mysql后SpringBoot连接时提示表不存在(修改表名忽略大小写)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何设置CentOS 7获取动态IP和静态IP

自动获取动态IP地址 1.输入“ip addr”并按回车键确定,发现无法获取IP(CentOS 7默认没有ifconfig命令),记录下网卡名称(本例中为ens33)。 2.输入“cd /etc/sysconfig/network-scripts/”按回车键确定,继续输入“ls”按回车键查看文件。 3.输入“vi ifcfg-ens33”并按回...

centos使用yum安装mysql

参考:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 1.增加yum数据源 (1.1)从http://dev.mysql.com/downloads/repo/yum/ 获取合适的数据源 (1.2)安装数据源包 shell> sudo rpm -Uvh platform-and-vers...

[虚拟机] VMware 15 + CentOS 7.7/8.0在主机和客户机之间拷贝文件失败的解决办法

  CentOS 7.8是CentOS 7.x最后一个版本,本以为这个版本应该很完美,而且会解决7.6里对压缩包点右键没有“在当前目录解压”的选项的bug,实际试了一下比较失望,这个选项按钮还是没出现,反倒出现了一个新问题,即VMware 15(这里用的是当下最新的15.5.1)下用CentOS 7.8时,从主机往虚拟机里直接拷文件会出现如下报错,不管什么...

centos下Zabbix Agent端部署和安装

首先重复一下前面的规划 server端: 192.168.136.144 centos6.5 (虚拟机) agent端: 192.168.136.155 centos6.5( 虚拟机) 下面,我们要在agent端155上安装 zabbix的agent ,看看如何进行安装和监控起来 1、同步客户端时间,防止跟服务器端不一致,导致检测到不可用的监控数据 本次实...

redhat7.4切换yum源为免费源

1.redhat是Linux系统中付费的企业版,虽然安装什么是免费的,但是需要注册。 如果你有注册码,暂请出门左拐(我没有注册码,所以我也不会注册,不用往下看了)。 Linux系统收费版:RedHat 免费版:CentOS、ubuntu 2.安装时不会提醒你注册(没注意,可能会提示)。当你使用yum命令时,提示你redhat需要注册。 此时,我们就需要将y...

CentOs安装cacti

虚拟机地址 192.168.24.69, 附件中的三个文件可以用SSH FILE工具上传到root文件夹下,方便后续操作 一、安装所需要的软件(1)在主监控机上安装apache+php+gd的web环境,推荐编译安装,在此直接用yum安装。 #yum install -y php php-mysql php-snmp mysql mysql-serve...