There is currently no representation for chord (besides lists of intervals). It could be interesting to wrap it in its own type to get the possibility to do inversions, alterations etc. There would be a set of functions to render chords into scores, representing various "playing styles" (i.e. broken chord, alberti bass, style brise etc).
import Music.Pitch
data Chord = Chord [Interval]
Eventually I want to have a representation of of scales and chords that is agnostic to musical style (i.e. not western/CMN-centric), but just using common pitches and intervals would be a starting point to build from.
(update Tor 16 Okt 2014 19:04:54 BST)
What is the difference between a "chord" and a "functions". What exactly does "Chord" mean?
A) A chord, in the most general sense is simply a collection of pitches, i.e. IsPitch a => [a].
Often we use chord in a more specific sense:
B) A collection of pitch classes (represented as a list of pitches classes @g e c@, or as function and a root @Cmaj/5@, or as a root and a list of intervals @G 6 4@).
C) Simply as a synonym for function i.e. "major chord", "Neaopolitan chord".
Alternative terms:
A) "Pitch collection"/"Harmony" (or "spaced/voiced chord")
B) Chord class/type (or "unspaced/unvoiced chord")
See also #8
There is currently no representation for chord (besides lists of intervals). It could be interesting to wrap it in its own type to get the possibility to do inversions, alterations etc. There would be a set of functions to render chords into scores, representing various "playing styles" (i.e. broken chord, alberti bass, style brise etc).
Eventually I want to have a representation of of scales and chords that is agnostic to musical style (i.e. not western/CMN-centric), but just using common pitches and intervals would be a starting point to build from.
(update Tor 16 Okt 2014 19:04:54 BST)
What is the difference between a "chord" and a "functions". What exactly does "Chord" mean?
IsPitch a => [a]
.Alternative terms: