钢琴调律(音律问题)
出处:新加坡钢琴城 发布日期:12/19/2009 4:45:51 AM 浏览次数:1052
音律问题
律制的改变
从古到今,律制方面的花样决不比社会制度少,有志于研究的人们可以花上毕生的精力去做学问。本文假定读者都有一些音律方面的常识,最基本的概念就不讲,否则就讲不到MIDI了。
调过标准音以后,各音之间的关系还遵照十二平均律的规矩。如果想改变个别音的频率,不按十二平均律排列半音阶,除了在面板上操作(以XP-10为例见英文手册33页),用系统专用信息也能够办到,而且更快更方便。
大家知道当前电子乐器的调律都是首先确定最高一个八度的各音频率。由于八度音的频率之间是倍数关系,每除以2就得出下面一个八度音,不用再做复杂计算(曾有人听出某合成器某个音“不准”,而他认为上下八度的音是准的。我只能不客气地告诉他,“不准”的是他的耳朵,不信可以打赌)。所以我们改变某个音的频率,各八度上的这个音都会同时改变。有的合成器改变调律会影响所有声部,XP-10的规定更细致,可以单独改一个声部。
仔细看MIDI定义的128个音符,上端还算合理,编号7FH的g音按平均律计算的频率是12543.8800Hz,我们能用用编辑命令把它升高到13289.7300Hz,还在人类的听觉范围之内。低端就超多了,编号0的C音只有8.1758Hz,落在“次声波”段,我们能看得清这样的振动,但是绝对听不见。再高一个八度,16.3516Hz还是听不见。参与制定MIDI规定的许多音频专家远比我清楚这些常识,如此定义肯定不是疏漏而是有意识安排的。
过去搞演奏的音乐家说这个律那个律,其实都是“大概律”。因为耳朵不是仪器,欣赏音乐也不是搞频率测试,一切以耳朵为准,凭感觉。律学专家研究律制可以精确到小数点后多少位,实际演出时差到小数点前也照样有掌声鲜花,好评如潮。音乐真是把“法治”和“人治”统一到了最高境界!
十二平均律实际是很难听的,相邻各音只能勉强让人说是半音关系;音程、和弦都如同“假冒伪劣”,光辉灿烂的大三和弦细听象是被掺了砂子。具有专业水平耳朵的诸位朋友们可以在合成器上选一种尽量简单(接近正弦波)的音色,去掉颤音和调制,不用任何效果器,仔细听听音阶、音程、和弦,领略一下十二平均律的感觉,保你难受。但是它有一个无可比拟的优点:24个大小调之间的关系一律平等(一样难受)。当初老巴赫未必不知道它有多难听,只凭这一条优点,就可以不论其它了。
今天我们有了比老巴赫更多的自由,如果条件许可,我们是否可以暂时脱离一下难听的十二平均律?我国传统音乐很少转调,就算有,也在很近的关系之内。许多传统乐器的制作和演奏并不依十二平均律。我国地方大、民族多,对于音律有很多不同的处理。细究起来,十二平均律的专利应该属于比巴赫早一个世纪的明朝中国人朱载育(育有土字旁,奈何电脑字库无此字,只好对不起老祖宗了)所有。但也只是作为多种律制中的一种而存在,在中国并不吃香。如果硬要大家都向十二平均律看齐,就成了“削足适履”,秦始皇都没敢做这样的梦。
我们的祖宗对音律有很深的研究,司马迁先生的大作“史记”中,卷二十四是乐书,卷二十五是律书!2000多年之前的司马迁先生已经记载了祖先们对音乐、律制这么深刻的研究,我们今天却糊里糊涂,真对不起祖先,我一想起这些就惭愧得无地自容。
不讲这么远的话题,我们回来看看怎么样造成十二不平均律的操作。
按英文手册33页的说明,从XP-10的面板上对每个音可以调整的范围是-64到+63音分。一个半音分成100音分,所以XP-10允许向上下方向的调整量都大于1/4个半音。手册给出了C大调纯律和阿拉伯音阶的调整数据,有兴趣的朋友们可以大胆动手试试,不会引起什么严重后果。
用系统专用信息调整的情况也一样。请看英文手册87页,从地址40 1x 40开始有12个字节可以为12个音写入调整量,x是MIDI通道,如果有更多通道需要处理,必须分别为它们发命令。16进制的40H是中间值,就是不加不减的平均律音高,上下调整的余地也是-64,+63音分。
我们分析一条91页所举的例子,把1通道调成阿拉伯音阶:
F0 41 10 42 12 40 11 40 3A 6D 3E 34 0D 38 6B 3C 6F 40 36 0F 50 F7
带底线的字节是地址,中间字节11右边的1指明MIDI通道(与状态字节的表示法不同,这里有特殊的写法:1=1…9=9,10=0,11=A…16=F)。
接下来C音-6音分,40-6=3A,C#音+45(2DH)音分,40+2D=6D…,余类推。倒数第二的50是校验码。
读懂了这条命令,您就可以改动任何声部的音阶了。
您可以把自认为有用的音阶调律都取个名字,存在电脑里,有用的时候立刻就能用。老巴赫可没有这样的自由,他会不会嫉妒我们?
过去搞律学研究要借助昂贵的仪器,现在随便找一台合成器就能胜任,精度可能远高于那些身价百倍的老仪器。
改变调律的有关命令也在较晚的时候补充进MIDI规定1.0。总共是3条系统专用信息,2个注册控制器号。
系统专用信息中有2条系统非实时信息,分别是调律传送请求和调律传送。
调律传送请求命令很简单:F0 7E 08 00 tt F7
08 00是两个副识别号,08表示调律信息,00表示请求(答复为01)。
tt是调律程序号,如果目标机器里有许多调律设置,应指明请求哪一个。
调律传送是设备接收到调律传送请求命令以后的回答,稍复杂些:
F0 7E 08 01 tt [xx yy zz] chksum F7
tuning name是调律名字,最多可用16个字符。
xx yy zz是具体调律数据,因为MIDI规定了128个音符,所以这组数据要重复送128次。
怎么样把调律数据写进xx yy zz这3个字节,要费一点功夫来解释。如果您看着头痛,可以跳过这一段。
头一个字节xx好理解,就是MIDI音符编号。从0到7F,中央C是3C,大家都很熟悉。
后两个字节yy zz指出xx音符升高的量(为了让事情简单些,这里只加不减)。两个字节共有14比特(最高位必须为0),最大的数目就是2的14次方,16384。而每个半音是100音分,所以往yy zz里写01 24(四舍五入,十进制164)就等于升高1音分。换句话讲,yy zz中的数据是以0.0061音分为单位的数值。
3个字节同为7F是一种特殊情况,意味该音符不作改变,维持原来的音高。有的机器音域不够128个音,就用7F把这条信息填满。
这里的和校验与Roland使用的算法不同,是将头、尾以外的字节做异或(XOR)运算。请喜欢刨根问底的朋友们原谅,在此不能细讲逻辑运算的道理了。
还有一条实时系统专用信息,用来改变单独一个音或若干音的调律:
F0 7F 08 02 tt ll(kk xx yy zz) F7
有些字节与前两条命令相同,我们注意到第二字节是7F,表示实时信息;第二个副识别号02表示改变音符。
tt和前面介绍过的一样,是调律程序号。ll指出要改变多少音符,可以用一条命令同时改动若干音符。
每个音符都有自己的一套数据,就是括号中的4个字节。kk表示音符编号,xx yy zz和前面讲过的一样,不再重复。
这条命令有很高的优先权,对于具体的执行也有较严格的要求。它要求立即执行,如果有正在发声的音符,也要立即改变,不得中断发音,也不准发出能被听见的杂音。
为调律定义的两个注册控制器03和04用来选择调律集和调律库,意思和我们已经熟悉的选择音色及音色库有点相象。在我们许多人还没有开始使用调律的功能之时,MIDI规定已经为我们准备好了128X128=16384种调律的存放地址,真是非常具有超前意识。
前面已经讲过的使用方法,下面仅结合实例作一些简单解释。
例1. 调用某调律集的控制变换(运行状态):
Bn 64 03 65 00 06 tt
其中是n通道号,tt是调律程序号。
例2. 调用下一个调律集
Bn 64 03 65 00 60 7F
控制器60(十进制96)使数据加1,如果先发过例1的命令,本命令把tt号加1。
例3. 调用前一个调律集
Bn 64 03 65 00 61 7F
控制器61(十进制97)使数据减1,如果先发过例1的命令,本命令把tt号减1。
调用调律库的命令基本相同,把03换成04就是了。
老巴赫的数学一定非常棒。作为一个德国人,生来好思索钻研,他所生活的时代大数学家辈出,很多是他的老乡(德国人)。那时的作曲家们不象后来浪漫派那样感情奔放,溢于言表,而是把自己的感情深深隐藏在复杂的结构之中。再看他的作品中那么多复杂的对位,整整齐齐天衣无缝,那肯定不是凭感觉写出来的,只怕有的地方反复计算过多次。他对于用计算方法得出的十二平均律倍加赞赏,因为有了这样精密相等的关系,转起调来方便多了,他结构复杂的多声部“高楼大厦”总算有了一个坚实的基础。高兴之下欣然命笔,老巴赫写出了不朽名篇十二平均律钢琴曲集。这是举世无双的四十八颗钻石,常听常新,百听不厌。