https://github.com/zmoon/melplot
Plot melodeon layout diagrams
https://github.com/zmoon/melplot
melodeon music
Last synced: about 1 year ago
JSON representation
Plot melodeon layout diagrams
- Host: GitHub
- URL: https://github.com/zmoon/melplot
- Owner: zmoon
- License: mit
- Created: 2022-04-10T16:30:44.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-03-03T20:51:42.000Z (about 1 year ago)
- Last Synced: 2025-04-06T23:17:24.885Z (about 1 year ago)
- Topics: melodeon, music
- Language: Python
- Homepage:
- Size: 54.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# melplot
_Plot melodeon[^dba] layout diagrams_
[](https://pypi.org/project/melplot/)
[](https://www.repostatus.org/#wip)

## Notes
### Inspiration
- standard 21-key D/G with acc. notes highlighted and piano-key octave numbers marked:
- standard 21-key D/G with notes on stave, from [Mel Forum](http://forum.melodeon.net):
- as above, with ABC notation labels added, from [Daddy Long Les](https://www.daddylongles.com/dg-melodeon-resources):
- Dipper blank 30-key Anglo concertina scheme, with push/pull "pills" and piano keyboard with octaves highlighted:
- 20-key Anglo concertina with fancy buttons and octaves notated, [from concertina.com](http://www.concertina.com/fingering/index.htm):
- Rick Mohr's layout, described [here](http://rickmohr.net/music/melodeon.asp), simple and clean, effective use of colors:
- standard 12-key G/C with notes on stave, fixed solfège, and octave numbers, from Mel Forum:
- 3-row D/G/acc with fixed solfège coloring treble buttons by octave, by Bob Ellis:
### TODO
_and ideas_
- [x] basic diagram using mpl
- [ ] different ways to indicate octaves (e.g. color; piano key notation or wrt. root)
- [ ] different options for pitch labels (ABC, piano key notation, scale degrees)
- [ ] plotting notes on stave
- [x] CLI
- [x] first PyPI release
- [ ] HTML/CSS output option
- [ ] fancier button style option (some 3-D-ness)
- [ ] draw connections in bellows direction for consecutive notes or chord
- [ ] docs build with layout library
### Input format
ASCII representation of the layout.
Ideas:
- notes in ABC notation, push/pull separated by `/` or `|`, push/pull pairs separated by whitespace
- for each row, specify horizontal offset in the layout (zero implicit; e.g. 0.5 for the second row in a typical 11/10 layout)
- maybe like `x0.5` instead of just `0.5`, to emphasize just space
- bass chords also in ABC notation, but maybe also support the common `+`/`-`?
### Layout sources
- [Mel Forum 2-row](http://forum.melodeon.net/index.php/page,keyboard_2_row.html)
- [Mel Forum 2.5-row](http://forum.melodeon.net/index.php/page,keyboard_25_row.html)
- [Mel Forum 3-row](http://forum.melodeon.net/index.php/page,keyboard_3_row.html)
- [bass layouts from Squeezehead](http://squeezehead.com/keyboard-layouts/basses/LAYOUTS.html)
- [various layouts and notes from Orest](http://www.geocities.ws/kozulich/layouts.html) [^pop]
[^dba]: [Diatonic button accordion](https://en.wikipedia.org/wiki/Diatonic_button_accordion) (DBA) / melodeon / "box" / accordéon diatonique / diato / etc. Also may later extend to plotting the layouts of other button accordion family instruments like concertinas.
[^pop]: Be careful opening this link on mobile browsers, I've gotten annoying / potentially dangerous pop-ups.