一、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)安装配置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,不然后期编译不能通过!)如果后期编译出错,看错误,少什么文件再来下载。