Beispiel #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)));
        }