近日学习心得

近日怠惰了两天,总觉得前段时间学的那些东西都好像不太有用,比如说我前段时间学VVVV,或者说学Pure Data,学Unreal,学Rhinoceros,Solidworks,Fusionn360.其实与其说是在学习不如说是在尝试,比如我喜欢做VVVV的那几个人,我喜欢他们的设计哲学,我喜欢他们自己给自己平台写的那些Nodes,或者我喜欢Blender的渲染器,我喜欢Grasshopper的参数化建模,我就花时间去搞它,因为我特别喜欢一个软件工具中背后的那套系统所蕴含的设计者的那一套交互逻辑和哲学,在我以前做的事情主要是制作音乐的时候我知道如何使用所有的DAW,其中我最喜欢Reaper和Renoise,同时我对Ableton的那一套逻辑和极其低下的运行效率嗤之以鼻.所以当我开始对在数字音频工作站中制作音乐感到厌倦并想开始尝试新的东西的时候,我很多时候也是从我和这一套套工具之间的体验来出发的.

比如我大概在前年夏天的时候开始想做交互,我就先是纠结是用Max/Jitter还是Touch,后来最先用Touch做东西只是因为这玩意在Youtube上教程多,适合新手入门,而且节点的概念并不像Max那样强,很多时候十个以下的节点连起来再参数调一调就能整出来些好玩东西,并且这玩意引擎很强大,最早期应该是用的Houdini的,不知道现在还是不是.

不过说实话,我后来确实觉得这东西运行效率有点低,而且存在不少问题,比如我一个Perlin Noise,渲染到最后在ARM和X86上的结果竟然还不一样.而且大多数用于给VJ在商业场合做东西,有着很贵的License,并且我不喜欢社区里大部分人的审美,所以我说实话并不是很喜欢用Touch.

当然我后来也是尝试了用Max/Jitter和VVVV做了点东西,还稍微看了下Isadora.其中我最喜欢做VVVV的那两个人,我觉得他们做事的方式很有精神,气质跟Touch那帮人截然不同.

这几年我还陆陆续续地用Max/Msp做了不少东西,其中有相当一部分是照着别人的Patch依葫芦画瓢.虽然我敢说我Max用得比学校里大部分人都要好,别人用Max出了什么问题我能帮他们解决,教授上课我能和他对答如流谈笑风生.但是我知道我和学校里那几个整天在MacBook的触摸板上点来点去做Max for Live插件的人是有着巨大的差距的,我要是着手开始做他们做的事情,我会不由自主地,不断质疑这件事情的合理性,Max可读性差,Max效率低,Max容易出错,我认为Max是个挺恼人的东西,我认为我要是当初选了CS专业学完了算法,数据结构和设计模式说不定还能把Max当玩具玩玩做点好玩东西,但是我好像目前不会这些,我没法随心所欲地把Max当成一个玩具,但是我又没法像这些人一样,以一种十分认真的心态来对待Max,并且我或许在这方面也没他们聪明.总之他们最后写出来了Max for Live插件,和华丽的Jitter视觉,我的水平停留在了能够差不多完全读懂Max Patch,并且在不断质疑我为什么要学这个东西.

我在进入大学学习Max之前,我觉得Max是个商业软件,不行!我要学Pure Data,其实这两个玩意差不多一模一样,其实最早都是一个人写的,不过我的Pure Data学习之路也是草草了事,因为我也实在不知道拿这玩意干什么,我觉得或许往树莓派里烧Patch还蛮好玩的,但是我既没法认真对待它,又没法随心所欲地把它当玩具玩,但是我又对这个东西好像有些执念,觉得我就是应该至少像那些花了所有时间的Max的老哥一样也用Max或者Pd来做出点什么大工程,不过我一开始着手做这些事情时又开始质疑其合理性.

别人可能会觉得我会的东西很多,我会做模型搞渲染,我会各种各样的节点式编程,我对几乎所有你能听到的市面上的编曲软件以及各自的内置插件如数家珍,我会通过Rewire同时使用Reaper和Renoise制作IDM,又知道如何正确地写五线谱,写弦乐四重奏,我学东西很快,使用Fusion360第二天就能造发动机曲轴,我还会用命令行工具,我看各种法国文学,俄国文学,新中国之后的白话文,我还会用git同步日记,用Vim写诗,我还用Max来练习视唱练耳,我还会以开手动挡车和收集电子垃圾为荣……

不过这些,都是雕虫小技!我学会了这么多雕虫小技,却从没在我真正需要的东西上取得一丝进展,我不会快速地读LeadSheet,我没法Solo比波普,我的速度称不上速弹,那我就失去了在音乐上做很多事情的自由,那我就只能在电脑上做,或许是无聊的四四拍音乐,或许是无聊的声音设计,总之我现在觉得这些事情很无聊,我只想即兴.

我从小到大一直在玩电脑,对的,我很会用软件,我软件学得非常快,但是我却一直没有编程思维!我感到很羞愧,因为我想写出自己的编译器和操作系统,但是我连C指针怎么用都不知道,我只会写循环,判断,可能最多能写递归,我不理解任何算法和设计模式,那我写再多Max Patch也没因为我想写出自己的编译器和操作系统,但是我连C指针怎么用都不知道,我只会写循环,判断,可能最多能写递归,我不理解任何算法和设计模式,那我写再多Max Patch也没因为我想写出自己的编译器和操作系统,但是我连C指针怎么用都不知道,我只会写循环,判断,可能最多能写递归,我不理解任何算法和设计模式,那我写再多Max Patch也没用.

所以我总结出来的事情是什么,我没有建立这两种思维,我学再多东西知道再多东西都没用,比如我弹琴不知道自己在弹哪个和弦的哪个Voicing,但是外人听起来很悦耳,这时候觉得自己厉害其实是自欺欺人的,或者会很多种编程语言却搞不懂C指针,这也是自欺欺人的。

所以少弄点这些乱七八糟的东西,多弹写爵士标准曲,多练一练手指机能,多练一练视奏;去学C,把那几本书,什么算法数据结构设计模式,操作系统,计算机组成,TCP/IP,编译原理给看了,多用命令行工作,用GCC编译,配置Vim和Emacs.这些东西才是相对更加永恒的,它们有着更加基本,更加普世的哲学,并且它们的哲学在其他地方都完好地得到了延续.

搞出来Music Tech, Interactive Media这些学科的人,他们本来就是要么搞CS要么搞EE的,做Music Tech做到最后其实还是要回到这些东西上面来,不然永远不会理解这些东西背后的逻辑,只能一直用别人做好的黑盒玩具来搞些小东西.当然我觉得学校里那些用Max写大工程的人是比我更有编程思维的,我反正搞不明白他们是怎么做到的,所以我得回去把CS那些东西给学一遍,这样心里踏实,我之前想过这会不会是另一个Rabbit Hole,我现在觉得不是.

其实游戏引擎也算是个产品端的东西,所以不用纠结,各种节点式编程平台其实也一样是,这些都不用纠结,前段时间东学一些西学一些那就学了.我之后可能会开始真正想做一些多媒体的东西,不过说实话我对当代纯艺那一套虚的概念艺术没什么兴趣,我对所谓在画廊艺术中搞自我表达也没什么兴趣,我以后可能会想着用这些工具做一些好玩东西,或者我哪天看博尔赫斯看开窍了也会整点东西出来,不过我觉得我目前如此薄弱的计算机基础是支撑不了我做想做的事情的.

同样,我觉得自己在音乐上目前也十分的失败,快22岁了却还只会做那些无聊的音乐,IDM也是无聊的音乐,我知道如何写复杂的节奏,但是呢?我觉得真正好的音乐就是查尔斯明格斯那样的,我就想和一群会Solo的人玩,并且我的Solo是其中最出彩的,但是我现在不会Solo,我只会做音乐,我觉得这样是不对的.像现在那些音乐,什么玩模块合成器的,搞独立音乐的,搞什么地下工业音乐的,那些音乐能有什么意思?只能玩一玩,要真作为终身事业干我会觉得脑子挺有问题的.

至于什么DAW,什么达芬奇调色,哪个3D软件,哪个游戏引擎,哪个前端技术栈,什么用Vue还是用React,这些都是次要的,像什么C,什么Linux,这些就是比较主要的,而这些东西背后的编程思想,操作系统架构,通讯协议,这些才是最重要的,只要有人在这些东西上的基础上不断搞,就总能产生几万种产品端的工具链.

比如说这个Reaper突然哪天就没了,你让我用我讨厌的Ableton,我估计也不会做出来相差太多的东西,大概还是跟以前一样无聊,除非我真正学会乐器,真正学会聆听内心的声音,真正的有大量的知识,真正能跟前人的音乐产生共鸣,不然我做不出好音乐.

当然我觉得Aphex Twin是好的,不过他能一直玩那些电子设备不厌烦,我很快就玩腻了嘛,所以他做出来的很多好音乐,我牛马不相及,这个也没办法.我这辈子还是想有更深更透彻更全面的知识,体验更多的事情.当然我觉得他还是一个比较娱乐的人物,音乐人在年轻的时候还是应该努力成为称职的工作者,当然他在自己做的事情上也是一名十分称职的工作者,但是我觉得大部分人,包括我,不应该在年少的时候以他为榜样.