MATRIXSYNTH: Unnofficial Volca FM firmware 1.08 Update

Wednesday, October 23, 2019

Unnofficial Volca FM firmware 1.08 Update

Published on Oct 19, 2019 ranzee

Disclaimer: this is an unofficial update. Install at your own risk. Posting this only to let you know it exists. This was sent in via @dashcammusic. You can find the download link and comments at this reddit thread. Also, not sure why the download link would expire tomorrow.

"Volca FM firmware 1.08 [UNOFFICIAL] - velocity on note in, LFO fix, patch transfer, more CCs etc.
TLDR; I hacked the Volca FM firmware, fixed a bunch of really old bugs, added some features.

I have received a lot of feedback from people requesting the "1.05" FW (that added velocity on MIDI in) that I posted this spring. In June, I made a 1.06 version that added a bunch of other stuff as well. Big THANKS to the small group of beta testers that helped me evaluate that :-)
Imagine my surprise when KORG did the september FW drop - I thought the older Volcas were orphaned. But they did release FW for the FM - and still ignored the bugs! It was a bit rich. Now I have grafted my tweaks onto the 1.07 FW - you guys like it super fresh I imagine.
Check the KORG official FW update instructions carefully. 2 files need to go through for this to work as intended. Make sure no other sounds are playing, and use 44.1kHz native sample rate.
I take no responability whatsoever if you manage to mess up your FM. THIS IS ON YOUR OWN RISK.
Get it here: (expires on oct 24th)

Change log (from ORIGINAL KORG fw (1.03, 1.04, 1.07)):

* added a new Global Setting (number 9) that enables/disables(like original) velocity on MIDI notes in.
* added a new Global Setting (number 10) that switches between "Yamaha compatibility" and "Korg proprietary (like original)" single patch import/export behaviour. This makes importing patches from other devices work as it should. See e.g. In "Yamaha" mode, it will turn all OPs "on" - this is a compromise that I think works better than the FM original. In reality, KORG implemented its own patch format where byte 155 (in the DX7 standard a checksum byte) is used to transfer OP on/off. This is objectively "better" - but again, not actually compatible. Importing patches from e.g. dexed gives weird OP on/off results. (Conversely, if you have a MIDI out mod and dump a MIDI patch to a non-volca device/plug, it will complain that the checksum is wrong and reject it)
* added support for Program Change of patches and patterns. PC 0-31 are the patches, 32-48 are the patterns.

The original implementation is riddled with bugs, and three years in KORG has not bothered to fix them. That is bad and they should feel bad. Poor Oscillator Sink tries to steer around the issue: "Now, this gets a bit glitchy..."
Here are the fixes in my v1.08:
* fixed S&H 256x scale error
* fixed S&H update logic error that completely ruined S&H LFO
* fixed LFO sign error (saw up <-> saw down, square polarity etc, now same as dexed)
* added filtering to remove nasty "digital pop" on discontinous LFOs (audible when amplitude modulating with saw, square and S&H)
for the interested, more LFO details in this video (including the classic Brass S&H DX7 patch): Volca FM LFO fix

Note killing on patch switching :
* added new Global Setting (number 11) that sets "Patch change: notes off (like original)" or "Patch change: keep notes on" - this will disable killing off sounding notes when patch switching. This removes the popping noise, but most importantly gives new creative opportunities since the FM can in reality play up to three different sounds at the same time. Already sounding notes are not affected by the newly selected patch. Play a note and hold it down, switch patch and play other notes on top. Or MIDI sequence it using the new MIDI functionality.

* CC 1 : (Mod wheel) assignable via CC 91, defaults to Pitch Mod Depth
* CC 85: Chorus on/off. value < 64 off, value >= 64 on.
* CC 86: Chorus stereo width, 64 is default
* CC 87: Chorus speed, 64 is default
* CC 88: Load patch, value 0-4: patch 1, 5-8: patch 2 etc up to 127
* CC 89: Load pattern, value 0-8: pattern 1, 9-16: pattern 2 etc up to 127
* CC 90: Tempo divisor, value 0-31: 1/1, 32-63: 1/2, 64-95: 1/4, 96-127: 1/8 (!)
* CC 91: Mod wheel mapping: decides what MIDI CC mod wheel should map to. Example: value 42 sent on CC 91 -> Mod wheel now controls Modulator Attack

The firmware can be overwritten with KORG original firmwares if you feel like it.
I welcome questions and feedback. Also if you have technical questions about the inner workings of the FM - I have picked up a few insights on the way.
EDIT: I am feeling a lot of love here. It is very encouraging. Thanks."

No comments:

Post a Comment


©2019 Matrixsynth - All posts are presented here for informative, historical and educative purposes as applicable within fair use.
MATRIXSYNTH is supported by affiliate links that use cookies to track clickthroughs and sales. See the privacy policy for details.