Sounds great,
Considering scales, I think the important thing is have an indexing function analogous to list indexing, i.e. something like:
(!) :: Scale -> Integer -> Pitch
That would allow you to define a melody as a sequence of steps and map them into a mode. Obviously you could do these things on both lists and sets, as long as the pitch type is ordered.
As you can see my tuning code is just stubs, so you are free to design something from the ground up.
My only concern is that it is parametric over the input type (i.e. you can use it with both Music.Pitch.Common.Pitch and other types whenever it makes sense, for example if we add pentatonic scales). You probably want to use the types in Music.Pitch.Absolute to represent absolute frequencies.
Let me know what you come up with.
Cheers,
Hans
-
Hans Höglund
Composer, conductor and developer
On 15 aug 2014, at 19:40, Edward Lilley wrote:
Hi
Excellent, thanks. I'm definitely still thinking about ways to tidy it
up / make the implementation more elegant.
Along with that, I'm planning some work on scale types [not sure if they
should be lists or sets]and also the beginnings of the tuning
infrastructure.
thanks,
Edward
Hans Höglund <
ha...@hanshoglund.se> writes:
Hi Edward,
I just merged your changes to music-pitch. If you want to stay in sync with the official repo just do
git remote add official g...@github.com:music-suite/music-pitch.git
git fetch official
git merge remotes/official/master
I had to make some changes to make it compile, see the commit messages. Still a bit of clean-up needed.
Regards,
Hans
-
Hans Höglund
Composer, conductor and developer
hans [at] hanshoglund.se
hanshoglund.com
https://twitter.com/hanshogl
https://soundcloud.com/hanshoglund
http://github.com/hanshoglund