messing around learning tidal
1-- https://tidalcycles.org/docs/configuration/MIDIOSC/midi
2-- https://docs.supercollider.online/Classes/MIDIOut.html#*newByName
3
4d1 $ n "0 2 4 7" # s "midi"
5d1 $ midinote "48 50 64 42" # s "midi"
6d1 $ midinote "48 50 48 42" # s "midi"
7d2 $ midinote "64 67*3" # s "midi"
8d2 $ n "<c a f e>" # s "midi"
9
10-- For when you want to open sclang manually:
11-- :lua vim.g.tidal_sc_enable = 0
12
13-- https://computermusicresource.com/midikeys.html
14-- Octave | C | C#/Db | D | D#/Eb | E | F | F#/Gb | G | G#/Ab | A | A#/Bb | B
15-- -------+-----+-------+-----+-------+-----+-----+-------+-----+-------+-----+--------+-----
16-- -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
17-- -1 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23
18-- 0 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35
19-- 1 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47
20-- 2 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59
21-- 3 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71
22-- 4 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83
23-- 5 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95
24-- 6 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 104 | 106 | 107
25-- 7 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119
26-- 8 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | - | - | - | -
27-- The PSS-480 runs from C1 to C5 on this chart. (C3 to C7, musically.)
28
29-- These mappings taken from the PSS-480 owner's manual.
30mididrum pat =
31 midinote (inhabit
32 [ ("sn", "38") -- SNARE
33 , ("bd", "44") -- BASS DRUM
34 , ("bd2", "45") -- BASS DRUM
35 , ("rs", "46") -- RIM SHOT
36 , ("tl", "47") -- TOM LOW
37 , ("tl2", "48") -- TOM LOW
38 , ("sn2", "49") -- SNARE
39 , ("tl3", "50") -- TOM LOW
40 , ("rs2", "51") -- RIM SHOT
41 , ("sn3", "52") -- SNARE
42 , ("th", "53") -- TOM HI
43 , ("hc", "57") -- HI-HAT CLOSED
44 , ("ho", "59") -- HI-HAT OPEN
45 , ("cc", "60") -- CRASH CYMBAL
46 , ("cc2", "61") -- CRASH CYMBAL
47 , ("rc", "62") -- RIDE CYMBAL
48 , ("rc2", "63") ] -- RIDE CYMBAL
49 pat) # midichan 15
50mn = midinote
51md = mididrum
52
53do
54 d1 $ n "[c3 d3 e3]!4" # s "midi"
55 d2 $ n "<[a4, c5, e5] [gs4, c5, e5] [g4, c5, e5] [fs4, c5, e5]>" # s "midi"
56 d4 $ md "bd bd [bd [sn rs]]" # s "midi"
57
58-- MIDI input
59
60d1 $ sound "bd" # speed (cF 1 "36")
61
62d1 $ sound "amencutup" + n (run (segment 1 $ range 1 16 $ cN 0 "36" ))
63
64d1 $ n (cP "") $ sound "bd"