I had an idea for an MIOS project last night. What I want to do is make a clone/remake of the Oberheim Cyclone. This was a MIDI arpeggiator that came out in 1988 and was supposed to offer user-editable arpeggios which you can transpose, clone, randomize/morph, etc., output different steps of the arpeggio to different MIDI channels, send different controller data (cutoff/resonance/etc) with each step, etc. It would have been an awesome device if it ever worked right - it’s infamous for being a complete piece of crap and crashing at a moment’s notice. So what I want to do is make a device that has at least some of the Cyclone’s features using MBHP/MIOS.
It sounds like the “Magic MIDI Delay” already does a lot of this, at least the outputting to different channels and sending controller data. What I want to know is, how much programming would I have to do to modify the Magic MIDI Delay to do something like this? First of all, what exactly would the difference be between a “MIDI delay” and a MIDI arpeggiator? They sound kind of like the same thing. If they are pretty much the same thing, what I would want to do is extend the number of “delayed” notes from 4 to 8, and add the ability to edit arpeggios, like say the user could define:
ORIGINAL NOTE
DELAY NOTE 1 - up one octave from original
DELAY NOTE 2 - up two octaves
DELAY NOTE 3 - same as original
DELAY NOTE 4 - up 5 steps
and so forth. So somewhat like a cross between the Magic MIDI Delay and the MB64Seq. How difficult would this be? Any pointers on where to begin modifying the Magic MIDI Delay code? I don’t know much about assembly, but I’m willing to learn.