目录
一、背景及流程
声音是一种在生活中无时无刻不在的信息传播媒介,现代生活中,电视,电脑,手机,平板,收音机,各种大屏小屏。同时无论在什么场所,办公室,会议室,展会,电影院,旅游景点,演讲时,表演时,其实都存在各种各样声音的播放设备,或者可以布设声音信标小硬件,或者是本身有其独特的声音(从哲学上来说,世界上没有两个东西是完全一样,包括任意两个声音)。而现在的智能手机就可以识别这些声音中的信号,或者利用这种声音本身的唯一性,来辨别用户所处的线下场景,并通过手机延伸到线上的互动或者页面。
互动流程:
各种音视频(电台,音乐,电视,电影,长视频,短视频等)播放出来的声音都可以作为传输信号的载体(声波通信方法)。也可以作为声音指纹的载体(声音指纹方法)。或者也可以布设声波信标小硬件来传输声音信号,布设的声波信标硬件比正常音视频播放时传输距离更远,无杂音。
在后台通过把声波编号标志或者声音文件+时刻关联到某一个活动或者线上页面。手机识别到特定声音编号标志,或者特定声音指纹+时刻信息时跳转到指定的线上活动或者页面。
声波关联的线上活动可以是各种社交,聊天,论坛,优惠券,游戏,抽奖,签到,支付,文档共享等等。
二、过程原理
1.声波通信
手机提取声音中的特定编号,从而实现跳转到与该编号关联的线上页面。这是通过声波通信技术实现的。但这个能实现的前提是音频的播放是自己能编程控制的,也就是在播放的时候主动加工了该音频,从而嵌入了超声的编号信号。人类的听力范围为0-20k,但我们其实正常主要的听力范围在0-4k左右,绝大多数人对16k以上的频段是不敏感的,所以我们一般的超声频率范围在18.5-20k之间。从而实现人们实际是听不到这些超声信号的。但手机对这些信号是可以完全可以识别的。
声波通信的原理及其它应用,请参见:
android/iphone/windows/linux/微信声波通讯库
Android/iphone/微信手机通过声波初始化智能设备的WIFI信息
2.声音指纹
识别某个特定的声音(和该声音所在的时刻),从而同样跳转到与该音频(和时刻)绑定的页面,这是通过声音指纹的技术实现的。比如说通过识别电台声音,识别是哪一家电台,从而跳转到该电台的互动页面。声音指纹技术与声波通信技术不同的是,用户收听的音频不需要项目进行加工(或者是无法加工,比如说不可能对电台声音进行信号嵌入)。只需要在用户识别的同时,把该路声音传送到后台进行特征抽取即可。
声音指纹技术就是在用户处录取6-9秒的声音片段,在后台与目标声音进行匹配,从成千上万个声音文件中得到匹配声音文件和匹配时间,从而得到与此文件和匹配时刻相关联的线上活动或者页面,进而控制客户端进入相应的页面。
像电台的互动,与音乐不一样,一般是实时的,不需要识别特定时刻。从而可以在内存中使用流式识别。
不需要识别时刻的实时互动,每路电台保留一个滑动的内存窗口用于识别即可。识别到某路电台后直接跳转到该电台的互动页面。
3.相互优势
声波通信和声音指纹都是以声音做为媒介来实现线下线上互动的方法。但这两种方法各有特点,某些方面是互补的。
声波通信的特点是识别速度快,一般为1-2秒。识别距离远,后面的测试中表明布设的小设备可以达到50-100米的距离。家庭电视音量中的信号也可以轻松达到20米以上。通信数据准确,因为数据传输时有纠错和校验,所以信号一旦接收到就一定是准确的。所以一般是作为互动方式的首选。但声波通信方式需要对播放的信号进行预加工,把超声信号嵌入到播放的音视频中去;或者是可以另外播放一路超声信号;或者是能布设特定的声音信标小硬件。
而声音指纹的识别速度较慢,一般需录取6秒左右的声音来识别,而如果没有录到有效声音的话,客户端会自动延长到9秒。声音指纹会有一定的误识别率,这是因为某一段时间是有可能与当前声音相似度很高,从而被系统误判断,当然这个可以通过在客户端把疑似入口列出来让用户选择来优化。但声音指纹的突出优点是无需对播放音视频预先做任何加工处理,也不需要布设任何声音信标硬件。比如说在某些电视电台的互动中是无法去嵌入信号的。
4.相比二维码
当前其它完成这种线下到线上互动的技术主要是二维码。与二维码相比,声音有自己一些独特的优势或者特性,声音识别操作更简单,识别速度快,不需要用户手机对准一个地方,声波识别速度为1-2秒。同时二维码需要占用屏幕或者一个物理位置,在场地很大,距离很远时(比如说超过10米),人很多时,如果互动时间长二维码要长时间占用屏幕等,这些时候二维码是很不方便的,而声音是可以全程互动的。还有一些是二维码无法使用的,比如说收听电台时用户的互动,因为这时候没有屏也没有物理的码,二维码是完全无法应用了,而声音这时候是完全可以正常使用的。
三、软件,硬件及效果
1.微信识别
因为识别客户端主要在手机上执行,所以一般支持的是android,ios平台。
同时在国内,微信是我们的基础软件,微信小程序使得用户不需要下载安装软件的繁琐过程。在小程序内,不管是声波通信还是声音指纹,都是可以快速正常识别的。
微信小程序的识别客户端:
测试方法:在播放测试信号视频时,使用微信小程序客户端接收信号即可,识别到信号后客户端即跳转到预先设置好的活动页面。
测试信号视频点这里:(电脑播放可以点此链接,手机播放可以扫描这个二维码)
2.软件界面
微信小程序通过识别声波信号,或者识别声音指纹来实现线下到线上的连通:
3.硬件载体
改一个小音箱:
4.声波现场互动的效果
15%的音量
开阔地带:40米稳定接收,到50米断断续续。
室内:两个房间拐弯后,大概15米(没更大的房间了,应该还可以更远)。更有趣的是,15米外的玻璃门,关死的话,识别不到信号了,开出2厘米的空隙,则在玻璃门外接收信号正常(原来只要有一点点空隙就可以泄露声音啊:))。
15米外的玻璃门2CM间隙泄露出信号:
100%音量:
开阔地带:70米正常接收,到100米左右断断续续识别。
其它详情可查看:http://blog.csdn.net/softlgh
作者: 夜行侠 微信号:softlgh, QQ:3116009971, 邮件:3116009971@qq.com
android/iphone/windows/linux/微信 声波通信库及示例源码:
百度盘下载:https://pan.baidu.com/s/1co0TaQ5KAFFc-MBdrIA6MA
其它声音处理方面程序:
哭声识别:
鼾声识别: