Midi Fighter Utility 3.0 Beta

A new beta is here and this time around we decided to make it an open beta to simplify the process for everyone involved and gather more feedback to polish the app before going fully live. Quite a lot of new and exiting stuff for you guys to play with.

Download the new utility via the links below.

Midi Fighter beta firmwares that accompany this test are embedded in the utility and can be flashed via Tools>Alternative Firmware

Utility 3.00a

  • Universal build (Intel/Silicon) and macOS Golden Gate support
  • Windows ARM improvements
  • Redesigned UI that scales better on different display sizes
  • Multi device management via the the toolbar
  • Mapping (profiles) managed in the app’s sidebar (can be hidden from the View menu to expand the device canvas)
  • All 128 colors available via MIDI are accessible in the MFU by clicking on the palette icon in the toolbar
  • Twister encoder indicator type is reflected in the utility canvas
  • Twister setup mode can be controlled from the utility to switch bank modes or device ID without a firmware flash
  • Unified mouse drag box to select multiple control implemented for all devices, along with keyboard shortcuts
  • MIDI selection - Press a button/encoder on your controller to select it in the utility. Can be disabled from the View menu
  • Copy/Paste color settings
  • Customizable control labels per mapping (right click on a control to rename)
  • New dedicated MIDI log window with filtering capabilities
  • App theme can be fixed to Light/Dark or follow the system from the Tools menu
  • Log window no longer opens at launch
  • MFS file extension is associated with the utility so double clicking on one will open the app
  • MFS files can be dragged directly on the app for import
  • MFS files no longer get corrupted if there is a bank count mismatch vs the loaded firmware
  • Pre 2.91 MFS files translate settings for 2026 firmware
  • Utility warns when trying to import a MFS file for a different device
  • Fixes bug preventing units to be flashed more than once in a single session in macOS
  • New animation while detecting devices
  • Pressing cancel in the bootloader popup will reboot the device

Twister

  • Native mode - Allows software to take over the device display and update colors/indicators/etc on the fly without needing interaction with the utility and leaving the regular banks intact. This mode can be called directly by software via SySex or you can enter and exit by holding the bottom left and right side buttons together
  • Setup mode - hold the bottom right button on boot to access this mode.
  • White color calibration (accessible by holding the bottom right button during boot). Survives firmware flashing so a unit only needs calibration once for more color accuracy depending on workflows.
  • Device ID 1-8 assignable from hardware (by holding the bottom right button during boot) and the Utility in the Tools menu.
  • Switch between 4/8 banks from hardware (by holding the bottom right button during boot) and the Utility in the Tools menu.
  • New Program Change encoder type (use CC0 and CC32 on the same channel to control bank and sub-bank)
  • Bootloader is also accessible from the setup menu (by holding the bottom right button during boot, then hold the top left encoder).
    Note:

Spectra

  • Native Mode
  • User configurable root note from the MFU
  • Rotate grid
  • Fixes in the macOS remix deck firmware
  • Classic / Extended color palette for MIDI feedback. All 128 colors assignable from the utility
  • Optimized and recovered RAM for future features

64

  • Native Mode
  • Grid Layout: Drum / Keyboard layout (lose the 2 column rack approach so it plays like other 8x8 grid devices)
    *Configurable root note from the MFU
  • Fixed brightness difference between MFU colors and MIDI feedback
  • All 128 colors assignable from the utility
  • Optimized and recovered RAM for future features

New Ableton control surface scripts that showcase Native Mode will be available here shortly.

Amazing work! Thank you! :folded_hands:

I hope options to control the detent size and dead zone size will also be added.

Will the spectra updates work on the MF 3D?

That will be on the next beta in a week or so

Any particular feature you are after? The 3D does support most of the new features of the new utility, just not the ones specified in the Spectra section since those are firmware specific.

I should be able to work on 3D firmware post Black Friday launch but a friendly reminder that 3D’s LEDs are a fair bit dimmer than the Spectra/64 so the color specific bits won’t look as good.

Let’s not keep you waiting for the next utility build

  1. Download Midi_Fighter_Twister_20260918_detent_deadzone.zip, unzip it and flash it with the MFU via Tools>Custom Firmware
  2. Once flash is complete disconnect the unit, hold the bottom right side button as you reconnect to enter setup mode
  3. press the bottom right encoder (the one with the lit blue detent
  4. First row (blue) handles detent size, you can control it with the encoder on the right and test it realtime with the left encoder
  5. Same with deadzone (cyan) on the second row
  6. if you need to reset to defaults press the middle left side button, otherwise press the top left side button to go back
  7. press the green encoder and it will save, then reboot the unit.

That’s it! If you need to edit these again follow step 2 onwards. These settings will also be available in the Device tab in the MFU on 3.00 b coming late next week

Hello, thanks, great news!
First quick feedback: on Windows 11, the “File,” “Edit,” and “View” tabs in the upper-left corner cannot be clicked with the mouse and do not respond to hovering. Only ‘Tools’ and “Help” work. However, once “Tools” or “Help” is selected, you can go back to “File,” “Edit,” and “View,” and they respond to hovering.

A small suggestion: rather than having 128 colors that are very similar to one another and barely distinguishable on the MFT, would it be possible to have less saturated (pastel) colors?

Noted on the W11 menu issues, will work on it after the weekend.

Try the expanded color map we added earlier this year. The palette button shows all and makes them assignable from the Macau rather than just MIDI. It has some pastels, different brightness levels, etc. Classic color map is pretty much a hue wheel at full saturation along white and black.

Wouldn’t it be possible to implement color selection using a color picker?

I’m guessing you access the white calibration using the third encoder at the bottom (the one with the white segment) after starting the MFT by holding down the bottom-right side button?

If that’s correct, once in calibration mode, the three buttons on the left side no longer select RGB, as they did in the test version you sent me. As soon as you press one of those three buttons, it returns to the main menu.

EDIT: OK, I get it—now it’s done using the three buttons on the right.

Question: does the calibration mode only calibrate the white in the classic palette, or does it calibrate all the colors on the MFT? Imho, it would be great if it could calibrate the color shift across the entire MFT, because I feel like the colors can vary quite a bit from one MFT to another, especially between older and newer models.

Twister’s memory is ultra tight so lights use the color maps rather than addressing RGB on the LEDs directly. The only exception is Native mode but that is wiped on reboot. The closest we can get now is clicking on the paint palette icon in the toolbar to expose all 128 available values.

Calibration affects all colors, not just white. Yeah, i moved some controls around from the test build you used to make navigation more intuitive in setup mode.

Some old UI leftover was blocking the first few menu items, whick is why keyboard navigation still worked. Fixed and will be part of 3.0b later this week.

There’s just one small thing I don’t understand: why isn’t there as much adjustment range when adjusting an encoder individually as there is when adjusting all 16 together?

Otherwise, would it be possible to adjust only the white encoders without affecting the others ?
Cause if I adjust all 16 so they’re perfectly white, the other encoders with different colors drift a lot (since, in my case, the base white is very pink).

Midi_Fighter_Twister_20260924.zip (49.8 KB)

Try this build. It reworks how white balance works on the back end, expands the adjustment range and gives individual adjustments same range as global ones. It also has a new default calibration so you’ll want to press the left side button as soon as you enter calibration to start fresh.

As the why? hardware EEPROM restrictions which is why it was limited in the old one and needed a rethink. This is what betas are for :slightly_smiling_face:

Great job, congratulations! The new calibration system seems much smoother and more natural now. Nothing more to say, it’s perfect.

Sorry about the “why”—I know firsthand how hard it is to update an app and keep everyone happy! :wink:

No harm done! The why triggered the rework. Thanks for your feedback and help making Twister awesome :slightly_smiling_face:

Sidenote: RGB brightness got a ~25% perceived brightness bump in this build as well. Need to get a USB multimeter to confirm it still draws under 480mA to keep it 2.0 but most users are plugging them on 3.0 or newer ports which can deliver more power safely so it’s less of an issue that it used to be.

That’s an important point, you’re right to note it. Many people also use their MFT with laptops that have fewer and fewer USB ports, so they use hubs that sometimes are unpowered. As for me, I use a powered external dock, but I reserve the USB 3 ports for data transfer (external hard drives). Most of the time, my MFT is plugged into a USB 2 port.

hello, it is now possible to select a different midi channel other than channel 5 for shift encoder, and it’s a massive upgrade on versatility. Would it be possible to select a different cc also?

my use case is i want to use encoders to modify 2 different cc on the same synth. EG encoder to filter and shift encoder to resonance. it is now not currently possible cause both encoder and shift encoder sends the same cc.

another question is would it be possible to have the button not send any midi message when pressing and using shift encoder?

thank you

Resources are supper tight as is so we can’t just make it another per encoder setting. What can be done is having the shift encoder re-use the switch’s MIDI number when “Disable switch Shift MIDI” is enabled" rather than follow the encoder’s number. This effectively gives you full control of both shift parameters per encoder.

Aside from the fact that this scenario fulfills both of your requests without spending a single bit of hardware resources I think it’s a fair compromise for everyone else. The only downside is giving up software control of wether the normal or shifted encoder is displayed.

This will be part of the next build shared later this week.