Electribe 2: The New Thing I am Going to Break

This summer, I went out and bought the Korg Electribe 2 Sampler as my first synth. Probably not a great choice, considering it’s technically not a synthesizer in the most rigid sense of the word.

60edd9f01b5c4c68080b8aa62c22ca85_pc

I love the construction on this thing. The body is cast zinc, so you can really do some damage swinging it around. More importantly, it’s covered in knobs and blinking lights, and it plays back fart sounds.

There are, however, some major oversights in the software that make it unpleasant for the average user. Namely, there is no official software to catalog samples, and the firmware itself leaves out a number of features considered key in most modern samplers. Many users miss features like:

  • Sample auditioning before loading
  • ADSR envelopes
  • >4 bar patterns
  • Non-quantized sequencing
  • Non-destructive sample editing
  • Graphical sample editing
  • A real arpeggiator
  • Chromatic step recording
  • A sequencable song mode
  • MIDI file export
  • Step-editable parameters (parameter-locks)

Additionally, the sampler has an identical twin just called the “Electribe 2” with apparently identical hardware but a different firmware.

To begin working with the Electribe, I explored the sample database files that it exports when bulk-saving samples. I found that most of it was pretty straightforward but a few blocks used to encode sample info (like the name and playback characteristics) were a little confusing. As it turns out, someone had already done this and written a Java program to manage samples: Dave Schroeter’s e2sEdit

The problem with e2sEdit is that it grew beyond its limits as a non-coder’s sketchpad. It uses some wacky and extremely inefficient methods to transform data (like converting hex to strings containing the characters 0 through F in order to edit them). It also doesn’t take advantage of object oriented design, instead opting to keep everything under a single class in “as-written” structure. It works, but there are a lot of issues and it doesn’t have room to grow.

Thanks to Dave Schroeter’s efforts, though, I learned what the additional data blocks actually represented. Now, with every key feature documented, I’ve begun to write my own sample manager. I call it Tribely. I’ll post it here when it’s in a releasable state. Currently, it’s only missing a file IO system and the “sample info block” translator. Of course, it will be gratis and licensed under GPL. I want to make the Electribe better for everyone, not profit off it’s failings.


With that in progress, it occurred to me today that the key feature that cracked the Canon 550D during the Magic Lantern project was the firmware files. Someone figured out how to edit and re-sign them (I think) and injected instructions to allow running code from the SD card.

It appears that Korg has left themselves totally open to this, as none of their firmware is encrypted and the Electribe doesn’t check its validity. By editing only 2 bytes in the file header, a firmware file intended for the E2-Synth becomes a “valid” format on the E2-Sampler. What is currently unclear is whether this file will actually run, and I’m not yet willing to risk bricking my device. More importantly, it’s believed that the file is digitally signed, and although the installer doesn’t check for a signature, the firmware itself might.

There was some discussion a few months ago regarding this: http://www.korgforums.com/forum/phpBB2/viewtopic.php?t=94641&sid=7c763e7df7145e793359f8cb71bb304d

One key post appears to be missing, which is how user “dutchcow” wound up with a bricked device. He mentions binary editing but also claims his file was corrupt.

I’m digging into the code now, wondering if I should risk changing a menu item string in the firmware file to test it. Some menu items appear in text only once, so they’re probably not referenced by name in the firmware. At the same time, if the hardware self-checks for firmware signing, a modified file will install but not run (which is terrible design on Korg’s part). Obviously, more research is required first. I’ll check back when Tribely is finished or something new arises with the firmware.

Followup Article: Electribe 2 Sampler Firmware Examination

Leave a comment