Harmonix - Digitone iOS App


@mekohler Is midi learn possible? Would be nice to program the 8 knobs of my Korg Nanostudio .


Nope, didn’t think there was a need as you could just map things directly to the DN. I will add it to the list though.


Controling Harmonix via the Korg Nanokey studio(or whatever other midi controller) is a big plus for me. I put the keyboard in front of my iPad and use both the Korg and the Harmonix iPad controls. Programming the Korg knobs would be great if possible.

Thanks for putting midi learn on the list.


Update Out:

  • Improved UI Contrast for those who use low-brightness iPad settings
  • More varied “Noise” Sound Type
  • Minor bug fixes


Harmonix is pretty great at generating various categories of sound. I see that you just improved noise, that is great, I look forward to trying it soon. I was going to ask about percussion sounds (perhaps a subset of noises)? Collider is great at generating the 12 percussion types for the AR. Could your algorithms be used to generate patches in those subtypes?

Which reminds me of another set of questions for Collider and Harmonix:
Is there a way for us to specify the sound names in the iOS app? Did I overlook it?
And could sounds be pushed into the Sound Pool and/or Drive+?

You are doing great work! I look forward to paying for Harmonix when you are ready to sell it.


One more question: Collider is great at generating and editing patterns, will Harmonix have similar capabilities, eventually? Some kind of grid tool, akin to Collider, perhaps?

I know PolyPhase also exists, but that is a slightly different animal.


The Digitone sysex hasn’t been decoded yet so the only thing I can do is send MIDI CC’s. I didn’t bother having a Save / Load in Harmonix because of this fact.

I tried to add a Percussion / Drum category but I couldn’t figure out a way to make them sound decent, so it was removed. If anyone has any tips on drum synthesis for the Digitone, that would help. If not, I have to go through all the percussion presets one by one and try to find a pattern as to why they work.

If the Digitone sysex were reverse-engineered, then it would give me access to more parameters (like the Arp and Modulation settings), and a way to push the Sound, with a name, to the hardware. The same thing applies to the Patterns. I WISH I had the info to request / edit those sysex, but I don’t. There was a thread with some guy doing it, but he disappeared. The reason Collider has more features is because the sysex was reverse-engineered by void and bsp (https://github.com/bsp2/libanalogrytm).

The community needs to get something like that done for these newer boxes, as Elektron hasn’t been much help. If I could port the patten features of Collider to this app, it would be amazing. FM Polyrhythms <3


Hmmm… Is this a process that could be community sourced? Maybe a simple app that captures a SysEx and displays whatever is understood from or can be decoded from the SysEx at the time and then a Hex dump of the remainder? It could be iteratively refined as users identify what the encodings mean? As new parts are identified a new version could be released?

That way we as a community could contribute to the effort? It sounds half-way fun?

In the mean time I will study the RYTM lib in GitHub…


I’ll start going through Kick / Percussion presets this week and see if I can come up with a kick algorithm. If you have any specific tips, let me know.


Current process:

  1. Send a sound sysex from digitone
  2. Decode that sysex (maybe using the same techniques in lib2analogrytm)
  3. Now we have a long list of numbers which represents ACTUAL values on the machine
  4. Turn a knob (Filter Frequency) on the Digitone, repeat process 1-3 and see what changed
  5. Now we know, for example, that the Filter Frequency is located at offset 100
  6. That needs to be done for every single parameter, which is tedious

I don’t mind doing process 4 over and over for every parameter, but I don’t have time to reverse-engineer their compressed / encoded sysex format. If you try to look at the values of the sysex without first decoding it, you will get nowhere

Problem remains:

  • There is no current way to request the current sound from the Digitone in sysex format, and it’s annoying to make the user manually send the sysex
  • So we need Elektron to tell us what the sysex request is for the current sound (maybe an engineer will tell us, I haven’t asked yet)

I was planning on waiting for results from that sysex thread (which I just bumped) and the new Digitone OS before reaching out to their engineers for some help.

It would take one of their engineers half a day to give us a little script that does this, or reveal some information. This would open up so many possibilities, but I think they just have other things on their plate.


I understand what you are saying. The current process is a bit laborious. I understood that, but I was thinking that people (me, at least) would be willing to undertake the process. I also understand that there is the issue of 8-bit to 7-bit encoding. I was presuming/hoping that the high-level encoding technique would be the same since the machines are from the same manufacturer. That could be erroneous, I realize… But I thought that I read on the forum somewhere that it was the same… Maybe some kind soul at Elektron spilled the beans? If that is wrong, all bets are off…

Now, your second point is that the process could be sped up a bit by requesting the current sounds. It would make life easier. In fact, it would help round-trip automation. I understand waiting to ask. Probably after NAMM and/or OB2?

Have you tried dumping a Digitone Project SysEx using the RYTM decoder? Chaos?


I haven’t tried anything with the sysex, but mainly because the guy in the other thread said he was doing it and it was working. I was waiting for him to post his python script. I don’t have the urge to attempt it from scratch myself, as I don’t feel like being frustrated at things not working ATM. It’s still possible I will revisit it after his results are public or after the new OS is released and I email their engineers.

My 2nd point is essential as it allows 2-way communication between apps and the hardware. I can send “REQUEST CURRENT SOUND ON TRACK 1” to the Digitone, and it will send me that sysex. Right now, I don’t know if there is a way to request things like that.


Update Out:

  • Added “Kick” Sound Type

Still working on the drum algorithms, but this is a good start. You should trigger it with low notes, else it will sound just like a dark bass / pad.



  • Changed “Kick” Sound Type to “Perc”…it will now randomly alternate between Kick sounds and Snare sounds, with a mixture of random blippy percussion

Let me know what you think


i want more videos of you noodling around please!


Haha, I always have such shitty videos as I don’t have a proper recording setup. It’s free to try right now, so you could just download it :stuck_out_tongue:


i dont own any apple product…

please continue to make those shitty recordings… joy to watch… sound noodling is sweet and the colors are a trip to watch …

anybody else also think so?


Alright, I’ll muck around later tomorrow

Edit: I ordered a zoom mic which attaches to the iPhone…when it arrives tomorrow I’ll reattempt at recording some more scuffed videos showing off the app.


Here is a shitty patch from scratch video: https://streamable.com/374aw

It shows how you can get something usable from nothing using the app’s functions in a relatively short time. The end result is me triggering Track 1 (Random Pad) and Track 2 (Random Noise) at the same time, while the keyboard is latched, and using the mod slider (not visible) to affect some parameters from each.


I’ve officially released the app: https://itunes.apple.com/us/app/harmonix/id1444665934?ls=1&mt=8

I’ll keep up with the regular updates and refinements