马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?创建账号
×
转自人人:http://blog.renren.com/blog/250472475/868825808
先说明一下,本人不是专业学这个的,对基本的理论知识一窍不通,只是突发奇想,做了下research,按直觉试试看,结果真的猜中了,搞这个纯属蛋疼=。=
昨天优酷首页关于360和百度的搜索战的报道中放出了这么一个视频:
从视频的第33秒到43秒,我们可以清晰地听到优酷记者给周鸿祎拨号的整个过程,的确用人耳听会觉得每个音都差不多(下面会解释原因),但是将它们转化成图形以后,就可以很清楚地看到它们的差别了。 我们先用ffmpeg将这段声音截出来,转成PCM Signed 24位的单声道wav文件,然后用Adobe Soundbooth打开它: 绿色那部分是波形图(waveform),绿线和横轴交点的密度代表频率(音调),一个周期内最高点和最低点的距离代表振幅(响度),但是这种图丢失了很多信息,我们用不上; 下半图是加上时间后的频谱图(sound spectrum),事实上,我们听到的每个声音,它的每一小段都是由很多个不同强度和不同频率的声音(note)组成的。下半图很好地展现了这些信息,横坐标代表了时间,而纵坐标则代表频率,颜色代表强度(深色弱浅色强),故下半图中的一个点,表示的是在某个时间点上,某个频率的声音的强度;从上图中我们可以很清晰地看到11根由黄色和红色组成的“柱子”,估计你也猜到了,就是按那11个数字的时候产生的按键音;
接下,要介绍DTMF(Dual-Tone Multifrequency): 我们平常所用的电话,是通过DTMF信号来向交换机传递命令的,我们每按下电话键盘上的一个键,就会同时发出两个不同频率的声音,转化成电流在对面解析(可以回忆柯南剧场版中通过唱歌拨电话)。也就是说,记者按下的每个键的声音,实际上是由两个纯粹的音(tone)构成的,通过上表可以看到每个数字由哪两个频率的声音构成,接下来就好办了:
我们将400Hz到1700Hz以内的频谱图放大,然后找出浅色(强度高)的频率段:
周总的手机号是:1370**9**98 注:1、因为音频的质量,开头的数字1无法从频谱图中得出,但是地球人都知道中国大陆手机号开头是1; 2、最后的“8”,因为必须由一个高音构成,虽然不明显,但是相比1477Hz和1209Hz,1366Hz最强; 3、下面的一片黄色,是环境音和座机按键的机械声音造成的,当发出否个频率的声音时,黄色会散布在频率线的两侧,故中间的数字“9”的低音,选择的是852Hz而不是941Hz;
4、因为这只是个实验,所以就不把号码全公布出来了,于是将某些数字的频谱区域打了马赛克,数字标记为“*”;
怎么验证结果正不正确呢?我做了下面几个测试: 1、号码归属地:
2、我在手机上按了一遍号码,并把它录下来了,结果完全一样:
3、晚上十点,我打了个电话给他:= = 我:“喂,您好,请问是周先生吗?” 他:“我在开会,你有事吗?” (我当时很紧张,完全不知道怎么说) 我:“抱歉我打错了” (然后就把电话挂了,当时好纠结没有问“请问您是360的周先生吗”这样=。=)
4、关键证据,Google了一下电话号码,因为防止里面的信息被用来作为关键字再Google出号码,所以打了很多马赛克
另外,自己录了一段工商银行“95588”的拨号音,因为是触摸屏按的,没有机械声音,很纯正:
最后的话: 1、不要用来做坏事- -,投诉的话请打360的客服; 2、我们平常用手机拨号,或者在门禁处或者一些机器上输入密码的时候,千万要注意身旁有没有人录音,通过上面的例子你们也会发现,除非有人在现场唱美声,否则输入的整个过程是可以通过声音被还原出来的; 3、电视媒体要注意了=。=,拨给公众人物的时候,不要把拨号过程也放出来,通过刚刚实践可知这是很危险的; 4、奇虎和百度两家公司怎样,大家心里面都明白
Enjoy ^-^ |