树莓派跑讯飞语音识别(2麦阵列)

从讯飞开放平台上拿到的SDK为对一段PCM文件的语音识别,如果想体验完整的语音识别,即说话然后得到语音识别后的结果,就需要录音的硬件和上位机(软件)了。

录音硬件直接使用讯飞的2麦模块,有唤醒后的中断输出和audio on USB,方便上位机采集。

下面重点讲上位机软件部分。

上位机使用树莓派,软件要做的事情是采集中断,然后开始录音(录音采用开源arecord软件),再调用讯飞SDK进行语音识别。

 软件的架构如下:

 更详细的子模块如下:

创建字符设备来监测中断,主程序中阻塞读该字符设备。当读成功,调用ASR子程序,ASR子程序中启动进程,运行arecord,生成wav格式录音文件;ASR子程序同时start两个线程,第一个线程用来从wav文件中读取pcm流,放到fifo中,第二个线程从fifo中获取pcm流,调用讯飞sdk进行语音识别,获取结果。

原文地址:https://www.cnblogs.com/m2mer/p/7127806.html