一款用electron框架创建的编写简谱、播放简谱、练习和辅助演奏的软件
从源码运行打谱机需要Nodejs,可以从Nodejs官网安装。安装好Nodejs后确认node
和npm
这两个命令可以使用。
注:
npm
是Nodejs的包管理器,国内下载速度很不稳定,可以使用cnpm
代替npm
。用命令npm install -g cnpm
安装cnpm
。
进入打谱机源代码的根目录并执行如下命令即可运行打谱机,
$ npm install
$ npm start
当然你若需要自己打包的话想要在Windows以外的系统运行(比如linux、OSX),可以用electron-packager来打包。
将src/languages/
目录,需要调用的语言的文件名改为seleted.js
即可。
例如:默认的seleted.js
里为中文,若要换成英文,则将原本的seleted.js
删除,将en.js
改名为seleted.js
重启程序即可。
- 通过简单的代码(遵守打谱机的语法)来编写乐谱
- 播放乐谱代码
- 通过手柄或键盘进行演奏
- 根据乐谱代码来生成类似音乐游戏的滑动条,用以练习和辅助演奏
乐谱代码总体分为两部分乐谱头部和乐谱正文:
乐谱头部记录整个乐谱的相关信息,且必须放在乐谱正文之前。
乐谱头部可以包含如下信息:
title = "标题名"
composer = "作曲者姓名"
compiler = "打谱者姓名"
bpm = a // 每分钟节拍数(beats per minute)。默认为80, 0<a
beatInfo = {a/b} // 表示每小节有a拍,b分音符为1拍。默认为4/4, a={2,3,4,5,6,7,8}, b={1,2,4,8,16,32,64}
乐谱正文由任意数量的乐谱标记组成,一个乐谱标记包含一个唱名和任意数量的乐谱符号,乐谱符号之间没有顺序。例如1#+*.
表示一个高八度升了半音拍子为3拍的do,即用简谱记为$$\sharp \dot{1}--$$。
1, 2, 3, 4, 5, 6, 7
b - 升调符号
# - 降调符号
/ - 音长减半
* - 音长翻倍
. - 音长加一拍
- - 音高降低
+ - 音高升高
0 - 修止符号