您可以在您的蜂鸣器上播放音乐!
首先将 src/platform/posix/music.sh
设置为可执行文件:
chmod +x src/platform/posix/music.sh
然后运行:
python src/platform/posix/start.py <乐谱.txt>
其中:乐谱.txt
是您想播放的乐谱文件。
Windows is a piece of SHIT!
-- Chi_Tang
使用方法很简单。
只需用g++
编译src/platform/nt/beep.cpp
:
g++ src/platform/nt/beep.cpp
然后运行:
a.exe <乐谱.txt>
即可。
本项目中的src/platform/nt/sound2program.cpp
可以将乐谱直接转换为 cpp 源代码。
编译完成后执行
a.exe <乐谱.txt>
即可。
一个 txt 文件。
本程序支持的乐谱文件可分行,可不分行。
第一个整数表示调号。
0
表示 C 大调
1
表示 #C 大调
2
表示 D 大调
3
表示 #D 大调
4
表示 E 大调
5
表示 F 大调
6
表示 #F 大调
-1
表示 B 大调
-2
表示 bB 大调
-3
表示 A 大调
-4
表示 bA 大调
-5
表示 G 大调
第二个整数表示 bpm (beat per minute)。
接下来为几对字符串和浮点数。
字符串表示这个音符的音高,由三部分组成:音调,升降号,八度号。
音调分为 7 种:1
2
3
4
5
6
7
,分别表示该调号下简谱记法。休止符为0
。
升降号有两个:#
b
,表示该音调升(降)半音。
八度号有两个:+
-
,表示原来的音升高(降低)八度。
浮点数表示该音符所占的时值,以四分音符为一拍,记作1
。
类似地,二分音符记作2
,十六分音符记作0.25
。
例如:1#+
表示高八度的升do
。
您可以在乐谱
查看示例。
注意:
- 调号只有这十二种,否则有概率内存溢出(因为我指针不会用qwq)。
- 本程序支持的音域在 C 大调的
1-
和7+
之间,超出可能会导致某些音符无音,内存溢出等情况。若调号不为0
要尤其注意。