Skip to content

Commit e9e4ef8

Browse files
committed
Updated README
1 parent 1099b61 commit e9e4ef8

File tree

1 file changed

+49
-100
lines changed

1 file changed

+49
-100
lines changed

README.md

Lines changed: 49 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
# midimech
23

34
![midimech](https://i.imgur.com/iNKaTi3.png)
@@ -44,15 +45,12 @@ LinnStrument Community Discord: https://discord.gg/h2BcrzmTXe
4445
- Like the LinnStrument's layout, it is also isomorphic (the same chord and scale shapes can be played anywhere)
4546
- The most common chords and scales are far easier to play and remember than other layouts.
4647
- Extended range compared to standard +5 tuning, making room for using a split.
47-
- Unlike piano, instrument splits can overlap.
4848
- Less finger stretching than other layouts when playing chords, which may help ergonomically.
4949
- Arpeggios are quite smooth, as you're simply walking stacked shapes.
5050

5151
## Cheat Sheet
5252

53-
![Cheat Sheet](https://i.imgur.com/FJgBnh5.png)
54-
55-
[PDF Version](https://github.com/flipcoder/midimech-resources/blob/main/midimech-cheatsheet.pdf)
53+
[View Full PDF](https://github.com/flipcoder/mech-theory/blob/main/midimech-cheatsheet.pdf)
5654

5755
## Important Notes
5856

@@ -72,9 +70,9 @@ That being said, I hope you enjoy it and have fun!
7270

7371
- [Download (Win)](https://github.com/flipcoder/midimech/releases)
7472

75-
Note: These builds are not always up to date, but they're easier to get working.
73+
After downloading, make sure to follow the instructions under `Setup`.
7674

77-
Alternatively, you can use the process below to run it from the repository.
75+
*Note: These builds are not always up to date.*
7876

7977
### Mac, Linux, and Running from Git
8078

@@ -116,145 +114,95 @@ python3 midimech.py
116114

117115
### Layout
118116

119-
Each row consists of a whole tone scale and each row is separated by fourths. This has a number of advantages you'll see below.
117+
Each row consists of a whole tone scale and each row is separated by fourths. The above cheat sheet document contains many common shapes used for chords and scales.
120118

121-
### Basic Scales
119+
### Scales
120+
121+
By default, the C major scale is colored. You can highlight different notes by cycling the scale (SCL) and mode (MOD) buttons. Notice how only the colors change, and not the note positions.
122122

123-
The major/minor scales are shaped with the "3-4" pattern. 3 notes on first row, then 4 notes on next row, then repeat moving over 1 space, making runs fit across the fingers easily.
124-
Here's what it looks like:
123+
You can change the starting note of the scale by using the transpose (TR) buttons, as well as positioning the board using the move (MOV) buttons.
125124

126-
```
127-
4567
128-
123
129-
```
125+
### Chords
130126

131-
All the modes for this, (such as lydian, dorian, etc.) are accessible by picking a different starting note.
127+
Refer to the cheat sheet for a listing of many common chord shapes.
132128

133-
For example, if you start the scale on 6, it becomes a minor scale.
134-
135-
### Pentatonic Scales
136-
137-
Similarly, the pentatonic scale modes fit the "2-3" pattern:
129+
To play a chord, simply position the dotted black square of the chord on the note you want to play, and make the shape with your fingers. For example a C major chord is made by playing the notes:
138130

139131
```
140-
345
141-
12
132+
G
133+
C E
142134
```
143135

144-
### Melodic Minor Scale
136+
## Velocity Curve
145137

146-
Melodic minor has a "2-5" pattern:
138+
You can modify the velocity curve using a decimal value. Lower values are more sensitive. The default is 1.0.
147139

148140
```
149-
34567
150-
12
141+
velocity_curve=0.5
151142
```
152143

153-
## More Scales
154-
155-
Once you become comfortable with this layout, you can introduce the harder scales into your playing:
156-
157-
### Blues Scale
158-
159-
Here's a fun one. Depending on the virtual instrument used, I prefer to visualize the blues scale as a 2-3 pattern and bending into the "blue note".
160-
161-
The shape in that case is this:
144+
You can also clamp the midi velocity value to a min (default: 0) and max (default: 127).
162145

163146
```
164-
345
165-
12
147+
min_velocity=0
148+
max_velocity=127
166149
```
167150

168-
The '2' in this shape is the tonic of the blues scale and the blue note is accessed by bending between 4 and 5. When playing the scale, start on the note position labeled '2' above. Note that the numbers here are just the numbers inside the shape in order, so they do not correspond with actual intervals.
169-
170-
To hold the blue note, simply wiggle your finger between 4 and 5 in the shape above or bend up from 4. That usually sounds cool.
171-
172-
If you're playing an instrument without bend, the blues scale looks like this:
173-
174-
```
175-
4 6
176-
235
177-
1
178-
```
151+
## Launchpad
179152

180-
Or:
153+
Supported launchpads are automatically detected on program start. Support for these will improve over time.
181154

155+
If you're on the LinnStrument and don't want your launchpad used, simply set it to false:
182156
```
183-
6
184-
235
185-
1 4
157+
launchpad=false
186158
```
187159

188-
### Harmonic Major Scale
160+
### Vibrato
189161

190-
This is the same 3-4 pattern, but the 6th note is flat:
162+
Midimech adds a cool feature to the Launchpad where it can detect wiggling a note to create a vibrato effect. This is enabled by default and mapped to CC0. If your synth supports CC0 vibrato, you should hear the vibrato activate by rocking your finger back and forth from left to right while pressing the note down.
191163

164+
You can disable it in settings.ini using:
192165
```
193-
6
194-
45 7
195-
123
166+
vibrato=off
196167
```
197168

198-
Or:
169+
There is also experimental support for pitch wheel vibrato using:
199170

200171
```
201-
45 7
202-
123 6
172+
vibrato=pitch
203173
```
204174

205-
### Harmonic Minor Scale
175+
## Color Schemes
206176

207-
This one is a little tricky at first:
177+
### LinnStrument Colors
208178

209-
```
210-
6
211-
345 7
212-
12
213-
```
214-
215-
Or:
179+
LinnStrument colors can be changed in the settings using `lights` and `split_lights` for each split respectively.
216180

217181
```
218-
7
219-
6
220-
345
221-
12
182+
lights=1,9,9,2,2,3,3,5,8,8,11,11
183+
split_lights=4,7,5,7,5,5,7,5,7,5,7,5
222184
```
185+
The color numbers here are the values used by the LinnStrument.
223186

224-
You might prefer to think about this as a mode of Ionian Augmented intead, which is the 3-4 shape but with a sharp 5:
187+
### LaunchPad & App Colors
225188

226-
```
227-
5
228-
4 67
229-
123
230-
```
231-
232-
Or:
189+
You can change the colors of the launchpad and in the app by setting `colors` and `split_colors` similarly as above. This supports both hex values (starting with #) and common web color names.
233190

234191
```
235-
4 67
236-
123 5
192+
colors=red,darkred,orange,goldenrod,yellow,green,darkolivegreen,blue,darkslateblue,indigo,darkorchid,pink
237193
```
238194

239-
## Circle of 5ths (Advanced)
240-
241-
### Key Signature
242-
243-
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).
244-
245-
```
246-
2468
247-
1357
248-
```
195+
## Lite Mode (low GFX)
249196

250-
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).
197+
To activate lite mode, run midimech with `--lite` on the command line or set `lite=true` in your settings.
251198

252-
### Brightness
199+
This disables extra graphics and chord analysis in the app to reduce latency on low end systems.
253200

254-
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.
201+
## One Channel Mode
255202

256-
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.
203+
MPE mode can be toggled in the app using the `MPE` button.
257204

205+
To send to a specific midi channel, set `one_channel` to the specific channel number. The default is 0, which indicates using MPE. Clicking `MPE` in the app toggles this between 0 (MPE) and 1 (first channel), otherwise the value in settings is used.
258206

259207
## Visualizer
260208

@@ -280,13 +228,14 @@ In Synthesia settings, set it as an output device for note lights.
280228

281229
This program is built using the following projects and libraries:
282230

283-
- [Pygame](https://github.com/pygame/pygame)
231+
- [Pygame](https://github.com/pygame/pygame) and [Pygame-CE](https://github.com/pygame-community/pygame-ce)
284232
- [Pygame_GUI](https://github.com/MyreMylar/pygame_gui)
285233
- [RtMidi2](https://github.com/gesellkammer/rtmidi2)
286-
- [PyMsgbox](https://github.com/asweigart/pymsgbox)
287234
- [PyGLM](https://github.com/Zuzu-Typ/PyGLM)
288235
- [Launchpad-Py](https://github.com/FMMT666/launchpad.py) by FMMT666 ([CC Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/))
289-
- [musicpy](https://github.com/Rainbow-Dreamer/musicpy)
236+
- [musicpy](https://github.com/Rainbow-Dreamer/musicpy) for Chord Analysis
237+
- [webcolors](https://pypi.org/project/webcolors/)
238+
- [pyyaml](https://pypi.org/project/PyYAML/)
290239

291240
Thank you!
292241

0 commit comments

Comments
 (0)