您的位置:首页 > 移动开发 > Android开发

一、PocketSphinx-Android DNK环境搭建

2014-10-26 21:11 302 查看

一、PocketSphinx-Android DNK环境搭建

基于Pocketsphinx_Android语音识别实际上就是一个通过jni编程调用微软写的sphinx和pocketsphinx函数库(这两个库都是C语言写的),然后通过声学模型分析录入的语音,根据分析出的特性在数据字典中寻找匹配的文字。主要用到的知识应该就是jni交叉语言编程,其实质也就是通过NDK,借助这两个函数库编译出最终的.so文件。(当然,这其中也包括用到swig将c
接口转java 并生成java类,这个我不太懂就不说了)最终的android程序也就是要通过这个.so文件去实现识别功能,android终究是linux的程序,它还是要依托linux下的共享函数库即.so文件而不是windows下的.dll文件。

搭建环境:Win7+DNK_r10_x86,相关工具下载详见文章末尾。

所需要的软件:http://yunpan.cn/csxmxf7Yn2mY7 提取码
4009

1.Android DNK环境搭建
(1)安装配置Cygwin
Cygwin相当于Windows下的Linux环境,因为使用因为使用 NDK、PocketSphinx 需要编译源码之类的 Linux 操作。

a.双击Cygwin Setup.exe,网络下载所需要的库和工具
Install from Internet->Root Directory setting->Next->Direct Connection

->选择下载网站->点击需要下载的工具和库(可以多选,并且基本都是选择

文件)
注:需要下载的文件:autoconf2.1、automake1.10、binutils、gcc-core、gcc-g++、gdb、pcre、pcre-devel、gawk、make、libtool、swig(选择
1.3.40-1,不是 2.0.9-1,不然后期编译不能通过!)如果后期编译出错,看错误,少什么文件再来下载。







注意:swig-1.3.40安装

安装swig(You need swig 1.3, for now we do not support newer swig like 2.0,老外说这个不支持2.0以上的版本,下载swig-1.3.40)

swig-1.3.40:http://sourceforge.net/projects/swig/files/swig/swig-1.3.40/ 解压到相应目录,例如我放在:E:\software\Tools\swigwin-1.3.40

(1)设置电脑上的环境变量,右键我的电脑-属性-高级系统设置-环境变量,在PATH中添加swig的存放目录。打开cgywin安装swig,cd进去存放目录

(2)打开cygwin终端:执行cd /cygdrive/e/software/Tools/swigwin-1.3.40

(3)依次执行"./autogen.sh" "./configure " "make" "make install"

(4)输入swig -version能查看相应版本表示已安装成功.
b.等待下载完全后。打开Cygwin Terminal,在命令行中分别执行gcc --version、g++ --version、make --version、gdb --version依次显示相应的版本信息则说明Cygwin安装成功.注意如果出现找不到情况版本或命令情况,说明Cygwin有些文件没有安装正确,需重新运行Cygwin.exe下载器安装。



参考资料:

http://gaebolg.blog.163.com/blog/static/19826906820136232810723/

http://blog.csdn.net/pengchua/article/details/7582949

/------------------------------------------------------------------------------------------------/

(2)配置Android NDK

首先、将android-ndk-r10c-windows-x86.exe拷贝到D:\Android,并双击解压得到其路径D:\Android\android-ndk-r10c,一般来说无需特别配置。
其次、打开 cygwin/etc/profile(修改环境变量),如下地方:cygdrive 后边是盘符,然后就是路径了,注意最后的冒号修改。





第三、打开Cygwin终端,输入ndk-build或者输入命令cd
/cygdrive/d/android-ndk-r10c以检验NDK环境变量是否安装正确,以下情况说明ndk-build命令正常。






2.测试NDK环境是否安装成功
(1)选择 NDK 自带的例子 hello-jni,假设位于D:\Android\android-ndk-r10c\hello-jni(根据你具体的安装位置而定);
(2)运行 Cygwin,输入命令 cd /cygdrive/d/android-ndk-r10c/samples/hello-jni,进入到 D:\Android\android-ndk-r10c\hello-jni目录;
(3)输入 ndk-build,执行成功后,它会自动生成一个 libs 目录,把编译生成的
.so 文件放在里面。(ndk-build 是调用 NDK 的编译程序);
(4)此时去 hello-jni 的 libs 目录下看有没有生成的 .so 文件,如果有,那么
NDK 配置成功。









/-------------------------------------------------------------------------------------------------/

3.相关工具下载

(1)官方下载 Cygwin:http://cygwin.com/install.html

(2)官方下载android-ndk-r10c-windows-x86.exe

http://developer.android.com/tools/sdk/ndk/index.html#download

参考资料:
http://gaebolg.blog.163.com/blog/static/19826906820136232810723/(重要参考)
http://www.eoeandroid.com/thread-298033-1-1.html[本地语音识别技术]
http://ucla.jamesyxu.com/?p=118
http://leiwuluan.iteye.com/blog/1287305
http://blog.csdn.net/aaaeee2011/article/details/12884117
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: