Saving KORG volca fm2 voices
The KORG volca fm2 can use voices intended for the original Yamaha DX7 in MIDI System Exclusive format. The user manual does not go into detail, but only states: "Sound files (SYS-EX/SYX) created on the Yamaha DX7 can be converted and loaded into the volca fm."
The term "sound files" is a little bit misleading here, as MIDI System Exclusive files do not contain sound, but manufacturer-specific information to the synthesizer. In this case they contain a full "cartridge", or 32 voices, for the Yamaha DX7, and the voices can be imported into the volca fm using the MIDI IN connector.
However, the process also works the other way, but with a twist. You can export voices out of the volca fm, but not through the MIDI OUT connector, as you would think. Instead, the voices can be exported as audio, so in this case they really are sound, until they are converted into System Exclusive files.
The voices you export from the volca fm can be loaded into the various DX7 clones listed in the DX7 All the Things! post, and maybe even to an original DX7 (will have to try this with my TX802 some day).

I wanted to save the 64 voices that the volca fm2 ships with, in case they are lost when I overwrite the banks with some other DX7 sounds. Getting them out of the volca turned out to be quite easy with the right tools.
The export is done through the volca SYNC OUT port, which is intended for communication with other volcas. As this communication is done using audio signals, it can be captured by recording the output of the SYNC OUT port.
The idea is to connect the SYNC OUT port into some input of an audio interface, and fire up an audio recording application or a DAW. Set the sample rate to 44.1 kHz, 16-bit, and use a mono track. Start recording, and then start the export by going into EDIT mode and pressing the SAVE/EXPORT button on the volca fm.
If you are monitoring the recording, you will hear a synchronization pulse, followed by a screeching noise. This noise is the data being sent out from the volca fm. The process uses Quadrature Amplitude Modulation or QAM, just like old school dial-up modems.

After the screeching has turned into sync pulses again, stop the recording and save it as a WAV file. I've found that you don't need to trim away the pulses, at least with the tool I used. Namely, to convert the audio file to MIDI System Exclusive format, you need volcafmpatchdecoder.
This is a 400-line C language program with binary releases for Windows and Linux (both x86 and ARM), but not for macOS. If you're on a Mac, you will need to prepare the executable program with clang (most likely if you have Xcode installed) or gcc. Take a look at the README file in the GitHub repository for some clues.
When you have downloaded a binary release, or successfully compiled the source code,
you should have an executable
named volcafm_to_sysex
(with an .exe
extension on Windows).
Run it with your audio recording as a
command-line parameter, and you get a listing of the voices, along with two
MIDI System Exclusive files:
% ./volcafm_to_sysex from-volcafm2.wav FILE: from-volcafm2.wav, 1 channel(s), rate:44100, width:16, block:2 0:ARCTIC 1:WHIZZZ 2:VALVIL 3:BASSACE 4:QUSI 5:OR-GN 6:STRUMMER 7:PLNTSTR 8:FU-YU 9:GAMMA 10:NU LINE 11:GRYMEM 12:JULIENNE 13:BASSRAT 14:GAWGAW 15:PORT-0 16:2PCTRL 17:HAOROM 18:MOIDES 19:PICHLD 20:AOBIRD 21:EQUUS 22:VAIO-LA 23:KLINK 24:BNKN 25:WAAAH 26:PALPLUCK 27:WARMBAW 28:PUKPUK 29:ANLGWALL 30:E-A-P 31:CIRKLE 32:Volcanic 33:MorphBass 34:SmashHit 35:E.Piano 36:Distorted 37:ChewyBass 38:MusicBox 39:GlassPad 40:Organic 41:ShortCut 42:WarmBass 43:Syringe 44:Blowing 45:BrassEns 46:StringsEns 47:Xylophone 48:E.Bass 49:ClassicGt 50:TinLead 51:LilChorus 52:MouthLead 53:Marimba 54:GroanBass 55:PluckKey 56:Glocken 57:Whistle 58:HornSolo 59:Picking 60:ClavStab 61:ThroatKey 62:FlyKettle 63:DrumShot
The files are named after your recording file, so in this case they would be called
from-volcafm2.wav_cart.syx
and from-volcafm2.wav_cart_2.syx
.
You will probably want to rename them to something else.
If your audio recording is not 44.1 kHz 16-bit mono, the program will tell you and quit right away. Originally I had made a stereo file at 48 kHz, but I was able to quickly transform it using Sound Studio on the Mac, and the decoder accepted it fine. Even the clipping didn't seem to be a problem, but you might want to turn down the input gain if you don't get decodable recordings.
I've loaded these voices into Dexed, and they sound OK, but remember that the volca fm2 has chorus and reverb effects which are used on the voices, so the dry sounds, when loaded into Dexed or somesuch, are not identical to the ones you get from the volca fm.
I hope you get some use out of this. You could use some of your favorite volca fm voices in other DX7 compatible synths, or just figure out how they are put together. The DX7 legacy is alive and well also in the volca fm!