Transposing the key using jfugue - 关于Jfugue的一些问题
Transposing the key using jfugue - Some questions concerning Jfugue
我有几个关于 JFugue(5,测试版)的问题。
- 来自JFugue 的完整指南,其中提到 JFugue 根据模式中的调号来解释音符值。例如,在 F 大调的情况下,B 会自动转换为降 B,除非我们改写 "Bn"。
问题是,如果我们处理 F 大调并写 "Bb",JFugue 将如何解释它?作为 "Bbb" 或作为 "Bb" 注释 ?
- 我的第二个问题是关于在 JFugue 中移调键。
最快的方法是什么?
感谢您的帮助,
最好的问候,
侯赛因·哈穆德。
回答你问题的第一部分:在F大调中,Bb的弹奏方式与Bb一样,与F大调中的B本身相同。这是一个对此进行测试的程序:
StaccatoParser parser = new StaccatoParser();
DiagnosticParserListener dpl = new DiagnosticParserListener();
parser.addParserListener(dpl);
Pattern pattern = new Pattern("KEY:Cmaj B Bn Bb KEY:FMaj B Bn Bb");
parser.parse(pattern);
及其输出(注意MIDI Note 70是Bb,MIDI Note 71是B):
Before parsing starts
Key signature parsed: key = 0 scale = 1
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64
Key signature parsed: key = 5 scale = 1
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64
After parsing finished
回答你问题的第二部分:我不确定现在是否有合适的答案。但是你启发了我在 Pattern
class 上写一个 transpose()
方法。谢谢!
我有几个关于 JFugue(5,测试版)的问题。
- 来自JFugue 的完整指南,其中提到 JFugue 根据模式中的调号来解释音符值。例如,在 F 大调的情况下,B 会自动转换为降 B,除非我们改写 "Bn"。 问题是,如果我们处理 F 大调并写 "Bb",JFugue 将如何解释它?作为 "Bbb" 或作为 "Bb" 注释 ?
- 我的第二个问题是关于在 JFugue 中移调键。
最快的方法是什么?
感谢您的帮助,
最好的问候,
侯赛因·哈穆德。
回答你问题的第一部分:在F大调中,Bb的弹奏方式与Bb一样,与F大调中的B本身相同。这是一个对此进行测试的程序:
StaccatoParser parser = new StaccatoParser();
DiagnosticParserListener dpl = new DiagnosticParserListener();
parser.addParserListener(dpl);
Pattern pattern = new Pattern("KEY:Cmaj B Bn Bb KEY:FMaj B Bn Bb");
parser.parse(pattern);
及其输出(注意MIDI Note 70是Bb,MIDI Note 71是B):
Before parsing starts
Key signature parsed: key = 0 scale = 1
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64
Key signature parsed: key = 5 scale = 1
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64
Note parsed: value = 71 duration = 0.25 onVelocity = 64 offVelocity = 64
Note parsed: value = 70 duration = 0.25 onVelocity = 64 offVelocity = 64
After parsing finished
回答你问题的第二部分:我不确定现在是否有合适的答案。但是你启发了我在 Pattern
class 上写一个 transpose()
方法。谢谢!