NAO机器人语音识别(二):调用讯飞SDK

准备工作

ALSoundProcessing 模块 下载地址
讯飞 LINUX SDK 讯飞官网

安装 SDK

1
2
将sdk中的 libs include 文件夹拷贝到ALSoundProcessing文件夹下
编辑CMakeList.txt添加环境变量

导入 asr_sample

  1. 将讯飞识别的单文件直接复制拷到 alsoundprocessing.cpp 文件中
  2. 将讯飞 login 函数放入 init 函数内启动(以便模块启动后调用)
  3. 将讯飞 logout 函数放入~ALSoundProcessing 函数中(模块停止后退出,避免下次模块启动出现异常)
  4. 清空 process 函数并编辑,实现将 nao 缓存区的音频数据同时 QISRAudioWrite 函数实时上传到讯飞服务器
  5. 通过 QISRGetResult 获取所有音频结果并解析。

(初步完成语音识别功能)

调整

将模块名修改为 ALSoundRecognition(避免冲突,可定义)
在头文件中加入方法,方便外部调用。

1
2
3
4
5
6
7
8
9
10
11
public:
void process(const int & nbOfChannels,
const int & nbrOfSamplesByChannel,
const AL_SOUND_FORMAT * buffer,
const ALValue & timeStamp);
void startSession();
void stopSession();
void restartSession();
int getStatus();
std::string getResult();
void restart();

编译执行

成功运行以后运行如下代码(默认选择 remote 模式)

1
qibuild make

即可在电脑上运行测试了。