先说明一下,本人不是专业学这个的,对基本的理论知识一窍不通,只是突发奇想,做了下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、奇虎和百度两家公司怎样,大家心里面都明白 。

转载于:https://www.cnblogs.com/emouse/archive/2012/09/01/2666308.html

转:技术宅逆天了!如何从按键音中听出周鸿祎的手机号码相关推荐

  1. 三星手机把按键音的选项去掉了打字时还是有声音

    在设定里面的"声音"选项进入,去掉勾选的"拨号键盘因"和"触摸声音"之后,发现在打字发短信.微信.QQ聊天的时候还是有声音存在,自己摸索了一 ...

  2. iphone11没有锁屏声音_iphone11屏幕解锁按键音怎么关闭-互盾苹果恢复精灵

    随着iphone11的发布,很多果粉已经陆续的购买了iphone11手机,那么在很多人使用iphone11的时候都会遇到很多问题,那么iphone11屏幕解锁按键音怎么关闭,如何将这些功能进行关闭?下 ...

  3. Ipad恢复按键音、锁定音和截屏音

    最近突然发现Ipad没有了按键音.锁定音和截屏音,甚至在使用有道词典之类APP的时候也没有声音,经过仔细研究终于解决了这个问题,记录一下: 打开设置--通用 改变"侧边开关用于:" ...

  4. 魅族计算机按键声,魅族16T按键音怎么关

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 魅族16T按键音关闭的方法为: 1.首先打开魅族16T手机桌面上的[设置],然后点击[声音和振动]一栏进入. 2.接着点击[系统音 ...

  5. Android按键音

    按键音处理流程 View层发起 AudioService 按键音是用户按下后抬起时发出的声音,可在手机系统设置打开或者关闭. 代码分析基于 API 33 View层发起 逻辑在事件分发机制的onTou ...

  6. Android9 framework 按键音调用流程及自定义按键音(替换原生按键音)和调节按键音音量的方法

    一.按键音调用流程 摘要:按键音播放的总体逻辑是先找到系统中按键音的资源,然后调用SoundPool.load让系统加载音频资源,加载成功后在onLoadComplete回调中会返回一个非0的soun ...

  7. Android 8.1 系统按键音

    最近接到的任务:实现手机键盘按键音功能 可是网上查到的资料太少,可能是现在没什么带键盘的Android设备了 一开始我以为系统会做好这些东西,是需要找到一个开关,写一个默认值就行,然鹅事情并没有这么简 ...

  8. Android 默认按键音开关

    android 默认按键音开关的值存储位置在 frameworks/base/packages/SettingsProvider/res/values/defaults.xml , <!-- D ...

  9. android 系统按键音framework流程源码解析

    android 系统按键音framework源码解析(基于android 9.0) 今天来看下android中按键音的处理,首先看下按键是在那里开启的.然后再看看当按下按键后一个按键音是怎么播放出来的 ...

最新文章

  1. 直接在sublime中运行php
  2. Centos 7.5安装配置MongoDB 4.0.5
  3. IT公司100题-4-在二元树中找出和为某一值的所有路径
  4. 第3章 IP寻址
  5. Linux三剑客之grep 与 egrep
  6. C语言的内存管理(堆,栈,代码段,数据段)
  7. 小白学python3实战做量化分析平台_Python3 量化分析从小白到破产笔记
  8. Leetcode每日一题:376.wiggle-subsequence(摆动的序列)
  9. Expression Studio简体中文正式版+序列号.
  10. 服务器搭建nginx集群
  11. 利用OpenCV将图片反色
  12. 第九届蓝桥杯C++A组
  13. mysql sniffer下载_Gitee 极速下载
  14. 基于51单片机的知识
  15. Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
  16. 巧妙按键法,包含几乎所有可以实现的按键功能(单击,双击,N击,长按等功能)
  17. Linux系统用户详细介绍
  18. 了解传统教育培训机构的痛点
  19. 利用逻辑分析仪测定单片机延时函数时间
  20. Linux Alsa声卡驱动(1):简介

热门文章

  1. python word 英语音标_(完整word版)英语音标大全,推荐文档
  2. 学会这2招,不用设计师,一样能做出精美炫酷的可视化大屏模板
  3. 通过F12控制台退订育碧(Ubisoft)邮件
  4. python打开快捷方式_Python打开一个JAR快捷方式
  5. python中的 DFS 与 BFS
  6. linux查看服务器mib,Linux MIB目录的打开和查看
  7. 手机链接路由wifi,设置为固定IP方法
  8. flowable activiti 回退 驳回_驳回复审中图文组合商标与图形商标不近似性如何论述?...
  9. pytorch学习笔记(二十五):VGG
  10. ~~spfa 算法(队列优化的Bellman-Ford算法)(附模板题)