Ejemplo n.º 1
0
        public IEnumerable <IEnumerable <Note> > GetProgressionChords(Note root)
        {
            var n = new Notes();

            var scale = n.EnumerateNotes(root, Scale).ToArray();

            for (var i = 0; i < ScaleDegrees.Length; i++)
            {
                var chordRoot = scale[ScaleDegrees[i] - 1];
                yield return(n.EnumerateNotes(chordRoot, Chords[i].Pattern));
            }
        }
Ejemplo n.º 2
0
        public KeyboardOctave(int octaveNumber)
        {
            var n = new Notes();

            OctaveNumber = octaveNumber;

            var minNoteNumber = (octaveNumber + 1) * 12;

            var notes = n.EnumerateNotes("C", Scales.Chromatic).ToArray();

            Keys = Enumerable.Range(minNoteNumber, 12).Select(a =>
            {
                var not = notes[a - minNoteNumber];

                return(new MidiKey(a, not, this));
            }).ToArray();

            NoteKeyMap = Keys.ToDictionary(a => a.Note);
        }