Version 2 vs 9
Version 2 vs 9
Edits
Edits
- Edit by keithzg, Version 9
- Apr 8 2024 10:30 PM
- ·Maybe full CC list?
- Edit by keithzg, Version 2
- Mar 21 2022 4:30 PM
Edit Older Version 2... | Edit Draft Version 9... |
Content Changes
Content Changes
Create patches:
* https://www.synthmata.com/volca-fm/
* [[ https://asb2m10.github.io/dexed/ | Dexed ]]
Libraries of patches:
* https://coffeeshopped.com/synth/korg/volca-fm links to the Brian Eno patches but they're not actually there anymore :(
* http://dxsysex.com/
Load patches into the Volca FM:
* Easiest way is via [[ https://asb2m10.github.io/dexed/ | Dexed ]], as ironic as it is to be using a software FM synth plugin to set up a standalone hardware synth. Just get Dexed open, press the Cart button to go to the cart menu and then just right-click on any patch and choose to send it to the "DX7" (which in our case is actually a Volca FM).
== Patches ==
Create patches:
* https://www.synthmata.com/volca-fm/
* [[ https://asb2m10.github.io/dexed/ | Dexed ]] (make sure to put it in the [[ https://developer.steinberg.help/display/VST/Plug-in+Locations | right location ]])
Libraries of programs (FM terminology for patches, admittedly conceptually a bit different under the hood):
* http://dxsysex.com/ has many carts, including the Eno ones
* http://nuxmicromedia.com/4ophq/cgi-bin/dx4op.cgi?mode=patch is for 4 operator synths rather than 6 operator ones but might work anyways
Load patches into the Volca FM:
* Easiest way is via [[ https://asb2m10.github.io/dexed/ | Dexed ]], as ironic as it is to be using a software FM synth plugin to set up a standalone hardware synth. Just get Dexed open, press the Cart button to go to the cart menu and then just right-click on any patch and choose to send it to the "DX7" (which in our case is actually a Volca FM).
* Note [[ https://www.reddit.com/r/volcas/comments/cv4zdq/comment/ey2favk/ | things might be quiet if you don't disable LFO key sync ]]. For this you'll need to load the program, close the cart menu, turn off LFO sync, then maybe either go back in and send the program, or save it to a custom cart? Neither approach has actually worked when I've run into this, and the programs in question seem to sound different too, so it's some incompatibility between the Volca FM's setup and old DX7 patches I think. Maybe it's solvable by [[ https://www.reddit.com/r/volcas/comments/9s4x6p/comment/e8ol1xp/ | toggling operators on and off ]]? Yeah that [[ https://github.com/asb2m10/dexed/issues/155#issuecomment-438754037 | seems to be the actual problem ]].
== Settings ==
Change MIDI channel by holding {key MEMORY} while powering on. Press step 1-16 for corresponding MIDI channels, then {key ⬤} to save the change.
== Alternate Firmware ==
Someone named Pajen has released modified firmware for a few Volcas, notably for our sake the Volca FM 1.
* [[ https://www.reddit.com/r/volcas/comments/dj7f7v/volca_fm_firmware_108_unofficial_velocity_on_note/ | Firmware 1.08 Post ]]
* [[ https://www.reddit.com/r/volcas/comments/ezuzbt/volca_fm_firmware_109_unofficial_bugfix_and/ | Firmware 1.09 Post ]]
* [[ https://ranzee.com/korg-volca-fm-firmware-1-08-unofficial-update/ | Firmware 1.08 mirror ]]
* [[ https://ranzee.com/volca-fm-firmware-1-09-unofficial/ | Firmware 1.09 mirror ]]
* [[ https://drolez.com/blog/music/korg-volca-fm-firmware-update.php | Instructions for updating firmware ]]
{F139316 layout=link} {F139317 layout=link}
# Download the two firmware audio files
# Connect your playback device (PC, phone, whatever) to the Sync-In port with a 3.5mm TRS cable
# Put your playback volume one notch below max to avoid any distortion
# Turn on the Volca FM while holding {key FUNC PLAY}.
## Display should say `uPdatE`
# Play the first WAV file.
## Step LEDs 1-16 should track the progress
## Once complete, the Volca should automatically turn itself off.
# Turn the Volca on again and play the 2nd file
## Once complete, the display should say `End`.
# Turn off Volca, then turn it on again, et voila
=== Various changes ===
* adds support for Program Change of patches and patterns. PC 0-31 are the patches, 32-48 are the patterns.
* 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)
* put the SYSEX Parameter Change commands as NRPN number 0-155 if you e.g. happen to have a MIDI controller with NRPN support.
** ex., to set the ALGORITHM (parameter number 134) to "22" you will send CC99:1 (MSB NRPN#), CC98:6 (LSB NRPN#) and finally CC6:22 (NRPN value) etc. or B0 63 01 B0 62 06 B0 06 16 for MIDI channel 1.
== Global settings ==
Access by holding down {key FUNC} while turning the Volca FM on. Then press the step buttons to toggle on or off various settings as follows, with defaults in bold:
| Btn | Parameter | Lit status & Display says | Unlit status & Display says | FW |
|-----|-----|------|------|-----|
| 1 | Auto power-off function| **Enabled**, `AutoP On` | Disabled, `AutoP OFF` | Korg |
| 2 | Battery type selection | NiMH, `bAtt nH` | **Alkaline**, `bAtt AL` | Korg |
| 3 | Sync Out polarity | Fall, `SyncOt Lo` | **Rise**, ` SyncOt HI` | Korg |
| 4 | Sync In polarity | Fall, `SyncIn Lo` | **Rise**, ` SyncIn HI` | Korg |
| 5 | Tempo range settings | Full (10-600), `TEmPo FuL` | **Narrow (56-240)**, `TEmPo nAr` | Korg |
| 6 | MIDI Clock Src | **Auto**, `MdCLK Aut` | Internal, `MdCLK Int`| Korg |
| 7 | MIDI RX ShortMessage | **On**, `MdShrt On` | Off, `MdShrt OF`| Korg |
| 8 | Sync input/output unit | Once a step, `SyncStp 1` | **Once every 2 steps**, `SyncStp 2` | Korg |
| 9 | enable/disable velocity on MIDI notes IN| Enabled, `Nd VEL On` | **Disabled**, `Nd VEL OF` | Pajen1.08 |
|10| Yamaha or Korg single patch import/export | Enabled, `NdSYSH Ya` | **Disabled**, `NdSYSH K0`| Pajen1.08 |
|11| Patch change: keep notes on|Enabled, `PCnot On`| Disabled, `PCnot OF`| Pajen1.08|
|12| Patch change CC on|Enabled, `PCNld On`| **Disabled**, `PCNld OF`| Pajen1.09|
Setting 10 notes:
> 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)
Setting 11 notes:
> 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.
=== MIDI CCs ===
With this alternate firmware, a full list of MIDI CCs:
* CC 1 : (Mod wheel) assignable via CC 91, defaults to Pitch Mod Depth
* CC 40: Transpose
* CC 41: Velocity
* CC 42: Modulator attack
* CC 43: Modulator decay
* CC 44: Carrier attack
* CC 45: Carrier decay
* CC 46: LFO rate
* CC 47: LFO pitch depth
* CC 48: Algorithm
* CC 49: Arpeggiator type
* CC 50: Arpeggiator divisor
* 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
Sourced from experimenting and https://github.com/usercamp/midi/blob/main/KORG/volca%20fm.csv aka https://midi.guide/d/korg/volca-fm/.
== Official Stuff ==
* [[ https://cdn.korg.com/us/support/download/files/0ee40bc9fbbb72aa51d519df2af5697d.pdf | MIDI implementation chart ]]
== Patches ==
Create patches:
* https://www.synthmata.com/volca-fm/
* [[ https://asb2m10.github.io/dexed/ | Dexed ]] (make sure to put it in the [[ https://developer.steinberg.help/display/VST/Plug-in+Locations | right location ]])
Libraries of programs (FM terminology for patches:, admittedly conceptually a bit different under the hood):
* https://coffeeshopped://dxsysex.com/synth/korg/volca-fm links to the Brian Eno patches but they're not actually there anymore :( has many carts, including the Eno ones
* http://dxsysex.com/nuxmicromedia.com/4ophq/cgi-bin/dx4op.cgi?mode=patch is for 4 operator synths rather than 6 operator ones but might work anyways
Load patches into the Volca FM:
* Easiest way is via [[ https://asb2m10.github.io/dexed/ | Dexed ]], as ironic as it is to be using a software FM synth plugin to set up a standalone hardware synth. Just get Dexed open, press the Cart button to go to the cart menu and then just right-click on any patch and choose to send it to the "DX7" (which in our case is actually a Volca FM).
* Note [[ https://www.reddit.com/r/volcas/comments/cv4zdq/comment/ey2favk/ | things might be quiet if you don't disable LFO key sync ]]. For this you'll need to load the program, close the cart menu, turn off LFO sync, then maybe either go back in and send the program, or save it to a custom cart? Neither approach has actually worked when I've run into this, and the programs in question seem to sound different too, so it's some incompatibility between the Volca FM's setup and old DX7 patches I think. Maybe it's solvable by [[ https://www.reddit.com/r/volcas/comments/9s4x6p/comment/e8ol1xp/ | toggling operators on and off ]]? Yeah that [[ https://github.com/asb2m10/dexed/issues/155#issuecomment-438754037 | seems to be the actual problem ]].
== Settings ==
Change MIDI channel by holding {key MEMORY} while powering on. Press step 1-16 for corresponding MIDI channels, then {key ⬤} to save the change.
== Alternate Firmware ==
Someone named Pajen has released modified firmware for a few Volcas, notably for our sake the Volca FM 1.
* [[ https://www.reddit.com/r/volcas/comments/dj7f7v/volca_fm_firmware_108_unofficial_velocity_on_note/ | Firmware 1.08 Post ]]
* [[ https://www.reddit.com/r/volcas/comments/ezuzbt/volca_fm_firmware_109_unofficial_bugfix_and/ | Firmware 1.09 Post ]]
* [[ https://ranzee.com/korg-volca-fm-firmware-1-08-unofficial-update/ | Firmware 1.08 mirror ]]
* [[ https://ranzee.com/volca-fm-firmware-1-09-unofficial/ | Firmware 1.09 mirror ]]
* [[ https://drolez.com/blog/music/korg-volca-fm-firmware-update.php | Instructions for updating firmware ]]
{F139316 layout=link} {F139317 layout=link}
# Download the two firmware audio files
# Connect your playback device (PC, phone, whatever) to the Sync-In port with a 3.5mm TRS cable
# Put your playback volume one notch below max to avoid any distortion
# Turn on the Volca FM while holding {key FUNC PLAY}.
## Display should say `uPdatE`
# Play the first WAV file.
## Step LEDs 1-16 should track the progress
## Once complete, the Volca should automatically turn itself off.
# Turn the Volca on again and play the 2nd file
## Once complete, the display should say `End`.
# Turn off Volca, then turn it on again, et voila
=== Various changes ===
* adds support for Program Change of patches and patterns. PC 0-31 are the patches, 32-48 are the patterns.
* 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)
* put the SYSEX Parameter Change commands as NRPN number 0-155 if you e.g. happen to have a MIDI controller with NRPN support.
** ex., to set the ALGORITHM (parameter number 134) to "22" you will send CC99:1 (MSB NRPN#), CC98:6 (LSB NRPN#) and finally CC6:22 (NRPN value) etc. or B0 63 01 B0 62 06 B0 06 16 for MIDI channel 1.
== Global settings ==
Access by holding down {key FUNC} while turning the Volca FM on. Then press the step buttons to toggle on or off various settings as follows, with defaults in bold:
| Btn | Parameter | Lit status & Display says | Unlit status & Display says | FW |
|-----|-----|------|------|-----|
| 1 | Auto power-off function| **Enabled**, `AutoP On` | Disabled, `AutoP OFF` | Korg |
| 2 | Battery type selection | NiMH, `bAtt nH` | **Alkaline**, `bAtt AL` | Korg |
| 3 | Sync Out polarity | Fall, `SyncOt Lo` | **Rise**, ` SyncOt HI` | Korg |
| 4 | Sync In polarity | Fall, `SyncIn Lo` | **Rise**, ` SyncIn HI` | Korg |
| 5 | Tempo range settings | Full (10-600), `TEmPo FuL` | **Narrow (56-240)**, `TEmPo nAr` | Korg |
| 6 | MIDI Clock Src | **Auto**, `MdCLK Aut` | Internal, `MdCLK Int`| Korg |
| 7 | MIDI RX ShortMessage | **On**, `MdShrt On` | Off, `MdShrt OF`| Korg |
| 8 | Sync input/output unit | Once a step, `SyncStp 1` | **Once every 2 steps**, `SyncStp 2` | Korg |
| 9 | enable/disable velocity on MIDI notes IN| Enabled, `Nd VEL On` | **Disabled**, `Nd VEL OF` | Pajen1.08 |
|10| Yamaha or Korg single patch import/export | Enabled, `NdSYSH Ya` | **Disabled**, `NdSYSH K0`| Pajen1.08 |
|11| Patch change: keep notes on|Enabled, `PCnot On`| Disabled, `PCnot OF`| Pajen1.08|
|12| Patch change CC on|Enabled, `PCNld On`| **Disabled**, `PCNld OF`| Pajen1.09|
Setting 10 notes:
> 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)
Setting 11 notes:
> 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.
=== MIDI CCs ===
With this alternate firmware, a full list of MIDI CCs:
* CC 1 : (Mod wheel) assignable via CC 91, defaults to Pitch Mod Depth
* CC 40: Transpose
* CC 41: Velocity
* CC 42: Modulator attack
* CC 43: Modulator decay
* CC 44: Carrier attack
* CC 45: Carrier decay
* CC 46: LFO rate
* CC 47: LFO pitch depth
* CC 48: Algorithm
* CC 49: Arpeggiator type
* CC 50: Arpeggiator divisor
* 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
Sourced from experimenting and https://github.com/usercamp/midi/blob/main/KORG/volca%20fm.csv aka https://midi.guide/d/korg/volca-fm/.
== Official Stuff ==
* [[ https://cdn.korg.com/us/support/download/files/0ee40bc9fbbb72aa51d519df2af5697d.pdf | MIDI implementation chart ]]