自定义乐谱解释器
- 下载源码到本地
- 用IDEA打开,其他的(如eclipse)需要自己调试
- 运行MyPlayer中的main方法即可
- 不需要任何第三方库,装了java就可以玩
- 不要过度研究当下版本,可以当玩具研究下.目前设计上还有很多缺陷,后续会大改 近期没时间,有时间会继续完善
- 还有,java的就业方向以web开发为主,还在上学的小伙伴一定要研究好再选择,切 不可因一时好玩草率选择编程语言
- 着急研究midi相关api的小伙伴可移步Oracle官方demo
- 着急用音乐编程达到更好效果的小伙伴可以搜索关键字 JFugue, abc4j(太老了)这些项目 开源且成熟,能快速实现一个乐队(前提你懂乐理)
- 着急编曲的小伙伴请搜索引擎自行搜索 打谱软件 会找到你想要的
符号 | 示例 | 说明 |
---|---|---|
单纯数字 | 1 | 表示四分音符 |
- | -3 | 表示八分音符 |
-- | --3 | 表示十六分音符,后边依此类推 |
+ | 3+ | 表示延长一个四分音符长度 |
++ | 3++ | 表示延长二个四分音符长度,后边依此类推 |
l | 3l | 表示低一个八度(l:low的简写) |
ll | 3ll | 表示低二个八度,后边依此类推 |
h | 3h | 表示高一个八度(h:high的简写) |
hh | 3hh | 表示高二个八度,后边依此类推 |
: | 3:2 | 表示同时按下3和2 |
: | 1:2:3 | 表示同时按下1,2和3 |
u | 3u | 升符号(up),表示升3 |
b | 3b | 降符号(blow),表示降3 |
. | 3. | 表示延长本音节原有长度的一半(3.的音长是3的1.5倍) |
^ | ^3 | 表示本音节符号不发音 |
> | 3> | 顿音符号,表示本音符发音时长占音符时长的1/4 |
< | 3<2 | 倚音符号,音节时长由后边的音符决定,前边音符发音占本音节时长的1/16 |
关键字 | 示例 | 说明 |
---|---|---|
major | major:c | 声明简谱是C调的,简谱中可变换多次 |
PPQ | PPQ:3/4 | 声明简谱是4分音符为一拍,没小节3拍 |
BPM | BPM:155 | 声明简谱每分钟155拍 |
rightStart | rightStart | 右手轨道开始 |
leftStart | leftStart | 左手轨道开始 |
rightEnd | rightEnd | 右手轨道结束 |
leftEnd | leftEnd | 左手轨道结束 |
// | //注释 | 本行为注释内容 |
- 指令行每一行为一个指令,如生明major,PPQ等
- 乐符为每一行一个小节,乐符之间以空格分开
- 乐符录入前要先声明是左手还是右手rightStart,leftStart
- 乐符左右手部分结束后需要声明结束
- 左右手不可同时开启
- 左右手声明结束后可以再次声明开始,从第一个节拍开始录,不会覆盖前边
目前本项目以钢琴为,只实现了部分钢琴技法,主要是针对简谱,
后续会增加五线谱以及JFugue以及xmlmusic的解析,以上只是设想,
目前没空,有空还能想起来的话,再写吧