乐趣二 编程概念
2022-11-30 09:03阅读:
十二平均律出自于古代研究制作乐器的工匠、及音乐鉴赏者的数学研究,却只能解决乐器的音准及音程课题,无法达成“音乐创作灵感”的溯源。要让电脑程序具备“真切意义上”的创作能力,至少要超过编程者作为爱好者的创作能力,而不是“随机编织”乐曲、供人“择优保存”的“非噪声的音响体系”。
千里之行、始于足下,只能一步步地改进编程中的“音乐缺陷”、把“随机编织”转变成为有目标的“矢量化编织”。
在之前的编程实例中,显而易见的“音乐缺陷”在于:和声音序没有“关键音”的界定、就连“根音”也是与其他和声音调“同等”地享受着概率的降临。这个缺陷的后果,造成了节拍或节奏中的重音、难以恰当地与“关键音”相匹配。
以下,通过解读广为熟悉的自然音阶、及其和声体系,具体说明东归技术体系的改进方式、以及编程所必需的相应概念:
自然音阶由Do-Re-Mi-Fa-So-La-Ti七个音组成,而其和声体系仅有六个根音、把Ti排除在了根音之外。即使进行转调的音乐编曲,Ti也难以成为实际意义上的根音,因为转调后、Ti也就不是原来“音程关系中”的Ti,而成为了转调后“音程关系中”的其他“乐音”。
这是人类音乐创作与鉴赏数千年的验证,音乐数理不仅带有自然音阶所喻示的“自然法则”、也必须“匹配”人类的“人文”特质。毕竟,音乐主要是由人类来鉴赏的文明创建,也许音乐还可以用于放牧、养鱼、甚至是绿化植树,但暂且难以纳入东归技术体系的探索范畴。
自然音阶的音程关系与和声体系、并非人为的规定,而是全球各地区各民族、早在地理环境相互隔绝的时期,就已经形成的广泛共识。恰如十二平均律,是不同地区的不同民族、各自独立发现的音律法则。
pan >
在自然音阶的和声体系中,根音与其三度音程和五度音程的乐音、就是“关键音”,需要“高概率”地与节拍或节奏的重音“相匹配”,以达成乐音的和谐与互动、形成乐曲的“矢量化”效应,强化鉴赏者的音响印象、或恰如其分地抒发创作者的情感与思绪。
比如,以Do为根音的和声音序中,Do-Mi-So三个音必须成为“关键音”,三者的音程关系是:在五度音程内的根音大三度之上、再紧接着叠加一个小三度的音程。这三个关键音,未必要以这样的次序、连续出现在曲目中,但必须与节拍与节奏的重音、高概率地匹配。而自然音阶的其他四个音,则无需在“Do为根音的和声音序中”借助重音、发挥过多的音乐表现力,往往成为了“过渡音”或“修饰音”。
这种五度音程内叠加三度音程而构成的和声体系,被称为“基本三和弦”。一旦乐曲中,较为频繁地强调了“和弦外”的乐音,其和声体系、就不再是“基本三和弦”,而成为了“性质不同”的其他和弦体系。比如,以Do为根音的基本三和弦之外,高音re也发挥出显著的音乐表现力,其和声体系就变为了Do-Mi-So-re,被界定为不同于基本三和弦的“九和弦”或“挂九和弦”,意思是“以根音为基准”在基本三和弦之上叠加了一个九度音程。
想必,会有读者像我当初一样,早已被这些“名堂”弄得晕头转向。因为,这不是“纯粹的”音乐数理,而类似于给自己的孩子取名字,男孩就起个“强”或“磊”之类的有力量的名字、女孩就起个“莲”或“莉”之类的可爱的名字。
显然,电脑程序难以解读这样的名称,而需要精确的数学表达方式。
东归技术体系理解“电脑的秉性”,从而以“音符质能”的概念、确保电脑程序准确识别“和声音序中的”关键音:
继续以自然音阶为例,东归技术体系对应于根音,为和声音序增设了一项“能量属性”,参见以下列表:
Do为根音时:NL(Do)=9: NL(Re)=6:
NL(Mi)=9: NL(Fa)=7: NL(So)=9: NL(La)=6: NL(Ti)=5:
NL(do)=9……
Fa为根音时:NL(Fa)=9: NL(So)=6:
NL(La)=9: NL(Ti)=5: NL(do)=9: NL(re)=6: NL(mi)=5:
NL(fa)=9……
So为根音时:NL(So)=9: NL(La)=7:
NL(Ti)=9: NL(do)=6: NL(re)=9: NL(mi)=6: NL(fa)=5:
NL(so)=9……
La为根音时:NL(La)=9: NL(Ti)=6:
NL(Do)=9: NL(re)=6: NL(mi)=9: NL(fa)=5: NL(so)=7:
NL(la)=9……
细心的读者看过列表后,就能明白:遇到力度设置大于7的节拍或节奏音符,只有和声音序中的关键音、在“能量”属性上、可以与节拍与节奏的力度“相匹配”。于是,弥补了之前编程设计中的“音乐缺陷”。
但是,这些九年前的“能量”设置,是编程者凭借自己的编曲经验“人为强加”的数值。由于编程者在以往为吉他弹唱的编曲中,常常从根音Do转到根音Fa,故而把根音Do的和弦音序中的Fa略微提高了能量值;出于同样的经验,还故意提高了So和声音序中的La能量、以及La和弦音序中的So能量。虽然改善了程序的编曲品质,却未能触碰到真正的音乐奥秘、更没有接近生命的奥秘——哪怕是一小步。
编程者从不敢“糊弄”自己,放弃了各种急功近利的念头,苦苦探寻了三年、并进行了大量的编程实验,终于得到了两组“有依据”的音符能量,而且是对应于“十二平均律”的能量矩阵;不仅适用于自然音阶,也适用于五声音阶、布鲁斯音阶,以及任何奇奇怪怪的音阶——就因为有了音符能量与节拍节奏的力度“匹配”,在东归技术体系中,任何音阶都得以成立、都能表现出独特的音响效果。
这两组构成“能量矩阵”的数据分别对应于十二平均律的坐标音序与和声音序,列出数值如下:
坐标能量序:_9__1__6__1__3__7__1__4__1__9__1__5
和声能量序:10__0__6__3__6_14__0__3__0__8__8_12
这两组“有序的能量”数值,直至编程者目前行文的2022年底,依旧只是“有依据”却并不可靠。编程者沿用至今的理由仅仅是:坐标能量序、符合自然音阶的音乐表现特质,而和声能量序、则符合布鲁斯音阶的音乐表现特质。
因而,编程者在此诚实地提醒爱好者:基于这两个能量序“换算出来的”音符能量矩阵,未必“万能”或通用,还需要彻底改善、“彻底”地改善。比如,和声能量序中,十二平均律中Ti的能量过高、居然超过了Do的能量;但Fa的能量,在布鲁斯音阶中、确实可以超过Do。也就是说,在布鲁斯音阶中,Fa的表现力比Do更为丰富、更为重要;而在目前通用的各种音阶中,Ti的表现力或音乐效应,很少超过Do的实际应用。故而,这个“和声能量序”既有可取之处、又有可疑之处。
总之,音乐数理不可忽视“人文法则”,必须参照世界各地各民族的、大量的“广为流传的”经典乐曲。甚至,音乐数理中的具体数值、并非可以精确计算的“唯一确定值”,或者说:只有上帝,才知道那个终极的音乐定理及数学公式。
那么,这两个能量序的依据来自何方?既有上帝赐予的灵感、赐予的浓厚音乐兴趣,也有炎黄子孙坚持传承的古典智慧。
直接的依据,是华夏古典文明的纳音五行原理。
从纳音五行相生相克的六十甲子矩阵中,编程者本人不仅得到了数理启发、计算出了这两个能量序,还借鉴纳音五行的色彩化定义,实现了和声音序的“性质界定”、意外地找到了智能化编程的依据:也就是电脑程序的编曲目标——电脑编曲程序的矢量化方式。
类似于坐标音序与和声音序的构筑关联,编程者把“创作灵感”数字化、划分为曲目的“触发色调”与“环境色调”;编程设计、则力求在各种环境色调中,电脑的编曲、都尽可能实现“触发色调所标志”的音乐效果。比如,尝试为一部惊悚电影配乐,就可以用深紫色触发编曲程序;不同的环境色调,只是让“相应的无限可能的”曲目出现不同的“波折”,而在整体的音响效果上、却都可以满足惊悚电影的配乐要求。
把音序的能量与“基于三原色的数字化色调”揉合在一起,就诞生了“纳音质能”的编程概念,以RGB的通用电脑格式排列如下:
坐标序:(180,180,000)_(020,000,020)_(120,000,120)_(000,020,020)_(000,060,060)_(000,140,000)_(000,020,000)_(080,000,000)_(020,000,000)……
和声序:(200,200,000))_(000,000,000))……
细心的读者可以意识到:从两个能量序、转为两个带有能量差异的“三原色质能序”,电脑程序的运算,也随之从二维平面矩阵、转为了九个维度的“超立体”矩阵运算。作为数学基础较差的爱好者,本人的编程遭遇重大挫折、完全在预料之中,因为:三原色的运算,使得音符在各个不同的和声音序中,表现出色彩上的“能量失衡”。比如Do,在其作为根音的和声音序中,由于性质相同、而获得叠加的能量效应;而在La作为根音的和声音序中,却由于性质互补,而削弱了各个三原色上的能量,无法体现“应有的”能量效应。而历来的音乐实际表现、无疑是:在基本三和弦中,Do在La的和声音序中仍属于关键音——本人不得不在能想象中叹息:九个维度的质能一体化算法,究竟高深到了何种程度?远非三原色的美术叠加或光学叠加。
但这种思路肯定值得保留,尤其,运用“纳音质能”的编程概念、可以从数理的角度、解释自然音阶中的Ti为何不能作为根音;还能“过滤掉”各种奇奇怪怪的“坐标音序”中、不能作为根音的那些音符,从而获得“音乐效应显著”的和声音序。
编程者本人的数学基础及编程能力,都不足以保证这一编程思路的完美达成,只得另辟蹊径;又经过五年的摸索,在无数次失败后、注定要折返到这个思路上。得到的教训是:缺失了“纳音质能”的概念,很难实现智能化的编程、甚至很难实现“以有限创造无限”的音乐创作型编程目标。而纳音五行,则在数年的成败波折中,一再被证实为“音乐数理”。
好在,编程者在失败中总算提高了编程能力,折返到五年前的起点、简化“纳音质能”运算后,完成了勉强可以接受的程序设计,编写出“勉强算是音乐效果”的创作型电脑程序,敬请“听证”(单机版的实验程序,可作为电子邮件的附件赠予):
目前,东归技术体系下的编曲程序,可以自动合成“趋于无限”的节奏类型,完全脱离了最初“与节拍相对应”的设置模式;旋律线的设置,也迅速摆脱了“随机模式”,转而依据世界各地各民族的经典范例,围绕“音程关系”进行自动化的设置。在编曲程序的智能化“矢量化”设计方面,也进行了更为丰富的探索:不仅以“触发色调”作为乐曲的整体导向,还可以把“看似不合适”的各种素材(数据)、进行“融合式”的搭配;如同好的厨师,不仅能用贵重的上好食材做出美味,也能用普通食材、烹制出可口的佳肴。
这些小小的改善,不能不说、来自于相应编程概念的形成。其中,借鉴莱布尼茨“单子”概念,而日益明晰的“节奏单子”、“乐句单子”较为关键。还有现代科学中的能级概念,弥补了“纳音质能”概念的内涵空泛,借助色调明暗度的能级式划分、东归技术体系得以突破六个基本三和弦的六种大致色调,对和声音序的“分辨率”达到了十二种、并扩展到了“二十四色调”的运用能力,正在尝试“三个八度”取值范围内的和声音序设置——有望突破巴赫首先发现的“两个八度”音程内的和声体系,探索全新的音乐类型。
而这些来之不易的小小进展,也让编程者意识到:创世纪的智慧遥不可及,音乐的奥秘远不是个人力量所能破解的。就连古典智慧的神奇,也远远超出了现代人类的想象力,能领悟出纳音五行的几丝真义、已经万分幸运了。所以,编程者必须感恩天赐、感恩文明的传承者,志愿与所有人分享自己的有益领悟;同时,也是对MIDI技术的创建者、对PC概念及DIY理念的创建者的真诚致敬!期待更多的音乐爱好者和编程爱好者,助本人实现这一志愿:抛砖引玉、探寻“以有限创造无限”的生命奥秘和音乐奥秘。