如何用电脑学习机作曲

🏠 首页 《无线电》杂志 1993年 🔗 第8期 🔗 第28页 分类:无线电技术自学经验交流 🔗 郑爱兰 🔗

(郑爱兰)本刊1992年第10期上刊登的“用游戏机组成的电脑学习机”一文中,介绍了家庭电脑学习机具备的多种功能。其中作曲演奏功能是该机的一大特点。电脑学习机CPU内部的数字音源合成系统,由5个数字音源合成通道组成(见图1)。其中3个通道互相连接,合成方波;另外两个通道合成三角波。这种数字音源合成器,要比中华学习机、IBM-PC/XT/AT等微机发出的音乐,更为丰富、悦耳动听。每个通道又包含了控制字寄存器组、数/模转换和相对的控制逻辑电路(见图2)。它们都挂到CPU总线上,并且统一编址。通过编写6502微处理器的机器码,把相应的控制字,通过总线控制率寄存器组,即可发出各种声音。由此可见该电脑学习机的音响发声系统功能很强。利用该功能不但能帮助我们学习作曲演奏,还可以直接进行音乐教学和示范。该机可用两种方法进行作曲演奏。较简单的曲子可用音乐板进行,此方法对学龄前儿童和小学生来说,既直观又简单;另一种方法是用FBASIC语言编写音乐程序,这种方法可以对乐曲的速度、音量、音色、音长、音域、音程、节拍及三和弦伴奏进行设定。不但能使读者进入到BASIC领域之中,而且还能使读者的音乐才能进一步得到发展。

图1
图1 🔍原图 (516×388)
图2
图2 🔍原图 (626×376)

BS系统中有4个功能,当屏幕上显示出“MUSIC BOARD NEED”?(音乐板是否需要)时,按右面的[SHIFT]+1键或输入“OK”并按“回车”键,即可进入音乐板。音乐板由上部(中音)、中部(高音)、下部(低音)组成。同时可以演奏出三部合音。作曲时输入简谱或音名即可。在每一行里只能写入24个字符。在屏幕的下方有提示:“FAST<---□---> SLOW”表示演奏速度。方向键“→”“←”可以改变演奏速度。光标向左移速度变快,向右移速度变慢。右[SHIFT]+ 1~右[SHIFT]+7是音名“c、d、e、f、g、a、b”用来表示简谱的7个音阶。“(#):C、D、E、F、G、A、B(音名)”,比小写的“c、d、e、f、g、a、b”分别低半音。右[SHIFT]+8:PLAY,按右[SHIFT]+8键开始演奏。“$:REPEAT”,在乐曲中插入“$”,可以不停地重复演奏。在谱曲中还有以下需用的功能键:空格等未定义的字符可作休止符;按空格键可以终止演奏;按右[SHIFT]+H键可中断演奏;谱曲中音符出了错,需要修改时用“回车”键可以把光标移动一行;用方向键“↑”“↓”“←”“→”把光标移动到需要修改的音符上,这时输入正确的音符即可;使用右[SHIFT]+D,右[SHIFT]+I键可以删去或增加音符;要退出音乐板只需按[ESC]键即可。

用FBASIC语言编写音乐程序。当屏幕上显示出“FBASIC”NEED?这时按右[SHIFT]+1键或输入“OK”并按“回车”键即可进入FBASIC程序中,屏幕上再次显示出“菜单”。“菜单”的内容是:1.BASIC;2.绘图;3.结束。这时只需按“1”键就可进入BASIC程序中。为了使简谱所作的乐曲输入到电脑中,特设了一套代码。这套代码也像简谱一样能完整地演奏出一首乐曲。下面介绍代码与简谱的对应关系。见表1、表2、表3。表1音域代码,将音列分成6个八度,用O0~O5来表示。表2音阶代码,用字母和升“#”降“b”号来表示。表3音符节拍代码,用数字0~9来表示音乐节拍的长度。每个音符都必须按顺序,用表1、表2、表3的代码一起来表示。比如:简谱“3”是中音,在表1中,中音区的代码是O3;简谱“3”在表2中,用“E”来表示;简谱“3”是四分音符,在表3中用代码“5”来表示,完整的用音乐代码表示简谱“3”:“O3E5”。如果前后音符在同一音域中,后面的音域代码可省略不写。例如:简谱|3345|用音乐代码表示为“O3E5E5F5G5”。如果前后音符长度也相同,那么后面音符的音符长度代码也可省略不写。例如:简谱|3345|代换为“O3E5E5F5G5”可简化为“O3E5EFG”。在BASIC语言中,表示音乐指令的是PLAY,如:10PLAY“O3E5EFG”。下面介绍的表4、表5、表6,可以使乐曲更加优美动听。表4是速度代码,T1~T8表示演奏速度,T1最快,T8最慢。表5是音量代码,也是乐曲感情控制关键因素。M1Vn适合轻快的乐曲;M0Vn适合抒情歌曲。表6是音色效果代码,百分数是指所输出方波的占空比。如果想连续演奏乐曲,可将“END”语句改“RUN”,乐曲可反复演奏。二部曲编程时以乐曲的每小节为单位,将两声部的音乐代码分开写,中间用冒号隔开。三部曲与二部曲一样,只是第三部低音部的音量(V)和音色效果(Y)是固定的,不必输入音量和音色效果代码。在BASIC语言的音乐语句中,引号中的字符不能超过31个。如程序太长,可分段输入。如果要退回“菜单”,请键入“SYSTEM”中。从“菜单”退出,用数字键“3”。

图3
图3 🔍原图 (405×613)
图4
图4 🔍原图 (341×571)
图5
图5 🔍原图 (481×606)
图6
图6 🔍原图 (1526×500)

上述的这些功能只要反复的使用和理解,读者是很容易掌握的。下面例举一首三部曲。电脑学习机见本刊1993年第2期46页邮购消息。

曲名:《欢乐颂》

00 REM“HUAN LE SONG”

10 PLAY“M1V12Y3T4:M1V8Y1T4:M1T4”

20 PLAY“O4E5EFG:C5CDE:O2C7O1G7”

30 PLAY“O4G5FED:E5DCO3B5:O0C7O1G”

40 PLAY“O4C5CDE:O3A5ABO4C5:O1A7B”

50 PLAY“O4E6D3D7:C6D3O3B7:O2C7O1G7”

60 PLAY“04E5EFG:C5CDE:O2C7O1G7”

70 PLAY“O4G5FED;E5DCO3B5:O0C7O1G7”

80 PLAY“O4C5CDE:O3A5AB04C5:D1A7B”

90 PLAY“O4D6C3C7:O3B6E7:O1GO2C5B3O3C3”

100 PLAY“O4D5DECDE3FE5C:O3D7CDC:O2G7GGG”

110 PLAY“O4D5E3FE5D:O3D7C:O2G7G”

120 PLAY“O4C5DO3G504E5:O2#F7G:#D7D”

130 PLAY“O4E5EFG:P4C5CDE:O2C7O1G7”

140 PLAY“O4G5FED:EDCO3B5:O0C7O1G7”

150 PLAY“O4C5CDE:O3A5AB04C5;O1A7B”

160 PLAY“O4D6C3C7:O3B6E7:O1G702C7”

170 END