许多较旧的BASIC方言支持使用PLAY功能播放声音和音乐。 作为参数传递的字符串具有描述注释,持续时间等的某些语法。 出于纯学术目的,我正在寻找关于作为参数传递给PLAY函数的字符串的确切和最完整语法的文档。 通过谷歌搜索,我发现了一些像这样的例子:
PLAY "MSe8f#4f#8f#8g8a8b4.a4.g4.f#4.o0b8o1e8e8e4d8e2."
但没有文件。
答案 0 :(得分:3)
快速谷歌搜索提出:
http://en.wikibooks.org/wiki/QBasic/Appendix#PLAY
您需要练习Google-Fu!
看起来非常标准的乐谱 - 点缀音符,锐利等等
为了使这个答案有意义,以防wikibooks爆炸:
字符串表达式中忽略空格。还有一些代码可以设置持续时间,八度和速度。它们都不区分大小写。 PLAY执行命令或记录它们在字符串中出现的顺序。任何更改属性的指标对该指标后面的注释都有效。
- Ln 设置备注的持续时间(长度)。变量n不表示实际持续时间量,而是表示票据类型; L1 - 整个音符,L2 - 半音符,L4 - 四分音符等(L8,L16,L32,L64,...)。默认情况下,n = 4.对于三元组和五元组,分别使用L3,L6,L12,...和L5,L10,L20,...系列。还为注释提供了长度的简写符号。例如,
L4 CDE L8 FG L4 AB
可以缩短为L4 CDE F8G8 AB
。 F和G作为八分音符演奏,而其他演奏作为四分音符。- 开启设置当前八度音阶。 n的有效值为0到6.八度音程以C开头,以B结尾。请记住,C-相当于B.
- 的< > 分别向下或向上更改当前八度音阶。
- Nn 在七个八度范围内播放指定的音符。有效值为0到84.(0表示暂停。)不能使用锐利和平坦。不能用速记符号。
- MN 代表音乐正常。注意持续时间是Ln指示的长度的7/8。这是默认模式。
- ML 代表Music Legato。注释持续时间是由Ln表示的全长。
- MS 代表Music Staccato。注意持续时间是Ln指示的长度的3/4。
- Pn 对指示的音符长度(与Ln相同)进行静音(暂停)。
- Tn 设置每分钟“L4”的数量(速度)。有效值为32到255.默认值为T120。
- 。当放在音符后面时,它会使音符的持续时间为设定持续时间的3/2。这是如何得到“点缀”的笔记。 “L4 C#。”将C sharp作为虚线四分音符。它也可用于暂停。
- MB MF 代表音乐背景和音乐前景。 MB在音乐缓冲区中最多放置32个音符,并在执行其他语句时播放它们。适用于游戏。 MF将播放模式切换回正常状态。默认为MF。