Skip to content

ssmzhn/beep-music

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

beep-music

您可以在您的蜂鸣器上播放音乐!

用法

Linux

首先将 src/platform/posix/music.sh 设置为可执行文件:

chmod +x src/platform/posix/music.sh

然后运行:

python src/platform/posix/start.py <乐谱.txt>

其中:乐谱.txt是您想播放的乐谱文件。

Windows (未测试,不保证可用)

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

您可以在乐谱查看示例。

注意:

  1. 调号只有这十二种,否则有概率内存溢出(因为我指针不会用qwq)。
  2. 本程序支持的音域在 C 大调的 1-7+ 之间,超出可能会导致某些音符无音,内存溢出等情况。若调号不为0要尤其注意。

About

You can play music!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published