示例#1
0
        public Scale Transpose(Note key)
        {
            int shift = key.NHalfSteps - Tonic.NHalfSteps;

            return(new Scale(Tonic.MoveSteps(shift), Supertonic.MoveSteps(shift),
                             Mediant.MoveSteps(shift), Subdominant.MoveSteps(shift),
                             Dominant.MoveSteps(shift), Submediant.MoveSteps(shift),
                             Subtonic.MoveSteps(shift)));
        }
示例#2
0
 public static Scale JazzMinor(Note tonic)
 {
     return(new Scale(tonic, tonic.MoveSteps(2), tonic.MoveSteps(3),
                      tonic.MoveSteps(5), tonic.MoveSteps(7), tonic.MoveSteps(9),
                      tonic.MoveSteps(11)));
 }
示例#3
0
 public static Scale HarmonicMinor(Note tonic)
 {
     return(new Scale(tonic, tonic.MoveSteps(2), tonic.MoveSteps(3),
                      tonic.MoveSteps(5), tonic.MoveSteps(7), tonic.MoveSteps(8),
                      tonic.MoveSteps(11)));
 }
示例#4
0
 public static Scale NaturalMinor(Note tonic)
 {
     return(new Scale(tonic, tonic.MoveSteps(2), tonic.MoveSteps(3),
                      tonic.MoveSteps(5), tonic.MoveSteps(7), tonic.MoveSteps(8),
                      tonic.MoveSteps(10)));
 }
示例#5
0
 public static Scale Major(Note tonic)
 {
     return(new Scale(tonic, tonic.MoveSteps(2), tonic.MoveSteps(4),
                      tonic.MoveSteps(5), tonic.MoveSteps(7), tonic.MoveSteps(9),
                      tonic.MoveSteps(11)));
 }
示例#6
0
 public static Triad Major(Note baseNote, int inversion = 0)
 {
     return(new Triad(baseNote, baseNote.MoveSteps(4), baseNote.MoveSteps(7), inversion));
 }
示例#7
0
 public static Triad Diminished(Note baseNote, int inversion = 0)
 {
     return(new Triad(baseNote, baseNote.MoveSteps(3), baseNote.MoveSteps(6), inversion));
 }