使用 JFugue 将减弦定义为罗马数字
Define diminished chord as a roman numeral with JFugue
所以我想要一个减七和弦,因为它是大调模式下的全音阶,经常用来代替小调模式下的大七和弦。 This site 说减和弦可以通过在和弦名称后使用 dim
来定义,但据我所知,这只适用于明确的字母名称。有什么办法让它适用于罗马数字吗?
以下程序:
ChordProgression cp = new ChordProgression("vii");
cp.setKey("C");
System.out.println(cp.getChords()[0].toHumanReadableString());
cp = new ChordProgression("vii*");
System.out.println(cp.getChords()[0].toHumanReadableString());
cp = new ChordProgression("viidim");
System.out.println(cp.getChords()[0].toHumanReadableString());
输出:
B4MIN
C4MIN
C4DIM
输出应该是B4DIM
。
要从 ChordProgression
产生减和弦,请在罗马数字末尾使用 'o' 或 'd'。
ChordProgression cp = new ChordProgression("viid").setKey("C");
System.out.println(cp);
此代码生成 B4DIM
.
所以我想要一个减七和弦,因为它是大调模式下的全音阶,经常用来代替小调模式下的大七和弦。 This site 说减和弦可以通过在和弦名称后使用 dim
来定义,但据我所知,这只适用于明确的字母名称。有什么办法让它适用于罗马数字吗?
以下程序:
ChordProgression cp = new ChordProgression("vii");
cp.setKey("C");
System.out.println(cp.getChords()[0].toHumanReadableString());
cp = new ChordProgression("vii*");
System.out.println(cp.getChords()[0].toHumanReadableString());
cp = new ChordProgression("viidim");
System.out.println(cp.getChords()[0].toHumanReadableString());
输出:
B4MIN
C4MIN
C4DIM
输出应该是B4DIM
。
要从 ChordProgression
产生减和弦,请在罗马数字末尾使用 'o' 或 'd'。
ChordProgression cp = new ChordProgression("viid").setKey("C");
System.out.println(cp);
此代码生成 B4DIM
.