不看这篇,你可能学不好音乐:音乐可视化与可视分析


封面图是《爆裂鼓手》剧照,主角与其他鼓手在排练时,一直达不到老师要求,打得不是太快,就是太慢,只要他们打不准,整队乐团都没法开始排练,最后等到后半夜才开始排练。

如果主角早点读到下面内容,或许他就不用那么狼狈(观众也不用看得那么虐心…)。

音乐可视化
有人(非官方)这样定义音乐可视化:实时生成,并且每次生成的结果不同,不像舞蹈,舞台灯光、MTV那样,基于曲子旋律、情绪和内容,每次得出同样的视觉效果。

1你我都熟悉的音乐可视化
(看着回忆满满,但好不好看,就是个人审美问题!)


Windows Media Player 10(网络图片)


Windows Media Player 7(网络图片)


iTunes截图


MilkDrop version 1.04d

"Milkdrop Screenshot Mandala Chasers". Licensed under BSD via Wikimedia Commons

2最早的音乐可视化


"Atarivideomusic" by Wgungfu at en.wikipedia. Licensed under CC

Atari Video Music (Model C240)是最早的商用音乐可视化器材,果然是很有分量的机器,但…要怎么用?先连上音响,再连接电视,就成了一个让家里青春期少年引以自豪的视听器材(硕大的实体Windows Media Player)了!别看他那么古老的感觉,当时确实风靡万千青少年的潮物,直至今天,仍然是Icon!

Daft Punk的Robot Rock (2005) MV中,舞台背景电视们,就是接上Atari Video Music的。


Robot Rock Daft Punk


technabob

而它的运作原理是这样的,有兴趣可以自行研究。


Tarikh Korula

3音乐可视方法
by Creativelab.org.ua

这是音乐家Pavel Karnaukhov做音乐可视化的方法,但不代表方法只有一种,其实现在的音乐可视化可谓百花齐放,每一位可视化专家都有自己的风格。

起点

“音乐随时间走,而影像是随空间走的,但两者都有始有终。”要设定音乐可视化影像的起点,我们先要在画面上找出第一着眼点,譬如大部分人第一眼就会看画面的对角线。

秩序

人类追求秩序,我们本能地会以“一对”或“相反”的准则来判断事情,用“前后左右”“东南西北”来形容方向和空间是方便直接的,所以我们常常把画框做成矩形,在音乐上亦然。

音乐转换为影像

在对角线开始,方便眼睛定位,由中心往外而去,音调会越来越高。而随时间推前,与音乐对应的视觉元素会循逆时针方向,一个一个出现。



音乐可视分析
Colorscore

Colorscore将乐谱中的音乐资讯转化成不同颜色,加上交互程序,用户可以在看到乐曲中的层次、结构和重点。设计者,伊藤贵之教授与团队希望Colorscore可以方便更多业余的音乐爱好者、音乐学生,去理解,甚至改编古典音乐。

音乐可视分析技术大致可以分为两类,第一种是直接分析声音,从声波中获取信息;第二种是分析乐谱信息。

伊藤教授团队设计Colorscore,是为了帮助业余的音乐爱好者理解管弦乐曲,用直接分析声音就不太合适,因为这种技术无法把不同乐器的声音一一分辨出来。

所以,伊藤团队决定采用第二种技术,方便用户细致地了解管弦乐曲中每一种乐器对在整首曲子中的“角色”,也方便用户对乐曲作出改编,例如地区小乐团的成员和资源不多,他们可以将管弦乐曲各部分浓缩,写成室内乐曲。


这个工具以算法将乐谱数据分成不同的小组合,然后将这些组合分成不同的角色,例如主音、和声和低音部。用户需要预先提供和设定不同部分的旋律。

通过可视化手段,上图每一个小方块代表一个小组合,它们在曲子中所起的作用就以颜色表示。当音乐播放时,对应的方块会亮起来。

团队还做了测试,看看可视化是否真的能帮业余的音乐爱好者了解音乐结构,发现业余人士回答音乐考题的准确率达七成,成绩还不错,但是这次测试只找来27位同学,代表性不一定足够。

资料来源:Knowledge Visualization Currents: From Text to Art to Culture edited by Francis T Marchese, Ebad Banissi

这样,指挥老师会不会开心一点?

延伸阅读

原文发布时间为:2015-06-08

时间: 2024-07-28 19:44:42

不看这篇,你可能学不好音乐:音乐可视化与可视分析的相关文章

57. Spring 自定义properties升级篇【从零开始学Spring Boot】

 注解ConfigurationProperties和EnableAutoConfiguration的区别: @EnableConfigurationProperties tells Spring to treat this class as a consumer of application.yml/properties values( {@link ConfigurationProperties} beans can be registered in the standard way (fo

犀牛科技陈一昕:医疗的蛋糕看上去很大,但是不好切丨清华人工智能研习社

作为AI领域落地的重要赛道,医疗行业近两年正在迎来新的风口.而相比其他领域,政策等因素在这个领域的影响更大更重,研发的困难也相应更高."医疗的蛋糕看上去很大,但是不好切." 在清华x-lab主办的人工智能研习社12月份的最后一讲上,犀牛科技创始人.CEO陈一昕与大家探讨了在医疗领域,人工智能.大数据是如何被应用的,以及如何为现在的产业提供一些服务. 他认为,医疗行业是一个特殊的应用领域,大趋势在其中是最重要的因素,把握住大趋势,就是把握住了关键. 陈一昕从宏观的背景.技术发展,以及人工

学Java必读!学不好Java的原因

思考一下 学习Java之前,先别急,静下心来好好想想: 1)你对学习Java是否有兴趣? 2)你是否能静下心来坚持不懈地学习? 嗯,这是个容易但又绝对不应该忽略的问题,你确信自己对Java感兴趣.而且又有吃苦的准备,那你才可能学好Java!如果具备这两点条件,就请继续往下看-- 2准备一下 请不要把你的学习Java之路和其它计算机技术分开看待,技术的联系往往是千丝万缕的,你应该掌握一些学习Java所涉及的基础知识,对于 "CLASSPATH要怎么设置啊"."跪求JDK下载地址

看千篇创业文章,都不如自己经历一场

创业前,我看过无数相关的文章,加上我的背景,自认为对创业已做好了充分准备.然而在自己亲身经历之后,发现实际情况大不相同,实际创业的艰难,远大于我们通过文章所获得的想象,无数已知的.未知的命题都需要解,无数有准备的.无准备的坑要踩. 以下是我基于刚刚的那段创业经历,总结分享给大家的: ▍合伙人要互补且能独挡一面 支撑一个业务光产品或市场肯定不行,需要几条腿配合才能走起来,合伙人最起码要能占一条,且必须是能力和自己互补的,能规划.执行.落地到最后给出明确的结果,不能像小白一样,基本的东西还要耗费你的

快看Sample代码,速学Swift语言(1)-语法速览

Swift是苹果推出的一个比较新的语言,它除了借鉴语言如C#.Java等内容外,好像还采用了很多JavaScript脚本里面的一些脚本语法,用起来感觉非常棒,作为一个使用C#多年的技术控,对这种比较超前的语言非常感兴趣,之前也在学习ES6语法的时候学习了阮一峰的<ECMAScript 6 入门>,对JavaScript脚本的ES6语法写法叹为观止,这种Swift语言也具有很多这种脚本语法的特点,可以说这个Swift在吸收了Object C的优点并摒弃一些不好的东西外,同时吸收了大量新一代语言的

使用 MyBatis 必看两篇文档导读:MyBatis 与 MyBatis-Spring

使用 MyBatis 必看两篇文档导读:MyBatis 与 MyBatis-Spring 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. MyBatis 简介 什么是 MyBatis ? MyB

c c++编程-有没有大神看下 ,小弟刚学c++这个代码运行后输出str不是输出100为什么

问题描述 有没有大神看下 ,小弟刚学c++这个代码运行后输出str不是输出100为什么 #include #include using namespace std; int main(void) { char *str = new char[100]; strcpy(str,"hello imooc"); cout << "*str"; delete[] str; system("pause"); return 0; } 解决方案 如

使用 MyBatis 必看三篇文档导读:MyBatis、MyBatis_Generator 与 MyBatis-Spring

使用 MyBatis 必看三篇文档导读:MyBatis.MyBatis_Generator 与 MyBatis-Spring 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 前一篇<使用

那些 IT 界的神翻译,原来我学不好编程的原因就在这

近日博主 ruanyf 在网上发布了一条关于套接字"socket"的解释,引发了网友对于那些 IT 界的神翻译的讨论: 突然想到,socket就是插座.服务器的socket,就是服务器提供插座,等着客户端的插头插进来.一旦插入完成,服务器-客户端的通信就建立了. 以下是一些网友的精彩评论: 还是插座好理解,为啥叫套接字呢? 你们都忘了 robust 翻译成 鲁棒性了! 这真是灭绝人寰啊- 震惊!"句柄"(handler)居然是"勾柄"的印刷错误,