WeNet是出门问问联合西北工业大学推出的端到端语音识别工具,并且已经开源在Github上。为了方便大家使用,本文将教大家如何在Android手机中构建一个语音识别系统。
本文示例运行的环境为CPU (Intel x86_64) + MacOS。
环境配置
Android Studio
下载WeNet的源代码后,我们需要安装Android Studio进行开发与调试。启动Android Studio,打开偏好设置,搜索SDK。打开SDK Tools标签页后,我们需要安装一些构建工具:

- Android SDK Build-Tools: 30.0.3
- NDK: 22.0.7026061
- Android SDK Command-line Tools: 4.0.0
- CMake: 3.10.2.4988404
- Android Emulator
- Android SDK Platform-tool
上述工具体积较大,而且对Google的访问速度不尽人意,所以大家需要耐心等待或者使用代理。
Android手机
为了方便调试,我们还需要准备一台Android手机(虚拟机的性能较低)。在手机上开启开发者选项,并且开启USB调试选项。准备就绪后,将手机连接电脑。
WeNet
一切工作准备就绪后,用Android Studio打开已有项目 runtime/device/android/wenet。在运行程序之前,我们依旧需要下载WeNet提供的压缩包。解压缩得到我们需要的模型 final.zip 和词典 words.txt,并且将它们放到 app/assets 目录下:

点击运行,稍后便可以看到手机上启动了WeNet的Demo,点击START RECORD按钮就可以开始录音并且识别:
添加视频
常见问题和解决方法
比较常见的问题是在Windows系统上开发,会遇到缺失部分源代码的问题。这是因为我们为了复用一些核心的代码,使用了软链接将 core 目录下的代码链到 device/android/wenet/app/src/main/cpp 目录下,而Windows默认不支持软链接,有两种解决的方法:
1. 简单粗暴的方法就是将 core 目录下的内容直接复制到 device/android/wenet/app/src/main/cpp 目录下
2. 开启Windows的开发者选项,然后设置 core.symlinks 选项重新下载WeNet源代码编译即可:


