Esempio n. 1
0
        public static Chord BuildSeven(Note n)
        {
            var c = new Chord();

            c.notes = new List <Note>();
            c.notes.Add(n);
            c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 4)));
            c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 7)));
            c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 10)));
            return(c);
        }
Esempio n. 2
0
        /// <summary>
        /// 建立基于根音n的和弦
        /// </summary>
        /// <param name="n"></param>
        /// <returns></returns>
        public static Chord BuildThree(Note n, ChordThreeCategory ctc)
        {
            var c = new Chord();

            c.notes = new List <Note>();
            c.notes.Add(n);
            switch (ctc)
            {
            case ChordThreeCategory.major:
                c.name = "major3";
                c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 4)));
                c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 7)));
                return(c);

            case ChordThreeCategory.minor:
                c.name = "minor3";
                c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 3)));
                c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 7)));
                return(c);

            case ChordThreeCategory.augment:
                c.name = "augment3";
                c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 4)));
                c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 8)));
                return(c);

            case ChordThreeCategory.diminished:
                c.name = "diminished3";
                c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 3)));
                c.notes.Add(new Note(NoteHelper.GetNote(n.pitch, 6)));
                return(c);

            default:
                return(c);
            }
        }