前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >打个响指让房间灯光秒变撩妹粉,日本技术宅的机器学习助攻项目

打个响指让房间灯光秒变撩妹粉,日本技术宅的机器学习助攻项目

作者头像
大数据文摘
发布2018-12-14 15:21:03
9090
发布2018-12-14 15:21:03
举报
文章被收录于专栏:大数据文摘大数据文摘

大数据文摘出品

编译: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

【今日机器学习概念】

Have a Great Definition

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据文摘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 识别单发音(分辨声音大小)
  • 那就来试试频谱分析吧(分辨声音种类)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档