Anavi Macropad8 for MIDI control

Every now and again, ya need a simple, small device to send MIDI commands. The V3 Sound Yammex XXL sound module is one such use case. It requires full Bank Select plus Program Change message sequences to select a voice. You’d be surprised at how many MIDI controllers are incapable of sending a full three message selection sequence! [This is one of my pet peeves about some MIDI controllers,]

So-called “macro keypads” are one possible solution. Typically, macro keypads are used by gamers to send repeated, complicated key sequences. [Hadoken!] The trick is getting the macro keypad to send MIDI instead of ASCII or whatever.

I did a search last year and found the Anavi Macropad8. The Macropad8 has eight keys, a micro USB connector and an optional OLED display. I planned to plug it into the USB host port on the Yammex module and send voice selection messages to it over USB — while the Yammex 5-pin MIDI IN port handles notes from a brain-damaged MIDI keyboard controller.

Anavi’s fulfillment via Tindy.com was really fast. Then, I let the Macropad8 languish for almost a full year. Until now.

First off, I like the Anavi Macropad8 hardware. I bought the Developer Kit which requires some minor assembly. It’s no more complicated than assembling a KORG NTS-1 or NTS-2. Unlike the KORGs, the Macropad8 does not fully enclose the electronics. Still, the final assembly is decently robust. The OLED is probably the most vulnerable component as it sits on top of the plexi top cover. I’m good with this for home use.

After assembly, I wrangled with the QMK (Quantum Mechanical Keyboard) development environment. I figured a few bytes here and there, and the Macropad8 should be good to go. Ha! Two gigabytes of development environment later, I was ready to run the QMK compiler and flash software. Yikes, that is bloated. QMK downloads with the default keymap definitions, etc. for every QMK-compatible macro keypad known to man, woman and dog.

Plus, QMK is, at best, user-hostile for QMK n00bs. Even figuring out where source code goes is an adventure game. Then, the default Macropad8 keymap is too large to flash. QMK doesn’t offer any real hints about reducing code size and one is quickly in the deep water. I turned off tap dancing, N-key rollover and backlighting in order to get the code size down.

Fortunately, there is the shell of an “advanced” MIDI keymap.c file in the documentation from which I did extensive copy and modify. You’ll need to dive into the MIDI library source code to suss out the MIDI API. The API is complete, but it is undocumented.

At long last I had a QMK app ready to go. The concept of operation is pretty simple — respond to key codes and send Bank Select MSB, Bank Select LSB and Program Change for each key press. User code runs in the middle of an infinite loop provided by the QMK infrastructure. QMK calls process_record_user() when a key code is ready for processing. If the OLED is enabled, QMK calls oled_task_user(), so your code can update (redraw) the display.

I did a quick check out with MIDI-OX to make sure the MIDI messages were being sent correctly. The Macropad8 exposes two USB ports — one to send characters to the keyboard stream and one to send MIDI. Fortunately, both Windows (MIDI-OK) and the Yammex immediately recognized the MIDI port.

Hooked up to Yammex, the Macropad8 worked as expected. I couldn’t get the arrangement to glitch even once while practicing. Overall, I would call Anavi Macropad8 a success and I recommend it.

The Macropad8 can run Arduino sketches, too. My back-up plan, in case QMK failed, was to program the Macropad8 as an Arduino (Leonardo). As an Arduino, the Macropad8 makes a neat application-specific system. I wish there was direct hardware access to the Arduino pins, but that would push Macropad8 into a different product direction entirely. Would make an interesting hack, anyway…

I noticed that newer Anavi products have moved to the Raspberry Pi RP2040 Pico. So, exercise care when ordering if you want a Microchip ATmega32U4 microcontroller.

Copyright © 2024 Paul J. Drongowski

A few words about my new PSR/Genos styles

I promised to say a few words about the new styles in my free Performance Style Collection (Version 2).

Motif/MOX, again

Five of the new styles are converted from Motif/MOX Performances:

Bubbly Dub         77  Dub reggae (Long live King Tubby!)
Dresden At Night   91  Chill
Poppyhanger        90  Mid-tempo electronica (minor key best)
See The Show      100  Prog rock (ELP, Yes, Emerson, Wakeman)
Ticking Away      120  Prog rock (Pink Floyd)

In case you’re not hip to Motif/MOX terminology, a Performance is a style-like group of voices and arpeggios (musical phrases). Most of these Performances are available for Montage and MODX, too — load the “MOTIF XF Performances for MONTAGE” library.

“Bubbly Dub” is my homage to King Tubby. Dub is totally under-represented in Yamaha styles. Reggae, yea, but give me those funky effects! If I have a slam on “Bubbly Dub,” it doesn’t go far enough.

“Dresden At Night” and “Poppyhanger” are upbeat electronica. Feel free to tear them apart and use the phrases.

“See The Show” and “Ticking Away” should tickle prog rock fans. “Ticking Away” is obviously based on “Time.” “See The Show” is a mash-up of ELP and Yes. If you figure out how to tame “See The Show,” please let me know.

Swizzle them phrases

Ableton Live always seemed like a natural tool for style assembly. Finally, this dreary winter, I gave Live a try in this role. The end result is six new downtempo and funk styles:

Cool Revibed      85  Downtempo
DownTime          71  Downtempo
Funkin Style     114  Jabo funk 
Slow Walker       75  Downtempo (minor key best)
Slow Walker DJ    75  Downtempo DJ style (chord progression built-in)
Street Genos      90  Hip-hop (needs Vocal Beat Box)

These styles are based on mixed and matched MIDI patterns from various collections. I want to shout out Groove Monkee, Apollo Sound and Equinox Sounds. If you want to do downtempo, chill or the hippity-hop, look at these brands.

Mostly, I banged MIDI loops together in Ableton and adjusted a few notes here and there to put melodic parts into the same scale. “Slow Walker” was a challenge in this regard. Pushing the notes into the same scale took character out of the sound. So, I did a “DJ” style with the original notes/changes cooked in. “Slow Walker DJ” follows the root note, but not the chord type.

“Cool Revibed” has a slightly different process. I started with the rhythm patterns in the Genos “CoolR&B” style and then hung phrases on it like Christmas tree ornaments. Having the rhythm down is a good way to start composition, if the rhythm is inspirational.

As to Live and sound generation, sometimes I started with Live software instruments, got the MIDI patterns going, and found sound-alike Genos patches for the final assembly. Other times, I drove Genos directly from Live, picking out voices and DSP effects by hand in the Genos mixer.

Jam away

I’m a long-time fan of Jean Luc Ponty’s “A Taste For Passion”. I caught Ponty live sometime around 1980 — great concert! Keyboardist Allan Zavod (RIP) was under-recognized for his contributions.

“Sunset Drive” is one of my favorite tracks from the album. The “Sunset Drive” style is a jam-along style with the bass and chords cooked in.

Sunset Drive     136  Jammin' jazz by Jean Luc Ponty (Cm scale)

The style will follow the root note. So, start out in Cm7 and modulate down to Am. Then, up to Cm7, again. Fun, fun, fun!

One of these days, I will give “Beach Girl” the same treatment. Beautiful tunes, all.

Don’t forget, I have additional free content for Yamaha PSR, Tyros and Genos:

Copyright © 2024 Paul J. Drongowski

Free Performance Styles for PSR/Genos

Been a while since I’ve posted. 🙂 That means I’ve been busy with a few hunker-down, wintertime projects.

At long last, I pulled together the second version of my “Performance Styles for PSR/Genos” collection. The second version has all of the V1 styles plus a dozen new V2 styles.

The V1 styles were translated from Motif XS/MOX Performances to Tyros/PSR. If you would like to read about the translation process, check these links:

These articles are still a good read if you are interested in creating original styles of your own. There is a short Getting Started With Style Files post, too.

The V1 style files target PSR-S950, which by now is old hat. So, the original V1 styles should be reasonably compatible with any post-S950 arranger.

The V2 style files take the collection into new territory. The V2 styles include contemporary genres like downtempo and make wide use of DSP insert effects. I developed the styles on Genos (gen 1) which supports a single insert effect on each style part. The V2 styles are compatible with Genos2. Some voices and DSP effects may not be supported by earlier arrangers. Genos1 still leads the pack in many dimensions!

Nonetheless, I encourage you to download the new collection. You might need to re-voice a style part or two and maybe redirect the DSP units which are available on your music machine. The styles are SFF1 even though a few new styles use Mega Voice. Being SFF1, you should be able to edit the styles with Mixmaster or any of the wonderful tools created by Jørgen Sørensen. I owe Jørgen a debt of gratitude since his CASM editor, OTS editor and Style Split/Splice programs are essential tools for any style developer.

Download Performance Styles for PSR/Genos (Version 2). The ZIP file includes a README text file. Be sure to check it out.

Copyright © 2024 Paul J. Drongowski