IBM PC机PLAY语句的应用

Author: 北京 杜荣杰 Date: 1992-08-28

        PLAY语句由扩展BASIC(BASICA)提供,它用语句中的音符串表示欲演奏音符的信息。音符用A,B,C,D,E,F,G几个字母表示,升半音用“+”号或“#”号表示,降半音用“-”号表示。例如PLAY“CC#D”和PLAY“CD-D”等价,但不能用升降半音来表示非黑键音符。
        另外一种音符表示法是用0~84的整数表示休止符及七个八度音阶内的所有音符,O代表休止符。用在PLAY语句中的音符串应以字母N后跟相应数来表示。
        在允许的七个八度音阶中,每一个音阶都是从C音到B音,用数字0~6标定。中音C是第三音阶的起音符。在音符串中使用字母O,后跟音阶数,可以改变当前音阶。如未用音阶命令设定,则系统默认为是第4音阶。在音符串中也可以用“〈”降低一个音阶或用“〉”升高下个音阶。
        在字母L之后跟一个数字可以设定音符的长度,在另一长度码出现以前,后继音符都以同一长度发音。长度数取值范围是1到64,L1是全音符,L4表示四分音符,不用L命令指定音长时,取默认值L4(四分音符)。在音符串中,也可简化为在音符后加数字的方法来表示音长,例如PLAY “L4ABL2BF”可以简化为PLAY “A4B4B2F2”。T命令用于设定演奏速度,取值范围32到255,即每分钟演奏四分音符的个数。未加指定时默认值为120,每分钟120拍。
        休止符命令P后跟音长数字(或省略)可产生指定音长的停顿。在音符串中,可直接用“.”号来表示附点音符,使音符长度延长一半。
        通常,音符的演奏时间是定时间的7/8,这是MN正常演奏方式。连奏方式ML将全时演奏,MS断奏方式演奏指定时间的3/4,在音符串中可因这三个命令改变演奏方式。
        另外,MBN设定背景演奏,在演奏时,计算机还可以进行其它操作。而MF前景演奏时,必须等演奏完之后才能继续进行其它操作。
        在PLAY语句的音符中,可以用X命令使用一个已定义的字符串,例如,PLAY “ABCDE”可以这样完成P$=“ABCDE”:PLAY “XP$”。
        有了上述介绍的方法,我们可以很容易地进行乐曲演奏编程。这里给出一句音符串用于演奏一段顺耳的钟声:PLAY “MLT40O4ECD〈GP32G〉DEC”。