diff options
| author | Jake Zerrer <him@jakezerrer.com> | 2025-11-26 15:10:20 -0500 |
|---|---|---|
| committer | Jake Zerrer <him@jakezerrer.com> | 2025-12-02 13:27:22 -0500 |
| commit | 2d421d7354d2be61c4a474896e163d48b4640d63 (patch) | |
| tree | d0669b7a52503cbf710c5f7a71fbd7d757e1383c | |
| parent | 6f58e667587937948055194018e44338b2c38323 (diff) | |
Add unheard.midi.notes namespace
| -rw-r--r-- | src/unheard/midi/notes.clj | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/src/unheard/midi/notes.clj b/src/unheard/midi/notes.clj new file mode 100644 index 0000000..0c47805 --- /dev/null +++ b/src/unheard/midi/notes.clj @@ -0,0 +1,160 @@ +(ns unheard.midi.notes + "MIDI note number definitions for all notes from C-1 to G9. + + Each note is defined as (m/ap {0 }<midi-number>) for use with missionary. + + Note naming convention: + - Middle C (MIDI 60) is c4 + - Sharps use 's' suffix (e.g., cs4 for C#4) + - Range: C-1 (MIDI 0) to G9 (MIDI 127)" + (:require [missionary.core :as m])) + +;; Octave -1 +(def c-1 (m/ap {0 {0 :on}})) +(def cs-1 (m/ap {0 {1 :on}})) +(def d-1 (m/ap {0 {2 :on}})) +(def ds-1 (m/ap {0 {3 :on}})) +(def e-1 (m/ap {0 {4 :on}})) +(def f-1 (m/ap {0 {5 :on}})) +(def fs-1 (m/ap {0 {6 :on}})) +(def g-1 (m/ap {0 {7 :on}})) +(def gs-1 (m/ap {0 {8 :on}})) +(def a-1 (m/ap {0 {9 :on}})) +(def as-1 (m/ap {0 {10 :on}})) +(def b-1 (m/ap {0 {11 :on}})) + +;; Octave 0 +(def c0 (m/ap {0 {12 :on}})) +(def cs0 (m/ap {0 {13 :on}})) +(def d0 (m/ap {0 {14 :on}})) +(def ds0 (m/ap {0 {15 :on}})) +(def e0 (m/ap {0 {16 :on}})) +(def f0 (m/ap {0 {17 :on}})) +(def fs0 (m/ap {0 {18 :on}})) +(def g0 (m/ap {0 {19 :on}})) +(def gs0 (m/ap {0 {20 :on}})) +(def a0 (m/ap {0 {21 :on}})) +(def as0 (m/ap {0 {22 :on}})) +(def b0 (m/ap {0 {23 :on}})) + +;; Octave 1 +(def c1 (m/ap {0 {24 :on}})) +(def cs1 (m/ap {0 {25 :on}})) +(def d1 (m/ap {0 {26 :on}})) +(def ds1 (m/ap {0 {27 :on}})) +(def e1 (m/ap {0 {28 :on}})) +(def f1 (m/ap {0 {29 :on}})) +(def fs1 (m/ap {0 {30 :on}})) +(def g1 (m/ap {0 {31 :on}})) +(def gs1 (m/ap {0 {32 :on}})) +(def a1 (m/ap {0 {33 :on}})) +(def as1 (m/ap {0 {34 :on}})) +(def b1 (m/ap {0 {35 :on}})) + +;; Octave 2 +(def c2 (m/ap {0 {36 :on}})) +(def cs2 (m/ap {0 {37 :on}})) +(def d2 (m/ap {0 {38 :on}})) +(def ds2 (m/ap {0 {39 :on}})) +(def e2 (m/ap {0 {40 :on}})) +(def f2 (m/ap {0 {41 :on}})) +(def fs2 (m/ap {0 {42 :on}})) +(def g2 (m/ap {0 {43 :on}})) +(def gs2 (m/ap {0 {44 :on}})) +(def a2 (m/ap {0 {45 :on}})) +(def as2 (m/ap {0 {46 :on}})) +(def b2 (m/ap {0 {47 :on}})) + +;; Octave 3 +(def c3 (m/ap {0 {48 :on}})) +(def cs3 (m/ap {0 {49 :on}})) +(def d3 (m/ap {0 {50 :on}})) +(def ds3 (m/ap {0 {51 :on}})) +(def e3 (m/ap {0 {52 :on}})) +(def f3 (m/ap {0 {53 :on}})) +(def fs3 (m/ap {0 {54 :on}})) +(def g3 (m/ap {0 {55 :on}})) +(def gs3 (m/ap {0 {56 :on}})) +(def a3 (m/ap {0 {57 :on}})) +(def as3 (m/ap {0 {58 :on}})) +(def b3 (m/ap {0 {59 :on}})) + +;; Octave 4 (Middle C octave) +(def c4 (m/ap {0 {60 :on}})) +(def cs4 (m/ap {0 {61 :on}})) +(def d4 (m/ap {0 {62 :on}})) +(def ds4 (m/ap {0 {63 :on}})) +(def e4 (m/ap {0 {64 :on}})) +(def f4 (m/ap {0 {65 :on}})) +(def fs4 (m/ap {0 {66 :on}})) +(def g4 (m/ap {0 {67 :on}})) +(def gs4 (m/ap {0 {68 :on}})) +(def a4 (m/ap {0 {69 :on}})) +(def as4 (m/ap {0 {70 :on}})) +(def b4 (m/ap {0 {71 :on}})) + +;; Octave 5 +(def c5 (m/ap {0 {72 :on}})) +(def cs5 (m/ap {0 {73 :on}})) +(def d5 (m/ap {0 {74 :on}})) +(def ds5 (m/ap {0 {75 :on}})) +(def e5 (m/ap {0 {76 :on}})) +(def f5 (m/ap {0 {77 :on}})) +(def fs5 (m/ap {0 {78 :on}})) +(def g5 (m/ap {0 {79 :on}})) +(def gs5 (m/ap {0 {80 :on}})) +(def a5 (m/ap {0 {81 :on}})) +(def as5 (m/ap {0 {82 :on}})) +(def b5 (m/ap {0 {83 :on}})) + +;; Octave 6 +(def c6 (m/ap {0 {84 :on}})) +(def cs6 (m/ap {0 {85 :on}})) +(def d6 (m/ap {0 {86 :on}})) +(def ds6 (m/ap {0 {87 :on}})) +(def e6 (m/ap {0 {88 :on}})) +(def f6 (m/ap {0 {89 :on}})) +(def fs6 (m/ap {0 {90 :on}})) +(def g6 (m/ap {0 {91 :on}})) +(def gs6 (m/ap {0 {92 :on}})) +(def a6 (m/ap {0 {93 :on}})) +(def as6 (m/ap {0 {94 :on}})) +(def b6 (m/ap {0 {95 :on}})) + +;; Octave 7 +(def c7 (m/ap {0 {96 :on}})) +(def cs7 (m/ap {0 {97 :on}})) +(def d7 (m/ap {0 {98 :on}})) +(def ds7 (m/ap {0 {99 :on}})) +(def e7 (m/ap {0 {100 :on}})) +(def f7 (m/ap {0 {101 :on}})) +(def fs7 (m/ap {0 {102 :on}})) +(def g7 (m/ap {0 {103 :on}})) +(def gs7 (m/ap {0 {104 :on}})) +(def a7 (m/ap {0 {105 :on}})) +(def as7 (m/ap {0 {106 :on}})) +(def b7 (m/ap {0 {107 :on}})) + +;; Octave 8 +(def c8 (m/ap {0 {108 :on}})) +(def cs8 (m/ap {0 {109 :on}})) +(def d8 (m/ap {0 {110 :on}})) +(def ds8 (m/ap {0 {111 :on}})) +(def e8 (m/ap {0 {112 :on}})) +(def f8 (m/ap {0 {113 :on}})) +(def fs8 (m/ap {0 {114 :on}})) +(def g8 (m/ap {0 {115 :on}})) +(def gs8 (m/ap {0 {116 :on}})) +(def a8 (m/ap {0 {117 :on}})) +(def as8 (m/ap {0 {118 :on}})) +(def b8 (m/ap {0 {119 :on}})) + +;; Octave 9 +(def c9 (m/ap {0 {120 :on}})) +(def cs9 (m/ap {0 {121 :on}})) +(def d9 (m/ap {0 {122 :on}})) +(def ds9 (m/ap {0 {123 :on}})) +(def e9 (m/ap {0 {124 :on}})) +(def f9 (m/ap {0 {125 :on}})) +(def fs9 (m/ap {0 {126 :on}})) +(def g9 (m/ap {0 {127 :on}})) |
