from : http://club.voicecloud.cn/forum.php?mod=viewthread&tid=5484
摸索了一段时间,大概明白了如何在linux下运行讯飞语音云的测试程序
只是做了一个简单的总结,高手勿喷
讯飞语音云x86桌面版linux(Ubuntu)下运行
1.确保linux系统能够连接网络,能上网
2.解压linux_1.010_51334159.zip
3.编译之前,请从http://dev.voicecloud.cn申请你应用的appid,替换test.cpp文件第25行appid参数
4.编译方法:
解压后进入msc_test目录,编译debug版本执行make ; 编译release版本执行make release=1, 分别产生xebug和xelease目录;
如:本人将msc_test目录放在/root/目录下,然后进入msc_test目录,执行命令make
5,修改LD_LIBRARY_PATH环境变量:
修改LD_LIBRARY_PATH环境变量为bin目录,已确保执行时能够加载动态库;
如: export LD_LIBRARY_PATH=/root/msc_test/bin
6.运行,进入xebug或者xelease目录,执行msc_test文件,输出的结果见iat_result.txt文件;
如:进入xebug目录 cd /root/msc_test/xebug
拷贝/root/msc_test/bin目录下的test.wav文件到 /root/msc_test/xebug目录下
cp /root/msc_test/bin/test.wav /root/msc_test/xebug/
最后进入cd /root/msc_test/xebug 目录,后执行运行命令 ./msc_test ,之后选择2来执行测试test.wav文件
输出的结果见iat_result.txt文件;
x86版本Linux结果输出:
root@bear-virtual-machine:~/msc_test/xebug# ./msc_test
choose a test:
1.tts_test
2.iat_test
2
begin iat test
session begin return 0:msc-resource0001@recognizer
writing audio...
.........................
get result
get a result: 隐形的翅膀 len: 15
[0]:get result[0/0]: 隐形的翅膀
get a result: 。 len: 3
[200
======================================================================
讯飞语音云在SBC3730平台linux运行测试程序
1.解压linux_1.010_51334159.zip
如:本人将msc_test目录放在Ubuntu 12.10 目录 /root/ 内
2.将交叉编译器提交给科大讯飞的相关技术人员,让他们编译一个符合自己开发平台的相关库
如:本人的交叉编译器为:arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
科大讯飞的技术人员将libspeex.so 和 libmsc.so 库发给了我
然后当然要将符合我平台的两个库替换目录 msc_test/bin 内的x86版Linux的库
3.编译之前,请从http://dev.voicecloud.cn申请你应用的appid,替换test.cpp文件第25行appid参数
4.修改msc_test目录下的 configure.mk文件
注意:如果之前在msc_test目录下编译过x86版本,并做以下操作直接修改configure.mk文件,
之后的编译可能会发生错误,
解决方法可以是清除编译或者直接拷贝一个新的msc_test目录再重新执行操作
以下是修改configure.mk文件内容
#define Makefile variable in multi-platform
HOST_TYPE :=$(shell uname)
#if you do not define CC_TYPE, I'll choose it automatically.
ifeq "$(CC_TYPE)" ""
ifeq "$(HOST_TYPE)" "SunOS"
CC_TYPE := forte
else
CC_TYPE := gcc ====>> 此处替换为arm gcc编译器 如本人的为: arm-none-linux-gnueabi-gcc
endif
endif
#define some utilites
SHELL =/bin/sh
RM =/bin/rm -f
CP =/bin/cp
ifeq "$(CC_TYPE)" "forte"
CCC :=/opt/SUNWspro/bin/CC
CC :=/opt/SUNWspro/bin/cc
CCADMIN :=/opt/SUNWspro/bin/CCadmin
AR :=$(CCC) -xar -o
else
#ifeq "$(HOST_TYPE)" "AIX"
# CCC = /usr/vacpp/bin/xlC_r
# cc = $(CCC)
# AR = /usr/bin/ar -r
#else ====>>注意:本人交叉编译器的配置路径为:/usr/local/arm/arm-2009q1/bin
CCC =/usr/bin/g++ ====>>改为:/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-g++
CC =/usr/bin/gcc ====>> /usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc
AR =/usr/bin/ar -r ====>> /usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-ar -r
#endif
endif
5.编译
进入msc_test目录,编译debug版本执行make ; 编译release版本执行make release=1, 分别产生xebug和xelease目录;
本人操作结果:
root@bear-virtual-machine:~/msc_test# make
Create /root/msc_test/xebug
/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-g++ -c -g -D_DEBUG -D_GNU_SOURCE -w -pthread -pipe -Iinclude -fPIC -o /root/msc_test/xebug/test.o /root/msc_test/test.cpp
/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-g++ -g -D_DEBUG -D_GNU_SOURCE -w -pthread -pipe -o /root/msc_test/xebug/msc_test /root/msc_test/xebug/test.o -Lbin -lmsc -ldl -lpthread
root@bear-virtual-machine:~/msc_test#
6.拷贝msc_test目录下的 bin include xebug目录到开发板,或者整个msc_test目录拷到开发板
之后在开发板添加 msc_test下的bin目录到 LD_LIBRARY_PATH 环境变量
本人操作:将msc_test目录拷贝到根目录下
export LD_LIBRARY_PATH=/msc_test/bin
7.然后执行
进入xebug目录, cd /msc_test/xebug/
执行操作
root@beagleboard:/msc_test/xebug# ./msc_test
choose a test:
1.tts_test
2.iat_test
此时选择2 ,出现如下结果,
(注:选择2时,必须保证xebug目录下存在测试文件test.wav,
否则会发生错误,并且开发板能够连接网络,能够成功ping到百度)
选择2时,msc_test目录下不存在test.wav文件
root@beagleboard:/msc_test/xebug# ./msc_test
choose a test:
1.tts_test
2.iat_test
2
begin iat test
session begin return 0:msc-resource0001@recognizer
open input test.wav failed.
当msc_test目录下存在test.wav时:
root@beagleboard:/msc_test/xebug# cp ../bin/test.wav .
root@beagleboard:/msc_test/xebug# ls
iat_result.txt msc_test test.wav
msc test.o
root@beagleboard:/msc_test/xebug# ./msc_test
choose a test:
1.tts_test
2.iat_test
2
begin iat test
session begin return 0:msc-resource0001@recognizer
writing audio...
.........................
get result
get a result: ��隐��形��的��翅��膀 len: 15
[0]:get result[0/0]: ��隐��形��的��翅��膀
get a result: ��。 len: 3
[200]:get result[0/5]: ��。
conf_fini| 2...
conf_fini| 3...
conf_fini| 4...
conf_fini| 5...
conf_fini| 6...
conf_fini| 7...
isp_sock_fini| enterisp_sock_fini| 1...
isp_sock_fini| 2...
isp_sock_fini| 3...
isp_sock_fini| 4...
isp_sock_fini| 5...
root@beagleboard:/msc_test/xebug#