大数据文摘出品
编译:andy,魏子敏
机器学习当然可以改变世界,但在此之前,我们也可以先用它来改善一下生活。
比如说,给房间的灯光换个情调,顺便为技术宅们的撩妹大业助攻一把。
前段时间,Twitter主上一位叫imajo的日本小哥就做了这样一个有点浪漫的机器学习项目,打个响指就让房间灯光变成粉色的视频,获得了很多赞和转发,广受好评!
之后,这位无私的技术同学在一篇博客中详细论述了这个A(liao)I(mei)项目,希望造福更多人。文摘菌调动日语技能,编译了这篇技术博客,希望各位在圣诞到来之前掌握新技能,俘获自己的男神女神。
当然,项目成功进行的前提是,把女神先带回家。
以下,enjoy~
荧光闪烁:响指如何连接电灯
首先我们需要了解这一系统的大致构成,打响指到底是怎么控制电泡的呢。
这就得先介绍一下我房里的灯泡了,我用的是飞利浦的 hue 灯泡。这是一种一般用于 IoT (物联网)的灯泡,所以可以很方便地从智能机或是智能音箱对它进行操作。相信一些喜欢捣鼓的童鞋,可能大都知道这款产品。
然后,敲黑板,这个灯泡是可以用程序进行操作的。
也就是说,我们也可以自己开发一些应用程序什么,对房间里的灯泡进行操作。
用稍微有点难的术语来说就是,只要对本地的灯泡的IP地址进行PUT操作就可以了。
这里的系统结构就是,通过自己写的响指检测程序,来对灯泡进行操作。
之后先来说明一下,是怎么检测出响指的吧。
pia!这就是响指!
识别单发音(分辨声音大小)
首先,要检测出响指,容易想到的当然就是检测出单发音。
什么是单发音,也就是一瞬间突然变大的声音,比如枪声,敲门声。相当于一个比较大的脉冲。
下图就是打响指时声音大小的图,我们会发现它很符合单发音的定义,只有一瞬间突然变大。
所以我们可以设计一个程序,检测到几个毫秒的突然响声时就做出反应,这个是响指声。
但是,这里有一个问题,可以再看看另一张图。
是不是觉得和之前那张图特别相似。
但这并不是打响指的声音,而是手敲击的声音。
于是这样子的话,我们的程序就会不光检测出打响指的声音,还会对打响指以外的声音也做出反应了,这并不是我们希望看到的。
那就来试试频谱分析吧(分辨声音种类)
因为这样下去的话,我们的程序就会对手敲击声也做出反应了,必须得想些对策才行。
首先作为人类,我们是可以很简单就分辨出声音不同的,比如说打响指和敲击声我们一下就能分辨出来。
即使两者的声音大小相同,但还是能够感觉到它们就是有点不同。
然后我们就会想,如果能将这个耳朵听出来的不同,用图表示的话该多好,那么就可以只检测出响指的声音了。
接下来,为了提取出这个不同,我就试着用到一种叫做频谱分析的技术来进行处理。
术语突然蹦出来了,听起来好像很高大上的样子。但是就连我自己在写这个响指检测程序之前,也只是“似乎好像大概在什么地方听过”的水平。
关于频谱分析的具体原理说明,因为涉及到各种各样看了让人头大的公式,就直接跳过了。
直接来看效果吧,我们分别对打响指和手敲击的声音进行频谱分析,然后进行对比。
于是见证奇迹的时刻到了。
我们会发现,刚才貌似一样的图,经过频谱分析处理后,看起来好像有很大的不同。而这个不同很可能就是我们人耳听着两种声音时,感觉到的不同。
用机器学习分辨出这个差异
好的,接下来,虽然也不是说不能手动地写一些规则来分辨出这些“好像哪里有点不同”,但在这里我们还是不要这样做吧,啊哈哈(别啰嗦了!)。
所以,时髦的我决定用机器学习来完成这个分辨工作。
虽然相信这里的大家基本上都知道机器学习了,但我还是粗略地介绍下吧。
机器学习就是,hmmmm,把数据告诉机器,然后让机器自己求得正确答案。(对于这个解释,熟悉机器学习的人可能会吐槽,但现在请先无视一下吧)
也就是说,让计算机记住频谱分析后的响指声音数据,让它每次听到都会回应“这就是响指声哦!”。 经过一些训练后,就让它实际上去听听响指和响指之外的声音,并看看效果。
下面这个就是,分辨响指和响指之外声音的视频。
连接电灯泡(hue)
于是乎,完成了响指的辨别后,我们就只需要想怎么用程序操作电灯泡了。
因为在开头就说了代码这些比较复杂的东西一概不写,所以感兴趣的大家可以去参考一下飞利浦官方关于 hue 电灯泡 API 的文档,网上也有很多相关教程的。
最后(未来展望?)
其实先想的是,用响指操作 Google 助手智能音响。
当时想,不用很麻烦地说“OK,Google”,只用很帅气地打个响指就启动谷歌助手。应用场景大概如下:
本产品请在将女生带回家的时候使用。
1、推开门,先打个响指
2、单发音频谱分析提取声音特征
3、机器学习对响指进行识别判断
4、然后智能音响启动
5、男生此时帅气地说到:“打开灯”
但是,没想到的是做成了这个东西。于是大概应用场景变成了这样。
本产品请在将女生带回家,进入暧昧气氛的时候使用。
1、正当俩人聊到无话可聊,气氛突然进入暧昧状态,打一个响指
2、单发音频谱分析提取声音特征
3、机器学习对响指进行识别判断
4、然后电灯泡从白色变成了暧昧粉色,送上助攻
5、之后骚年,就交给你自己发挥了
实际上可能感觉这就是一个没多大意义的东西。但是这样做一些好像没有什么意义的东西,享受制作过程也是攻城狮们的快乐之一啊。
相关报道:
https://qiita.com/imajoriri/items/0d1120917714bc4f3727
领取专属 10元无门槛券
私享最新 技术干货