Specinker使用教程
https://italink.lanzous.com/ibe906f(使用winAPI绘图,占用高,功能多)
新版本地址:https://www.lanzoux.com/iIcw4gj098h(使用OpenGL绘图,占用低,效果炫酷,功能少)
喜欢音乐的小伙伴相信都或多或少看到过一些频谱,简单的比如QQ音乐,酷狗等一些音乐软件上面都有一些,可惜的是这些频谱嵌入到软件界面上,好看的就那么一两个,并不能满足一些人对音乐的渴望,至少对我来说,是这样的。当然,还可以使用雨滴,AE来制作非常炫酷的频谱,但是这两个软件却也有一些弊端。通过雨滴,我们可以制作一些悬挂在桌面的频谱,但是制作这样的频谱,需要使用雨滴的编程语法进行开发,这对小白并不是很友好。而AE呢,这真的可谓是一个重量级的大BOSS,使用AE可以制作出非常非常非常炫酷的频谱!但是AE本身是一个图形视频处理软件,它只能在视频中嵌入频谱,并不能把频谱摆在桌面。
在去年的时候,我曾发过一篇帖子,说自己想做一个这样的软件,本来只是随口一说,没想到却有几千的浏览量,再加上我的学习目标并不是web、android开发,因此下定决心去做这个软件(Specinker),以便了解一些音视频处理相关的编程技术。
博主人脉不行,如果喜欢这个软件,可以分享给周围的朋友哦(毕竟谁都希望自己的努力得到认可)
specinker提供了一些基本的可视化图形以及图片资源导入,通过这些图形,可以拼凑出很多炫酷的频谱,比如:
博主在近期的更新中加入了粒子动画,粒子动画也是频谱?(没错,粒子运动也有速度,有速度,我就能感觉节奏踩点加速,为了演示,我把加速关了)
通过调整一些属性,可以制作出如下效果
Specinker旋转频谱
桌面音乐可视化软件 Specinker 【演示】
只需点击任务栏右下角的specinker托盘图标,点击【设计】,就能打开设计窗口,可以调节右上角的滑动条调整黑幕的透明度
按住shift,拖动蓝色点,可以拖动整个频谱的位置。
鼠标可以在此处滚动换页,可以拖动小频谱的缩略图左右拖动,调整堆叠层次,越靠右边,越在顶层,点击×可以删除,+可以快速拷贝(拷贝有个小bug,无法拷贝深层属性)
敏感度是用来干嘛的呢?敏感度就相当于一条水平线,高于水平线的电平就显示,低于的就不显示,这个功能主要是因为一些音乐的波形太杂,可以适当降低敏感度来忽略杂音。
我承认我是模仿wps的调色控件=.=,写这套控件也是个不小的工程T.T
由于图片大小限制,压缩后动图画质有点粗糙。
目前,spec提供了4种基本资源,分别是线性频谱,环形频谱,图片资源,粒子动画,spec扩展一个动画只需提供一个可定制的属性组(博主自己构建了一套微调控件,通过json对象直接创建调整板),再重载资源的绘图函数,就能扩展一个动画
很多小伙伴最关心的应该就是性能问题了,会不会开了spec就特别卡?spec虽然使用的是CPU绘图,但是并没有做一些特别炫的特效(例如:泛光,阴影),没了特效渲染,性能的确是上限了一大截,为什么不做特效?一方面是因为博主编程之初目光短浅,另一方面,图像渲染要做庞大的计算,耗费大量系统资源只为了一个桌面装饰,有些不妥.
那么spec究竟占用多少呢?如果你组合的是一些简单的频谱,且绘图范围比较小,那么cpu占用是极低的,我这里测试,开9个小频谱大约占用5%,如果图形大一些,占用可能会彪到10%以上,单个频谱的话,简单的形状可能占用不到1%,跟cpu性能相关
可能bo主的语文比较差,没想到什么看上去既简约,一思考还挺有内涵的字眼,所以才用的英文(bo主英文更差t.t)
spec:spectrum(谱),spec开头的有很多比较好词special,spectacular
inker:linker,thinker,也曾想过用creator,designer,但是这些词用的太多了
因为specinker是用的CPU渲染绘图,效率上可能会差一些,我也曾试过做泛光特效,但是想要在25ml内处理频谱数据的同时,还得渲染特效,显然做不到,不知道openGL能不能完成实时渲染。另外后面有时间可能会增加一些事件处理器,比如在播放音乐的时候,可以根据频谱的波形调整频谱的一些属性,比如颜色,大小,线条宽度等...
频谱播放器项目
频谱播放器8.29更新
频谱播放器9.2更新
频谱播放器9.9更新
音乐可视化第一次演讲(PPT)
音乐可视化第二次演讲(PPT)
音乐可视化重构开发日志
bo主大多时间是在码代码,而没多少时间来整理,码字。这几篇文章也体现了specinker从一个low到爆的频谱播放器,到现在的桌面频谱设计软件,走了很多弯路,也走了一些捷径。
整个项目的代码大约有一万行(不到),代码质量方面,我感觉还是挺高的。性能方面,可以实时采集音频,分析,渲染图形。
后方凑字
★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆★∵☆