一个人能做出什么开源项目?
我自认没有什么头脑能做出什么工具链上的开源项目改变某一个领域或者改变世界。
也没想过自己做的小玩意能实现盈利。
但是能解决我自己的一部分生活上的需求,就可以了,如果能恰巧帮助到一小撮人,那就更好不过了。
我是一个程序员,同时还是一个兼职的DJ,所以我做了两个我自己DJ的时候能用的上的软件。
1.快速音频整理工具
至今已经开发了一年半了,还在持续更新,作为一个DJ,要像仓鼠一样囤积大量音乐,我另一个朋友七八年间边听边删,曲库仍然增长到了10个TB。所以我做了这款音频整理工具,符合人机工学,减少我的肌肉劳损,简化我的操作。并且能记住音频文件的指纹,被我删掉淘汰掉的歌曲如果下次又被下载回来了,能自动帮我去除,节省听歌时间。

2.BPM嗅探器
BPM就是BeatsPerMinute,每分钟节拍数。是用来描述音乐的节奏快慢程度的指标。
一般在线流媒体或者播放器都不会显示具体歌曲的BPM是多少,因为绝大多数人都用不上这玩意。正常人在意音乐好不好听就完事了,哪用管具体多快多慢,具体数值多少干嘛。
但是DJ需要!我需要!虽然正常情况下歌曲节奏的快慢程度自己能用耳朵感知到。但是想知道精确数字,要么就是把歌曲下载下来导入到专业软件里去分析,要么就得自己用手机APP,根据耳朵听到的节拍,有节奏的按击屏幕,然后app计算间隔时间来计算每分钟节拍数,最后给你一个精确的BPM数值!
但是我懒。。。于是这个项目就诞生了。bpm-sniffer
BPM嗅探器
不管你此刻正在用什么软件播放音乐,甚至哪怕你播放的不是音乐,只要是有节奏的音频,实时帮你侦测计算BPM值。并且还做了多种可视化效果来调节气氛。



原理就是用了windows的系统回环录音API,实时录音,然后既然是音频,那就有波形,有波形就有波峰,而波峰绝大多数情况下都是鼓点,而鼓点绝大多数情况下就是节奏。所以计算波峰的间隔时间来计算BPM就可以了(当然这里面其实还有不少处理细节)。所以哪怕不是音乐,只要是有节奏的音频就可以得到一个BPM,有意思的是我开发这个软件的时候,正好碰上93阅兵直播,我一边开发,一遍把直播挂在副屏,结果把军人踢正步的BPM给恰巧算出来了,60BPM,不多不少正正好好。
