手机无网离线使用FunASR识别手机历史通话录音
--本地AI电话机器人
上一篇:Android手机无网离线使用FunASR识别麦克风语音内容
下一篇:手机无网离线使用FunASR识别SIM卡语音通话内容
- 一、前言
前面的系列篇章中,我们通过《阿里FunASR本地断网离线识别模型简析》和《手机无网离线使用FunASR识别麦克风语音内容》两篇文章,将阿里FunASR的语音文字识别功能装入了手机App,并使用在了手机麦克风的实时语音流的文字转换上。
在Android手机中,通常有通话录音的开关,供有需要的用户针对SIM卡通话和应用App通话(如微信QQ钉钉等)进行录音留痕。
本篇章针对不同厂商和型号的手机内置录音的文件,使用FunASR进行语音转文字,将手机中预先录制的通话记录,逐条转换解析出对应的通话语音文字。
此部分功能只做了历史通话的ASR转换,有需要的用户可以直接拿来体验和使用。语音文件检测作为FunASR的主要应用场景,它的识别精度准确率和识别效率都还是非常好的。
体验和下载地址:
智能拨号器App:http://120.78.211.195:8060/Dialer.apk
拨号器SDK示例app:http://120.78.211.195:8060/sdk/SdkDemo.apk
USB蓝牙配件购买路径(参考):https://item.taobao.com/item.htm?_u=pk10l4ccbcd&id=649368472986
- 二、ASR功能开关
与上一篇章《手机无网离线使用FunASR识别麦克风语音内容》中的入口相同,此处不再赘述。需要特意提醒的是【ASR功能时会尝试从sdcard路径中检测是否存在对应的so库和模型文件,如果之前从未下载过模型文件的,初次下载耗时会比较久】。
如果手机中之前并未下载,初次下载动态库速度很快(约8.1Mb)。但模型文件会下载的很慢(约667Mb),按1Mbps的下载速度,最少需要667/60s=11分钟。
笔者个人建议,如果存在多个手机设备,可以使用电脑将动态库和模型文件的zip压缩包先下载到本地电脑。然后在电脑解压后,使用adb或本地网络传输将文件内容拷贝到每个手机的【/sdcard/ade/】目录。这样可以加快多个手机设备的ASR依赖文件的加载。
- 三、通话历史录音检测和ASR识别提示
在【智能拨号器App】中,若在设置界面开启了“通话实时质检(ASR)”的开关后,启动应用,将会自动加载ASR对应的so动态库和模型文件。
加载完毕后,主界面将显示ASR悬浮窗图标,并读取手机中通话历史的记录列表,并与手机本地录音文件进行匹配关联。
若通话历史记录存在录音文件,且该录音文件之前未进行“ASR提取”文字,则会弹框提示是否需要立即ASR识别。如下图所示:
点击开始ASR后,将从通话历史的未ASR录音文件列表中逐条进行ASR解析,解析进度和通话ASR识别内容将实时的在进度框中进行展示。如下图所示:
ASR识别成功的所有通话历史记录,均会在列表记录的【回放录音】按钮旁边增加“ASR”的标签。可供使用者进行直观的识别。
- 四、通话录音的ASR识别结果与录音回放
某一条通话录音成功被ASR识别后,会在列表记录的【回放录音】按钮旁边增加“ASR”的标签。我们可以点击通话记录的【回放录音】按钮,收听某个历史SIM卡通话的录音。
在弹出的【xxx通话录音】的对话框中,可以查看到该录音所有的ASR文字转换的内容。并随着录音的播放进度,自动高亮背景到对应的ASR文字条目上。如下图所示:
由前文中我们可知,为便于录音回放时根据播放的时间戳来定位到对应的ASR文字内容。在ASR解析时,针对每一段带标点的最终检测结果,前面均加上时间戳形成【时间戳毫秒]文字内容】这样的展示格式进行本地存储。
这样在录音回放时,就能根据当前录音文件播放进度的毫秒数,快速匹配出当前ASR文字列表中的哪一句话。自动定位并将其背景高亮显示。
- 五、关键点和难点
ASR本身不难,由前面几篇文章对FunASR理论的铺垫,我们很容易的将FunASR的依赖库和模型文件加载进App中进行无网环境下的识别。
真正困难的地方是不同厂商和型号的手机,它的录音文件存放位置、以及录音文件格式很有可能是不同的(部分手机使用的是.mp3,有的手机用的是.ogg等等)。而且不同型号手机的采样率也会不同。声道方面,有的手机将所有录音都录制到一个声道,有的手机将通话双方分别录制到不同的声道。在这块上需要做适配。
因此,通话录音的ASR识别,也要求同时开启两路ASR识别,以适配不同厂商和型号的手机单声道/双声道的识别要求。并且需要将不同格式的录音文件内容,转换为原始PCM的数据,才能正常进行ASR文字转换。
- 六、总结
本文对FunASR的主要检测和应用场景-语音文件检测的功能进行初步尝试,并将其整合到Android应用App中。使手机能够在无网络的条件下,可以正常的识别通话录音文件的格式,并对其语音内容进行ASR语音转文字的识别。
此部分的逻辑有源码可以参考,有兴趣的朋友或友商可以获取源码自行修改。或者直接下载安装对应App,体验通话音质效果和ASR文字转换的效果。