Microsoft Windows Logo(MSWLogo)的BEEP组合旋律
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Microsoft Windows Logo(下文简称MSWLogo) 的发声依靠SOUND命令实现(类似于C语言里的beep函数),如果要实现拼接成一段旋律,有时还需要用到WAIT命令实现休止符的效果。 1、SOUND命令,播放声音,后接参数为包含两个参数的LIST,第一个参数为频率,第二个参数为发声时长 2、WAIT命令,等待指定长度的时间,后接参数为1/60秒的倍数 一台88键的钢琴,每个键都有自己固定的频率,计算此频率的公式可以参考维基百科条目: 钢琴键的频率: https://en.wikipedia.org/wiki/Piano_key_frequencies (目前这一条目并还没有被收入汉语维基,所以感兴趣的朋友只能看英文版) 要实现弹琴的效果,可参照如下步骤: 第一步 ,建立两个全局变量,SOUND_LENGTH是每个音节的默认长度,WAIT_LENGTH是每个休止符的默认长度 MAKE "SOUND_LENGTH 200 MAKE "WAIT_LENGTH 50 第二步 ,创建两个Procedure,用于播放单个音符 TO PLAY_SOUND :NOTE LOCALMAKE "FREQ GET_FREQ :NOTE LOCALMAKE "SOUND_PAIR [] LOCALMAKE