2017-04-20 29 views
0

所以我希望減少七和絃,因爲它是主音模式中的全音階,經常用於代替主音模式中的主要七音。 This site表示可以通過在和絃名稱後面使用dim來定義減小的和絃,但只能使用明確的字母名稱,據我所知。有什麼辦法讓它適用於羅馬數字?用JFugue定義減小的和絃作爲羅馬數字

下面的程序:

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

+0

暗淡的第七和絃不是'主要模式中的全音階',無論這意味着什麼。很難理解爲什麼當你只在一個和絃中使用'dim'時,你會期待'B4DIM',並且很難理解爲什麼該和絃的輸出包含'DIM'並不能滿足你的要求。 – EJP

+0

@EJP抱歉,我的意思是_seven_,而不是seven_th_。我會糾正我的問題。 – FracturedRetina

+0

'第七'是正確的,你沒有以任何方式解決我的評論。 – EJP

回答

0

若要從ChordProgression產生一個減小的和絃,請在羅馬數字的末尾使用'o'或'd'。

ChordProgression cp = new ChordProgression("viid").setKey("C"); 
System.out.println(cp); 

此代碼產生B4DIM