You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This program maps the LinnStrument, LaunchPad X, and your computer keyboard to use an isomorphic wholetone layout that I discovered years ago. I was surprised to find out this layout and its variants were not in common usage, despite being incredibly easy to play. I used to map this layout to my mechanical keyboard and just play it like that. Because of this, my friends and I referred to it as "playing the mech", but
7
+
Midimech is an alternative musical note layout system for next-gen grid controllers like the LinnStrument and LaunchPad X (and your computer keyboard). It uses an isomorphic layout that I discovered years ago. I was surprised to find out this layout and its variants were not in common usage, despite being incredibly easy to play. I used to map this layout to my mechanical keyboard and just play it like that. Because of this, my friends and I referred to it as "playing the mech", but
8
8
you could also call the layout Diagonal Wicki-Hayden, Wholetone, or whatever you like. I prefer mech. 😎
9
-
This project intends to bring the layout to more people and I consider it a good proposal for next-gen instruments.
9
+
10
+
**Unlike the layout of other instruments, notes that sound good together are closer together, and notes that sound worse are furthest apart.**
11
+
12
+
This project intends to bring the layout to more people and since it appears to have many advantages, I consider it a good proposal for next-gen musical instruments.
10
13
11
14
Midimech supports:
15
+
- Usage as a MIDI controller in your DAW of choice
12
16
- Bigger range than the default LinnStrument layout
13
17
- Synthesia/DAW visualization for learning songs
14
-
- Diagonal split, which fits great even on the 128
18
+
- Diagonal split, which fits great even on the LinnStrument 128
15
19
- Transposing and Octave shifting
16
20
- LaunchPad X support (more devices coming in the future)
17
21
- And it's great for playing piano runs ;)
@@ -34,19 +38,39 @@ Launchpad Support powered by: [Launchpad-Py](https://github.com/FMMT666/launchpa
- Notes that sound good together are closer together. Notes that sound worse are furthest apart. Mistakes will be less likely and less obvious!
44
+
- Like the LinnStrument's layout, it is also isomorphic (the same chord and scale shapes can be played anywhere)
45
+
- Chords and scales are far easier to play than other layouts.
46
+
- Extended range compared to standard +5 tuning, making room for using a split.
47
+
- Unlike piano, instrument splits can overlap.
48
+
- Less finger stretching than other layouts when playing chords, which may help ergonomically.
49
+
- Piano runs are quite smooth, as you're simply walking stacked shapes.
50
+
51
+
## Chord Shapes
52
+
53
+

54
+
37
55
## Important Notes
38
56
39
-
So far, this has been mostly tested on the LinnStrument 128 version. If you own the 200-note version, it's harder to set up, but please feel free to test it and let me know how this works for you.
57
+
So far, this has mostly been tested on the LinnStrument 128 version. If you own the 200-note version, please feel free to test it and let me know how this works for you.
40
58
41
-
This program is *experimental*, so some things will be buggy and tricky to get working. Let me know if you run into any issues and follow the directions carefully. If the wrong notes are playing, there's probably something wrong with the way you've set up the linnstrument during the instructions. If a device persists in a different state after ending the program (such as if a crash occurs), simply reconnect it. The LinnStrument also has a reset feature you may find useful.
59
+
This program is *in development*, so some things may be buggy. If a device persists in a different state after ending the program (such as if a crash occurs), simply reconnect it. The LinnStrument also has a reset feature you may find useful.
42
60
43
-
And since this is experimental, please use it at your own risk and prepare to do basic troubleshooting to get it working.
61
+
And since this is experimental, as with anything that sends commands to hardware, please use it at your own risk and prepare to do basic troubleshooting if something goes wrong.
44
62
45
-
## Setup
63
+
That being said, I hope you enjoy it and have fun!
46
64
47
-
- First create a midi loopback device. You can do this easily with LoopMidi on Windows or using "Audio MIDI Setup / MIDI Studio" on Mac. Then set your DAW to use this device instead of the linnstrument. Make sure the virtual device you set up has "midimech" in its device name, since this is how its detected by the program.
Alternatively, you can use the process below to run it from the repository.
48
72
49
-
- Set your LinnStrument to use ChPerRow mode. (Or alternatively, see the section *MPE*for getting the full MPE mode working).
73
+
### Running from Git (for Mac/Linux)
50
74
51
75
- Download the project by typing the following commands in terminal:
52
76
```
@@ -63,19 +87,28 @@ cd midimech
63
87
pip install -r requirements.txt
64
88
```
65
89
66
-
- Run midimech.py. You should see a window pop up with the layout.
90
+
- Run the program
91
+
```
92
+
python midimech.py
93
+
```
94
+
95
+
### Setup
96
+
97
+
- First create a midi loopback device. You can do this easily with LoopMidi on Windows or using "Audio MIDI Setup / MIDI Studio" on Mac. Then set your DAW to use this device instead of the linnstrument. Make sure the virtual device you set up has "midimech" in its device name, since this is how its detected by the program.
67
98
68
-
- If this works, your linnstrument will show the colors of the layout and be playable in your DAW.
99
+
- If you're using the LinnStrument 200, set `size=200` in your settings.ini. If you don't have one, copy it from settings.ini.example.
69
100
70
-
-If you're using the larger (200-note) version of the LinnStrument, click "SIZE" to use the full layout (experimental).
101
+
-Run midimech. You should see a window pop up with the layout.
71
102
72
-
- Set your virtual instruments' pitch bend range to double the LinnStrument's value.
103
+
- Your Linnstrument or LaunchPad X should show the colors of the layout and be playable in your DAW.
104
+
105
+
- To enable the split, create another midi loopback device called "split" and click the SPLIT button. One side should turn blue.
73
106
74
107
## How to Play
75
108
76
109
### Layout
77
110
78
-
Each row consists of a whole tone scale, separated by 4ths, which cause the rows to alternate. It sounds strange at first but because of the layout's relation to the circle of 5ths, it makes a number of things easier to play and remember than the default chromatic layout.
111
+
Each row consists of a whole tone scale and each row is separating by a fourth. This has a number of advantages you'll see below.
79
112
80
113
### Basic Scales
81
114
@@ -109,69 +142,6 @@ Melodic minor has a "2-5" pattern:
109
142
12
110
143
```
111
144
112
-
## Basic Chord Shapes
113
-
114
-
The symbol 'o' is used for a pressed note to show the shape:
115
-
116
-
```
117
-
Major:
118
-
o
119
-
o o
120
-
121
-
Minor:
122
-
o o
123
-
o
124
-
125
-
Dim:
126
-
o
127
-
o
128
-
o
129
-
130
-
Aug:
131
-
o o o
132
-
133
-
Sus2:
134
-
o
135
-
oo
136
-
137
-
Sus4:
138
-
oo
139
-
o
140
-
141
-
Maj7:
142
-
o o
143
-
o o
144
-
145
-
m7:
146
-
o
147
-
o o
148
-
o
149
-
150
-
7:
151
-
o
152
-
o
153
-
o o
154
-
```
155
-
156
-
## Circle of 5ths
157
-
158
-
### Key Signature
159
-
160
-
A benefit of this layout is the ability to identify and switch key signatures easily based on position. As you shift to the left, you add flats. To the right, you add sharps. You walk these in a zig-zag motion between both whole tone scales. Follow the shape of these numbers to see the pattern (from 1 to 7).
161
-
162
-
```
163
-
2468
164
-
1357
165
-
```
166
-
167
-
If note 1 is C (no sharps or flats in key signature), moving to 3 adds 2 sharps to the key signature. Simiarly if you're moving from 3 to 1, it adds two flats (or subtracts sharps).
168
-
169
-
### Brightness
170
-
171
-
Since the layout resembles the circle of 5ths, the further right you go from your tonic, the brighter than sound. The further left, the darker the sound. This is because the layout resembles a staggered circle of 5ths which corresponds with musical brightness.
172
-
173
-
If you take the 3-4 pattern described above and shift your tonic inside of it, the further the tonic is to the left, the brighter the mode, from lydian all the way to locrian (left to right). This happens with other scale shapes as well.
174
-
175
145
## More Scales
176
146
177
147
Once you become comfortable with this layout, you can introduce the harder scales into your playing:
@@ -258,47 +228,38 @@ Or:
258
228
123 5
259
229
```
260
230
261
-
## Visualizer
262
-
263
-
### DAW visualization
231
+
## Circle of 5ths (Advanced)
264
232
265
-
Using this program, you can visualize the midi playing in your DAW on both the screen and LinnStrument.
266
-
You do this by creating another device in LoopMidi called "visualizer" then use a Midi Out plugin
267
-
on the track you want to visualize and set the plugin to use the visualizer midi device.
268
-
269
-
### Synthesia
233
+
### Key Signature
270
234
271
-
To use the visualizer with Synthesia, create a new MIDI loopback device called "visualizer".
272
-
In Synthesia settings, set it as an output device for note lights.
235
+
A benefit of this layout is the ability to identify and switch key signatures easily based on position. As you shift to the left, you add flats. To the right, you add sharps. You walk these in a zig-zag motion between both whole tone scales. Follow the shape of these numbers to see the pattern (from 1 to 7).
273
236
274
-
## Full MPE
237
+
```
238
+
2468
239
+
1357
240
+
```
275
241
276
-
### 128 Key
242
+
If note 1 is C (no sharps or flats in key signature), moving to 3 adds 2 sharps to the key signature. Simiarly if you're moving from 3 to 1, it adds two flats (or subtracts sharps).
277
243
278
-
To use ChPerNote/MPE mode, set your LinnStrument 128 to "NO OVERLAP" with a transposition of -3 octaves and +6 pitch.
279
-
Then, set `no_overlap=true` in your settings.ini file (if you don't have one, copy it from settings.ini.example).
244
+
### Brightness
280
245
281
-
### 200 Key
246
+
Since the layout resembles the circle of 5ths, the further right you go from your tonic, the brighter than sound. The further left, the darker the sound. This is because the layout resembles a staggered circle of 5ths which corresponds with musical brightness.
282
247
283
-
Note: This workaround has not been tested on the 200 but it should work.
248
+
If you take the 3-4 pattern described above and shift your tonic inside of it, the further the tonic is to the left, the brighter the mode, from lydian all the way to locrian (left to right). This happens with other scale shapes as well.
284
249
285
-
To use ChPerNote/MPE mode, first enable SPLIT. Then, set your LinnStrument to "NO OVERLAP" with a transposition on both splits of -3 octaves and +6 pitch. Make sure ChPerNote mode is also set on both splits.
286
-
Then, set `no_overlap=true` and `hardware_split=true` in your settings.ini file (if you don't have one, copy it from settings.ini.example).
287
250
288
-
## Split
251
+
## Visualizer
289
252
290
-
Because of the diagonal nature of the layout, the split is diagonal as well (through G# in the center).
291
-
To use a split, create another midi loopback port called "split" and set `split=true` in your settings.ini.
292
-
At the moment this requires using full MPE mode to work (see section `Full MPE`).
293
-
The split creates a second virtual instrument you can access in your DAW called "split".
253
+
### DAW visualization
294
254
295
-
Note: If you use the 128, do not set the split on your linnstrument. The program will make its own split.
296
-
However, if you use the 200, you will need to enable to split in order to have all the notes come through.
297
-
(This is to work around a limitation with no overlap mode.)
255
+
Using this program, you can visualize the midi playing in your DAW on both the screen and LinnStrument.
256
+
You do this by creating another device in LoopMidi called "visualizer" then use a Midi Out plugin
257
+
on the track you want to visualize and set the plugin to use the visualizer midi device.
298
258
299
-
##Pitch Bend
259
+
### Synthesia
300
260
301
-
To get pitch bending working properly, you'll need to set your virtual instruments' pitch bend range to exactly double the amount of the LinnStrument's range.
261
+
To use the visualizer with Synthesia, create a new MIDI loopback device called "visualizer".
262
+
In Synthesia settings, set it as an output device for note lights.
302
263
303
264
## Future Plans
304
265
@@ -311,3 +272,5 @@ To get pitch bending working properly, you'll need to set your virtual instrumen
311
272
## Contact / Questions
312
273
313
274
I'm on the LinnStrument Discord at https://discord.gg/h2BcrzmTXe. Come hang out!
0 commit comments