问题:
使用linux-cpp-sdk.3.0.1.tar.gz中的 asrDemo 对语音流进行识别测试时,会有一个奇怪的现象——识别开始时间会越来越晚。当连续使用1-2分钟后,当一句话说完后好几秒钟了,识别竟然还没开始。
好像语音或识别由于某种原因后延了,而且这个后延时间越来越大。
-------------------------------------------------
测试环境:
ubuntu 16.04 , g++4.9
-------------------------------------------------
重现步骤:
1,修改 recog_one_file() 文件中 string filename = "../pcm/test.pcm";
2,打开终端,sample/asrDemo/run 文件夹下执行(建立管道文件,并录音):
mkfifo ../pcm/test.pcm ; arecord -f S16_LE -r 16000 > ../pcm/test.pcm
3,打开另一个终端,sample/asrDemo/run 文件夹下执行识别任务:
bash build_and_run.sh
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
你好,你通过管道方式解决语音实时传输,传输效率如何?
禁用掉会有影响么?有usleep(sleep_ms * 1000);在的话,一个音频识别太慢了。
整理后的声卡实时语音流识别方法如下,共各位参考:
1,修改 recog_one_file() 文件中
2,禁用掉源码中的usleep
3,打开终端,执行(建立管道文件,对声卡进行音频采集,直接输出到管道文件):
4,打开另一个终端,执行识别任务:
强烈要求技术团队出一个基于真实的音频流的demo。
我们自己搞好了,虽然仍然不是很明白。
用实时音频流的话,需要将usleep禁用掉。
我们猜测这个usleep只是用于传输语音文件时候用的,可能是用来模拟实时音频流的。
看下代码中对于usleep的调用,打印下每次识别的sleep时间