手机SIM卡打电话时识别对方按下的DTMF按键(二)

手机SIM卡打电话时识别对方按下的DTMF按键(二)

--本地AI电话机器人

  • 前言

书接上篇,在上一篇章《手机打电话时如何识别对方按下的DTMF按键的字符》中,我们从理论的角度来论述了DTMF的频率组成。并尝试使用400Kb左右的【TarsosDSP-Android-2.4.jar】第三方库进行FFT(傅里叶变换)运算,以提取对方通话语音中掺杂的DTMF按键的字符(术语叫"DTMF解码")。

本篇章中,我们将这个DTMF解码器的功能,整合到蓝牙电话SDK,并在其示例app的界面中展示DTMF字符的内容。使SIM卡电话通话时(来电或手机拨打出去)均可在界面中能正常查看到通话的目标手机按下的DTMF按键的字符内容。

蓝牙电话SDK示例app的下载路径为:

拨号器 SDK示例apphttp://120.78.211.195:8060/sdk/SdkDemo.apk

USB蓝牙配件购买路径 (参考):https://item.taobao.com/item.htm?_u=pk10l4ccbcd&id=649368472986

  • 通话语音传输路径

蓝牙电话SDK方案中采用外置USB蓝牙配件的方式,拦截手机SIM卡通话的语音和通话事件,并将语音数据上抛给【手机App】进行处理,如下图右侧所示。

DTMF解码器是整合到手机App中的一个纯软件模块,它通过读取通话时的语音,对语音进行FFT运算后,识别其低频和高频的数值进行对应的查表匹对,从而检测出DTMF按键值的功能。

实现DTMF解码的前提条件是手机App能够实时获取得到SIM卡通话的原始PCM语音数据,这个也是本篇内容为何要基于【蓝牙电话SDK】做进一步加工的原因。(因为只有挂载了该SDK的普通安卓App并插入USB蓝牙,才能拦截电话通话的声音)

  • SDK示例App界面

由于蓝牙电话SDK依赖一个外置的USB蓝牙的手机配件,对于手机App来说,插入和不插入该USB配件,在App界面上应需要做出区分。

App主界面的中部区域,增设了【USB蓝牙信息】的显示区域。未插入USB蓝牙时这个区域是隐藏的,插入【vid=0x0a12 pid=0x0001】的USB设备后App会弹出USB授权提示框(这个是Android的授权机制),如下图所示:

弹框后会依次进行蓝牙【配对-连接】等操作,手机App通过USB接口操控外置USB蓝牙进行各种绑定、连接、数据收发等业务和数据控制操作。外置USB蓝牙和手机连接成功后,界面标注黄色会消失。此时,表明手机中电话通话的拦截效果开始生效。

  • 通话对方DTMF识别与界面显示

示例App界面中,【功能设置】区域底部增设了"对方按下DTMF按键"的显示区域,如下图右侧界面所示。

当电话通话时(手机来电或手机拨打出去),当对方的手机 通过其电话软键盘按下对应的DTMF字符时,蓝牙电话SDK示例App的界面会实时的显示对方按下的DTMF按键值。供后续基于这个SDK开发的应用根据这个DTMF交互按键来进行各种IVR语音导航或进一步的增值扩展操作。

  • 总结

本来上一篇《手机打电话时如何识别对方按下的DTMF按键的字符》当中的内容已经足够描述功能和场景了。但是后来想一想,毕竟识别出DTMF的字符后,直接打印到Android的Logcat日志里面毕竟不直观。干脆就上抛到手机界面上,进行实时的显示和变更,也方便用户和使用者进行校对和分析。

附注:蓝牙电话SDK示例App其实是开放源代码的。有兴趣的读者或朋友,其实可以获取App最新的源代码,自己解析、优化、以及在这个基础之上扩展出更多的自己关于电话通话方面的新能力。

最后,放上一段即兴录制的视频,展示了【来电自动接听】和【实时解码DTMF】功能的大致操作效果,如下视频所示:

SIM卡打电话时识别对方按下的DTMF按键


上一篇:手机打电话时电脑坐席同时收听对方说话并插入IVR预录声音片段

下一篇:手机打电话时由对方DTMF响应切换多级IVR语音应答(一)

相关推荐
uncle_ll6 小时前
李宏毅NLP-8-语音模型
人工智能·自然语言处理·语音识别·语音模型·lm
limingade12 小时前
手机无网离线使用FunASR识别SIM卡语音通话内容
智能手机·funasr·funasr无网识别通话语音·手机asr识别sim卡通话·手机asr识别通话声音
Rverdoser12 小时前
手机内存融合是什么意思
智能手机
前端若水12 小时前
通过 Windows 共享文件夹 + 手机访问(SMB协议)如何实现
windows·智能手机
whoarethenext12 小时前
使用 C++ 实现 MFCC 特征提取与说话人识别系统
开发语言·c++·语音识别·mfcc
开开心心就好1 天前
免费PDF处理软件,支持多种操作
运维·服务器·前端·spring boot·智能手机·pdf·电脑
学术 学术 Fun1 天前
✨ OpenAudio S1:影视级文本转语音与语音克隆Mac整合包
人工智能·语音识别
静心问道2 天前
SEW:无监督预训练在语音识别中的性能-效率权衡
人工智能·语音识别
哲科软件2 天前
从“电话催维修“到“手机看进度“——售后服务系统开发如何重构客户体验
大数据·智能手机·重构
正在走向自律3 天前
第二章-AIGC入门-开启AIGC音频探索之旅:从入门到实践(6/36)
人工智能·aigc·音视频·语音识别·ai音乐·ai 音频·智能语音助手