예제 #1
0
        public static Melody12Tone CMajorPreludeBach()
        {
            MelodyAtomic melody = new MelodyAtomic(new object[] { 0, 1, 2, 3, 4, 2, 3, 4 }, 2);

            MelodyComposite composite = new MelodyComposite("AA", melody);
            const int       C = 0, D = 1, E = 2, /*F = 3,*/ G = 4, A = 5, B = 6, C2 = 7, D2 = 8, E2 = 9, F2 = 10, G2 = 11, A2 = 12;
            const int       Bsm = -1, Asm = -2, Gsm = -3, /*Fsm = -4, Esm = -5,*/ Dsm = -6; // sm - small octave
            string          FSharp = "3+";

            MelodySequencer seq = new MelodySequencer(composite,
                                                      new object[] { C, E, G, C2, E2 },         //C
                                                      new object[] { C, D, A, D2, F2 },         //C\d
                                                      new object[] { Bsm, D, G, D2, F2 },       //B\G
                                                      new object[] { C, E, G, C2, E2 },         //C

                                                      new object[] { C, E, A, E2, A2 },         //C\a
                                                      new object[] { C, D, FSharp, A, D2 },     //C\D
                                                      new object[] { Bsm, D, G, D2, G2 },       //B\G
                                                      new object[] { Bsm, C, E, G, C2 },        //B\C = Cmaj7
                                                      new object[] { Asm, C, E, G, C2 },        //A\C = a7
                                                      new object[] { Dsm, Asm, D, FSharp, C2 }, //D7
                                                      new object[] { Gsm, Bsm, D, G, B } //G
                                                      );

            return(new Melody12Tone(seq, TwelveToneSet.majorScale, 60, 80));
        }
예제 #2
0
        public static Melody12Tone ChopinAccompany()
        {
            RhythmPatternBase rhythm = new RhythmPattern(3, new bool[] { true, true, true });
            MelodyAtomic      melody = new MelodyAtomic(rhythm, new object[] { 0, "1/3", "2/4" });
            MelodySequencer   seq    = new MelodySequencer(melody,
                                                           new object[] { 0, 2, 4, 7, 9 },
                                                           new object[] { 0, 2, 4, 7, 9 }
                                                           );

            return(new Melody12Tone(seq, TwelveToneSet.majorScale, 64, 100));
        }
예제 #3
0
        public static Melody12Tone DanceOfClocks()
        {
            RhythmPatternBase rhythm = new RhythmPattern(4, new bool[] { true, true, true, true, false, false, false, false });
            MelodyAtomic      melody = new MelodyAtomic(rhythm, new object[] { 0, 1, 1, 2 });
            MelodySequencer   seq    = new MelodySequencer(melody,
                                                           new object[] { 2, 4, 5 },
                                                           new object[] { 5, 7, 6 },
                                                           new object[] { 4, 5, 6 },
                                                           new object[] { 6, 10, 9 },

                                                           new object[] { 2, 9, 8 },
                                                           new object[] { 8, 6, 5 },
                                                           new object[] { 5, 3, 2 }
                                                           );

            return(new Melody12Tone(seq, TwelveToneSet.majorScale, 64, 80));
        }