Ejemplo n.º 1
0
        public void Scale_Mode_C_Major_Ionian_Mode_Is_C()
        {
            var cMajor = new ScaleBuilder().FromPattern(MidiValue.MiddleC, WellKnownIntervalPattern.Major);

            Assert.Equal("C", cMajor.Root().Name);

            string[] dModal = new string[] { "C", "D", "E", "F", "G", "A", "B", "C" };

            var modeNames = cMajor.ToMode(Mode.Ionian).Values.Select(n => n.Name);

            Assert.True(modeNames.SequenceEqual(dModal));
        }
Ejemplo n.º 2
0
        public void Scale_Transpose_Progresses_Around_Circle_Of_Fourths()
        {
            var cMajor = new ScaleBuilder().FromPattern(MidiValue.MiddleC, WellKnownIntervalPattern.Major);

            Assert.Equal("C", cMajor.Root().Name);

            string[] circleOfFourths = new string[] { "F", "A#", "D#", "G#", "C#", "F#", "B", "E", "A", "D", "G", "C" };

            var start = cMajor;

            foreach (string root in circleOfFourths)
            {
                var next = start.Transpose(Interval.Fourth);
                Assert.Equal(root, next.Root().Name);

                start = next;
            }
        }