科大讯飞语音识别omap3730平台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.编译之前,请从https://www.360docs.net/doc/4c12138575.html,申请你应用的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#


相关文档
最新文档