MidiGAL -- yet another MIDIpal inspired project

MidiGAL is a simple Atmega328p based MIDI controller board featuring 8×2 LCD, MIDI IN/OUT connectors with LEDs, one encoder and one switch. It can run a bunch of different firmware variants (updatable via Sysex), including original unmodified MIDIpal firmware.

One cool firmware available for MidiGAL is MidiClk — high precision Midi Clock Tester/Generator that is capable of straightening up your DAW or iOS MIDI Clock. See more details here .

1 Like

i would know if this used as master midi clock,
could send also clock for modular in paralel with the midi one?
would use it as a clock generator/distributor for my setup.

Cute !

my first impulse was: great idea to replace that clickable encoder with a regular encoder plus tact switch! one of the few things i don’t like about my midipals is how i keep accidentally clicking the encoder. but then i saw that the midigal bom also requires a clickable encoder. so now i’m confused: doesn’t the tact switch replace the encoder switch? what is it for, then?

Original MIDIpal firmware has no idea the switch exists, so it cannot do anything with it. One can easily modify MIDIpal firmware so that switch acts the same way as encoder click though.

MidiClk firmware uses switch to clear starts in MIDI Clock Tester mode and to start/stop clock when in clock generator mode.

Nice! The MidiClk firmware should also run on the MidiBud, right?

Yup… MidiGAL’s switch is equivalent to the rightmost switch on MidiBUD.

Does this mean MidiGAL replaces MidiBUD in your product portfolio ?

Apparently, yes .


Yeah, at least for now. MidiBUD was originally devised as MIDI Project Breadboard Friend, but most people use it to run MIDIpal firmware. MidiGAL is a better alternative because it can be easily encased.

I may still come up with MidiBUD Mk2 – functionally the same as the original MidiBUD, but with components and UI parts on different sides of the PCB. However, every time I start thinking in this direction, I end up with MidiREX PCB – adding LEDs, strat/stop/run switches, super fast static RAM instead of terribly slow EEPROM etc.

BTW, below is a “work in progress” description of MidiBUD firmware that me and a bunch of early adopters find to be very useful when you put it between your controller keyboard and the rest of your rig. Currently it runs on MidiBUD hardware, and it is a good candidate for MidiBUD Mk2, however it could be easily ported to MidiREX hardware and be even more useful.

MidiBUD is a 4 channel MIDI processor, which forwards MIDI IN events to up to four MIDI OUT channels. MIDI events can be forwarded as is or transformed. The set of parameters that defines transformations is called a “scene”.

So MidiBUD has 4 scenes. If a scene is selected, MIDI events processed by this scene are sent to MIDI OUT. When you press scene buttons 1-4, you select the corresponding scenes 1-4. You can select more than one scene at the same time by pressing several scene buttons simultaneously. Or you can add/remove scenes without unselecting other scenes by holding down SHIFT button (the rightmost fifth button) and pressing the appropriate scene button.

Scene parameters:

Scene output channel: none, 1-16 … if set to ‘none’, midi events are forwarded on the same channel they were received, otherwise they are forwarded on the selected channel. Using this setting you can quickly switch between 4 sound modules connected to MidiBUD output. Or layer sounds of those sound modules if you select more than one scene simultaneously.

Scene key hold: if ‘on’, the sound will continue when you release a key until you release all keys and press new ones. So you can have that “Shine on your crazy diamond” Gm strings chord playing for two and half minutes while you playing solo notes on your favorite analogue mono synth.

Scene transpose: -48 … +48 semitones, allows you to transpose scene notes up/down for up to 4 octaves… good for layering. I.e. the Gm mentioned above won’t sound right if you don’t mix in some Hammond sound two octaves below.

Scene zone: specifies keys zone – midi note events will only be forwarded if they are within zone. Useful when you need to play more than one sound module at the same time using different parts of your keyboard. Again, that Gm above needs a low bass note mixed in to sound authentically.

Scene velocity: specifies scene velocity curve (none, soft1,2,3, hard 1,2,3, wide 1,2 or constant)

Scene after touch: specifies scene after touch curve (none, soft1,2,3, hard 1,2,3, wide 1,2 or constant)

Scene filters: specifies scene filters, you can filter out program change, control change, after touch or pitch bend events

Scene program: specifies bank/program that will be sent to MIDI OUT when the scene slot is loaded.

Scene root note: specifies scene root note (used by scale constrainer)

Scene scale: specifies the scale to constrain notes to, the out of scale notes will be converted to the closest scale note

Finally, a set of 4 scenes may be saved into a “slot” and re-called later. Slots have 12 character names for easy identification and numbers from 0 – 99, so there is 100 slots available.

The project is still in development: the above functionality is fully implemented and tested.

Let me know if you have MidiBUD and want to try this firmware.

Is this also the [TBD] firmware in the MidiGal page?

Nope, the thing above absolutely needs 5 switches, and MidiGAL has only one switch.

The [TBD] firmware for MidiGAL that is close to being published is MidiArp – an advanced arpeggiator with a few twists… it’s a little too early to discuss here.

“In MIDI Clock Generator mode, MidiClk generates super stable MIDI clock with BPM selected by the encoder, or measured by sampling MIDI Clock events received on MIDI IN.”

Does this work as a tap tempo feature? Or is there a way to set tap tempo on the Midigal buttons?

Sticking a few pots on the board would be nice. Might be next best thing to the mythical Octopot :slight_smile:

@bonobo – at this point MidiClk does not have tap tempo feature. I’d love to have one but don’t see any reasonable way to expose it in the UI: the switch starts/stops, encoder click activates/deactivates tempo selection mode. So you have to explicitly select tempo with the encoder or feed it in from your DAW.

Ok gotcha. Still will probably end up getting this and putting it in a case.

@kvitekp - that midibud firmware looks incredibly useful and I’d love to try it out. I have a midibud already as well.

MidiBUD firmware v0.93 is available here .

If you’re using MidiBUD with MIDIpal firmware, just send midibud_pal.syx to its MIDI IN after powering it up while holding down the encoder.

Ordering this asap. The clock tester is very, very interesting.

i cant get this new firmware to work on my midibud when i upload to midibud i just get a blank screen?