Emmanuel Oga
10/01/2020, 6:03 PM(play `((5 _ 5) (3 _ 5) (_ _ 0) (3 _ 0)) `(#base 55))
as opposed to just:
(play `((60 _ 60) (58 _ 60) (_ _ 55) (58 _ 55)))
A lot of the ordeal of learning how music works is about dealing (often through sheer memorization and "force of will" ๐ ) the explosion of combinations having to deal with asymmetry when it comes to perform certain patterns of note on actual instruments (Major scale, Minor scale, etc). In this regard I find isomorphic instruments very interesting as a solution to this complexity.
I also feel like a notation like Dodeka is a step in the right direction.Garth Goldwater
10/01/2020, 9:52 PMJack Rusher
10/02/2020, 10:09 AM(def the-notes
(cycle [:c :db :d :eb :e :f :gb :g :ab :a :bb :b]))
(def key-offset
(zipmap (take 12 the-notes) (range)))
(defn triads [the-key]
(let [offset (key-offset the-key)
scale (cycle [0 2 4 5 7 9 11])]
(map
(fn [note]
(mapv #(nth the-notes (+ offset (nth scale (+ note %)))) [0 2 4]))
(range 7))))
(defn negative-harmony [the-key]
(let [offset (key-offset the-key)]
(reduce
(fn [m [a b]] (assoc m a b b a)) ; bi-directional
{}
(map vector
(take 6 (drop (+ offset 10) the-notes))
(reverse (take 6 (drop (+ offset 16) the-notes)))))))
Emmanuel Oga
10/02/2020, 9:39 PMEmmanuel Oga
10/02/2020, 9:42 PMJack Rusher
10/04/2020, 8:20 AMwtaysom
10/05/2020, 9:13 AMCharlie Roberts
10/05/2020, 7:30 PMArthur
10/16/2020, 6:05 AMinterstar
08/12/2021, 6:06 PM