Macro Keypad - Thoughts

• Dec 15, 2023 - 09:41

I made this macro keypad to transcribe violin music faster. Is this something that people would be interested in buying? What keys do you think would be most useful? I could make instrument specific versions, or do complete custom one-offs. I'd love to hear your thoughts.

Musescore Macro Keypad.jpg


I also made one with black keys. Looks good if you like black on black legends. A little hard to see, though. If I can ever afford a UV laser, I'll be able to do proper white on black legends.

Musescore Macro Keypad - Black Caps.jpg

It's really neat!

I would sacrifice 2 keys and add ctrl and shift to give a lot more functionality. Shift could add dotted versions of the notes; ctrl could add rests; ctrl shift could add dotted rests. This leaves you many other possible extensions for the remaining keys.

Would people buy it? I guess it depends on price and configurabilty, e.g. would it still work if users have customised their shortcuts?

In reply to by yonah_ag

I like the idea of adding layers with dotted notes and rests. That would be easy enough to implement. I currently have a dedicated button in the second row from the top on the right hand side for adding a dot to the current note, but nothing for handling rests. I programmed my keypad using the Arduino IDE, but the keys could also be configured with something easier to use, like QMK or VIA. You can add as many layers as you want using those configurators.

Price wise, my target right now is under $50 Canadian, so under $40 USD. I think it would be less, but I haven't completely priced out everything. I'll do parts sourcing and cost estimation this weekend. I want to make something that is quality at a price that is accessible.

Looks great!

For jazz/big band transcriptions, the 64th and 32th notes are used very seldom and could be skipped. Also the bowing marks are not used. Instead the most common articulations could be added, accent, marcato, staccato, or tenuto.

I guess the 1, 2, 3, 4 keys are for voices? Like in the panel, most of the time 1 and 2 are enough and when you need 3 and 4 you will have to do it by clicking in the window.

In reply to by AndreasKågedal

Honestly, I don't really use those shorter notes either. I just included them for completeness. What do you think about using two keyes for adding beginning and end repeats? I think most people would use them, but I don't know if they are more necessary than something that would be used more often.

I've got the numbers on there for adding fingering instructions above notes that need them. Articulations would certainly make more sense than bowing and fingering reminders for a general set of keys.

In reply to by hamsandwichnow

Do you have any suggestions for keys/shortcuts that you would like on a macro keyboard for Musescore? I could make instrument specific versions in the future, but my intention for the time being is to see if there is a "one size fits all" configuration. Something that most people would find useful. I don't know if this kind of thing is something that people would buy, really. But I find it really speeds things up when I transcribe music in Musescore, so I figure others might find it useful as well.

In reply to by ReallyBigTeeth

Okay, so this is really big, and not great handwriting, but this is what I feel would be ideal for writing into musescore. Of course, all formatting/fingerings would be done with your keyboard and mouse.
Red = default
Blue = shift
Wouldn’t be on the actual, of course.
Blue lights for selected?
Open Scanned Document.png
It’s really big, but it would be useful.
Command ideas:
Cmd shift up/down: go to higher/lower staff
Shift left/right: go back/advance one note
Cmd shift left/right: go back/advance one measure
Cmd half (shift) flat/sharp: 1 1/2 flat/sharp
Cmd sharp/flat: double sharp/flat
Cmd down/up natural: natural sharp/flat
Cmd 1/2/3/shift 3 (4): tuplet 5/2/3/4
Shift/shift cmd dot: double/triple dot
I assume cmd note input would be real time input if they ever add that.
Shift note value goes to a smaller/bigger rare note value:
Shift 32nd note: 1024th note
Shift 16th note: 512th note
Shift 8th note: 256th note
Shift quarter note: 128th note
Shift Half note: longa
Non-note commands:
Shift whole note: rest
Shift double whole note: toggle through beaming settings
Cmd transpose button: tap tempo marking
Cmd transpose up/down: change tempo marking incrementally
Some sort of system in the plug-in we would probably need to identify trills/mordents/turns (of course with something like how apple autocorrect works; it automatically becomes an articulation, but you can select it and choose to write it out) with real time input, maybe. I don’t know if a plug-in is necessary. But in this case you would need it.

Let me know if you think of any more.

I honestly don’t know why I put quarter tone accidentals in there.
Sorry if this is a lot.

Scale I had in mind when drawing: 1/2 foot by 1 1/4 foot

In reply to by hamsandwichnow

I really like that midi keyboard design. I have some ideas for how that could be done, but for now I wan't to keep things simple (and not too expensive). Is that something you've been thinking about for a while? It might be cool to make the pieces modular so that it can be configured for left or right handedness.

I'm just working on a simple 4x5 or maybe 5x5 keypad. Something to be used in conjunction with a keyboard, mouse, and a compact midi keyboard to most effeciently work in MuseScore.

You and yonah_ag both suggested adding layers to this keypad, which I think makes sense. Put the most commonly used, basic stuff on the top layer, with less commonly used stuff on successive layers. I've made myself some notes and will work on a better layout that includes layers some time soon. Maybe after work tonight, if I've got some energy left.

In reply to by ReallyBigTeeth

Check out the Alesis website. They have in each of their product series a list of the included, which vary from cheap models for amateurs to 200-300 dollar pro keyboards. Basically you could start simple with something like what you have now and in theory if this became a real, buyable thing and was successful, you could move up to the next level: command, shift, and transpose added. Then full 20-key keyboard, with the notes moved from the model I drew to the panel you have. Then the most advanced version would have the full thing.

Concerning dominant hands, perhaps the keyboard could be disassembled to move things to different sides. Currently, however that would be a problem for the on/shift/control buttons.

In reply to by yonah_ag

It sounds like they're asking for something similar to what Hamsandwichnow was talking about, just with fewer note keys. It wouldn't be to expensive to make a simple USB midi keyboard and then have a macro keyboard as something separate. I have to do some thinking about that.

In reply to by graffesmusic

I used to do something similar with the first macro keyboard that I built. I programmed it to use a serial connection to my computer, then wrote python scripts to send keyboard commands based on the serial bits received from the macro keyboard. Each python script was written a specific work flow (one script for working in MuseScore, one for 3D cad design, one for markup note taking, etc.). It was similar to using Autohotkey, but wouldn't interfere with HID commands. Now, I prefer to have dedicated macro keyboards for each workflow. That way I can laser mark each keycap with an icon or text for it's specific function, so I don't have to remember what each button does. Looking back, it may have made more sense to shell out the money for a Stream Deck. I guess I just enjoy making things too much.

So this is what I propose for the first layer:

Potential MuseScore Layout.png

16th note
8th note
quarter note
toggle note input mode

half note
whole note
toggle dotted note

toggle rest


voice 1
voice 2
voice 3
voice 4

I'm not sure ifmarcato would be used more often than accent or tenuto, but I'd bet staccato is used more than the other three. Maybe instead of voices, all four articulations could be on the bottom row, and voice 1 and voice 2 could be on the second last row. Or, maybe the voice keys should be replaced with navigation keys. I personally would rarely use the voice keys as I only transcribe music for violin. What do you guys think?

In reply to by ReallyBigTeeth

I only write TAB for guitar and I use:

• 0-9 for fret numbers (standard numeric pad covers these)
• Note durations
• Dotted note toggle
• Rest
• Triplets
• Voices 1 and 2 (3 and 4 could be on another layer)
• Tie and slur
• Fermata
• Accent
• Arpeggio

But 4 arrow keys would be nice as I use this for:
• Normal arrow - navigating the TAB stave
• Ctrl up/down - move note to string above/below
• Alt up/down - pitch note 1 fret up/down

I also use the keyboard shortcuts O and P to halve or double a note's duration.

In reply to by ReallyBigTeeth

Does it work by sending standard shortcuts? (Have these changed in MS4?)
Can it cope with user customised shortcuts?
With so many different instruments across the user base I think the idea of custom versions would make most sense. For example, with guitar TAB there is no use for sharp, flat and natural since fret number takes care of this. I don't even know what the symbol in row 4, column 1 means!

In reply to by yonah_ag

The boards that I've built up until now have used a PJRC Teensy LC microcontroller and are programmed in C++ using the Arduino IDE. I'm not yet sure what chip I'll use for production boards, but I'd like it to be compatible with configurator tools like QMK, KMK, or Kiibohd. That way, people can program the boards with their own macros using a tool of their choice. So if you've customised the keyboard shortcuts in MuseScore, you'll be able to program the macro keyboard to send those commands.

The output of each key is USB HID, just like a regular keyboard, the only difference is that a single key can be programmed to send a string of keyboard commands. The same kind of thing can be done in software with a regular keyboard using something like Autohotkey, but I've always preferred to have dedicated macro keyboards with icons on the keys that show what it is that they do.

What I'm thinking is I'll ship each macro keyboard with a basic configuration and laser marked keycaps, and include a blank set, in case people want to program their own macros. There are also keycaps that have a clear removable top. You can print out sheets of paper with icons on them, cut them out and put them under the clear portion of the keycap. X-Keys makes macro keyboards that include those, but they're quite pricy.

I should probably give a progress update. I've looked at quite a few microcontroller chips. I'd love to use the ATmega32U4, but I'm worried about the program memory size. I think I'm going to buy a few of them, and some STM32F072CBT6 chips and build some prototypes using them. I’ve only used PJRC Teensy LC and 3.2 development boards for my personal macro keyboards, but I’d like to save some space, and maybe lower the cost by building the circuit boards myself. Those boards also use USB micro connectors. I’d like to use USB-C 2.0 connectors for this macro board.

This past weekend, I did a first test using my fiber laser to engrave a circuit directly into a dual sided copper clad board. The process looks promising. I can get quite narrow traces, but I've had a problem with delamination in some places. I'll play with the laser settings to see if I can get better results. Of course, that's just for prototyping. I'll let one of the big PCB manufacturers handle making the production boards.

One thing I'm struggling with is material choice for the keyboard housing. I've only made boards for myself and a few co-workers where 3D printed housings have been more than adequate, but I wonder if that would be acceptable for something I'm going to sell. I've considered home injection molding machines around the $3000 mark, but I don't think they can handle the volume of plastic that would be needed for a keyboard housing. They’re more suited to smaller things like key caps. Would 3D printed housings be acceptable, or should I dive into learning about the world of injection molding? Does anyone here have any experience with that kind of thing?

Do you still have an unanswered question? Please log in first to post your question.