H3000 system exclusive format

Home Forums Products Rackmount H3000 system exclusive format

Viewing 19 reply threads
  • Author
    Posts
    • #184115
      tmoravan
      Participant

      Random question because I feel like banging my head against a wall — has the H3000 MIDI system exclusive dump format ever been (un) officially published anywhere?

      Thanks

    • #184131
      Puppeteer
      Participant

      I don’t think so.  The MIDI commands are in the H3000 manual, but as I understand it, all the H3000 sysex dumps change depending on the underlying algorithm being dumped.  I don’t think the dumps were ever intended to be edited offline.

    • #184188
      tmoravan
      Participant

      That’s kind of what I thought.  I did have the slightly crazy idea of dumping each algorithm and doing some detective work to parse out each field.

      The downside of course is that even with that info there’s no real way to provide a remote editor with any kind of real time (or even semi-real time) control because you’d have to continually resend the entire patch back with each change.

      Not that that is hard (once it’s figured out), it’s just that the experience from a user perspective is more halting and likely the H3000 could get overwhelmed pretty easily.

      At least with something like the tc 2290,you can send the sysex equivalent of front panel button pushes to simulate a user doing stuff, so that’s somewhat better.

    • #184269
      jrichoux
      Participant

      20 some years ago I enjoyed trying to build an H3000 editor for Max. Never completely finished it, but evidently I somehow dumped a lot of stuff into a database back in 2013. I have no idea how far along I was at that point, or how complete/accurate this data is, but if it saves you some time you’re welcome to it.

      By the way, although I have an H8000FW, I still love my H3000 D/SE, especially the “String Modeller” which never made it into later harmonizers that I know of.

      I hope this helps

      JohnR

       

      Attachments:
      You must be logged in to view attached files.
    • #184271
      tmoravan
      Participant

      Wow, thanks so much for that.   I’ll be poring over that in the morning.

      Tom

    • #184273
      tmoravan
      Participant

      Had a brief look this morning with my coffee.

      First of all – that was a ton of work you did.

      Second, I’m going to need more coffee.

      Third – When I start dumping some of the sysex for the various programs, some of this will start to make more sense.  I will try not to ping you about any of the specifics in that spreadsheet even though it’s only been 10+ years.  🙂

      I’ve spent a chunk of time deciphering the PCM 80 bit-packed format as well as dumps from the Oberheim Cyclone, LXP-5, and some Waldorf products and write code as part of my day job, so all of this raw info is going to be a huge boost to start things off.

      Yes – I tend to use my H8000FW a lot more than the 3000, but part of that is the eveNET remote for it.  I’m hoping that I can put together a somewhat decent editor for the 3000 running on the Electra One MIDI controller hardware platform.  We’ll see how that goes.

       

      Again – much thanks for what you provided.  The work involved is understood and appreciated.

    • #184275
      jrichoux
      Participant

      Hi Tom

      I hope you can make some sense of it. I have no idea how I managed to dump those maps into a database back then. Add some filtering and sorting to the pages and it should be easier to follow.

      You are correct about the realtime issues. In my Max editor I had a few keyboard shortcuts for fetching & updating patches, but I can’t remember if I used any rpn’s or sysex to update parameters on the fly. I need to fire it up and see. I also remember spending a lot of time figuring out how to draw signal flow charts into a Max LCD object for the PatchFactory and ModFactory algorithms.

      I don’t know anything about the Electra One, but please let me know if you make any progress with it and the H3000!

      Have fun

      JohnR

    • #184395
      jrichoux
      Participant

      I’ve been digging around in my Max H3000 program in the interests of verifying the tables I shared. I don’t think that the parameter addresses are specific to a raw sysex dump but rather to a table that would be created after eliminating the first 18 bytes (the sysex command) and then converting the remaining bytes from ascii codes into hex numbers, etc. When I have some time I’ll check it out further. I might even be able to eventually format a proper sysex dump table.

      However I did test that onscreen parameter changes did go out to the device in realtime

      JohnR

    • #184396
      tmoravan
      Participant

      Thanks for that.   I dumped a few presets and started looking through them.

      Standard procedure is that there’s a standard header identifying what the dump is,  the data,  then usually a checksum. I did note that different algorithms had different size dumps.

    • #184401
      tmoravan
      Participant

      John – I started trying to use the Parm sheet to see if I could get the H3000 to respond to an NRPN parameter change, but no luck so far.

      The implication from the spreadsheet is (for example) sending the NRPN of 4 changes the Right feedback value for algorithm 100.

      I tried various combinations of the NRPN byte messages with no success.

      If you could send one parameter string that is sent from the Max code that would go a long way to being able to initially talk to the 3000.

      The sysex parsing I’m saving for a bit later because that’s a lot of dump patch/decipher sysex, match things up, rinse and repeat.

      If you’d rather carry on follow-on discussion via email, I’m available at — tmoravan    AT   yahoo DOT com

      (no idea if forum software strips out/blocks actual email addresses).

       

      FWIW, no matter if our discussions are here on via email, my resulting efforts will be publicly available for people to use as desired.

    • #184403
      jrichoux
      Participant

      Tom, I replied via email. Feel free to share any way you want.

      JohnR

    • #184975
      etfy
      Participant

      Hi, any progress on controlling h3000 parameters via MIDI ? Very interested to know if this is doable. Thanks!

    • #184976
      tmoravan
      Participant

      Yes – absolutely making progress on my selected platform.

      I am working on a remote editor for the Electra One MIDI controller.

      I currently have a beta version working that handles pulling back patches and displaying/editing values for algorithms 100 – 111.

      I can fully read the sysex dumps for all algorithms.  The time consuming aspect is designing the controls and menus to handle all the various parameter ranges and types used by the H3000.

       

      I also know of at least 1 other person/group working on an Electra One editor and 2 other people/groups working on Max implementations.

      If anyone needs info on how to request a sysex patch dump from the H3000 and then parse it into the various parameters, just ask and I’ll help where I can.

      The Electra One platform uses Lua as the programming interface (similar to Python in that it’s an untyped language), so the code reads like Python or C.  If you know a language like that, reading and translating what I’ve done should be straightforward.

       

    • #184978
      jrichoux
      Participant

      Hello Tom & others

      Nice to hear a few others are interested in this subject. A little while back I did further analysis on the D/SE patch dumps and made a few corrections. I have attached a new single-sheet flat file workbook that is as accurate as I know for now. There are still some puzzling bytes (in red with a “?”) but this should still be a useful reference. If anyone can improve on it, great! Not sure if Tom will post this on his website, but he is welcome to if he likes.

      I didn’t include 112 “Stutter” because there seem to be some things I still need to work out with it.

      I am going to start another thread on this forum with a different question

      Thanks

      JohnR

      Attachments:
      You must be logged in to view attached files.
    • #186160
      tmoravan
      Participant

      I believe I know the answer to this, but I have to ask in case any 3rd party individuals have explored this area.  Does anyone have the ability to make changes to the H3000 OS to possibly address a couple of MIDI bugs?  I ran into a few things as I have been creating a remote editor for the H3000.

      The first issue is that the right channel delay parameter in algorithms 102 and 103 (so far) can range from 0 to 1000 ms, but via MIDI, they only go from 0 to 500 ms (matching the left channel delay parameter). Any values sent higher than that are ignored.

      The other issue is a bit more esoteric – from the H3000 front panel, some parameters increment by large values using the encoder knob and by smaller amounts using the up/down arrows.  Via MIDI, it’s a bit different.  If the encoder changes by 0.04 (for example) and the up/down changes it by 0.01, a single value change via MIDI will typically change it by either 0.02 or 0.04.  However, the H3000 will send the same MIDI sysex string with the value 3 more times using the arrow keys while the display changes by 0.01 each time.  The theory is you can hook 2 H3000’s together and they’ll match each other.  However, when I try to send the same value multiple times (to match the arrow key behavior) the H3000 ignores the extra messages so I can’t get finer increment/decrement values.

    • #186213
      jrichoux
      Participant

      Hi Tom

      Re the delay times on 102, 103: from my D/SE front panel I only get a max of 500ms for either left or right. How are you getting 1000ms?

      JohnR

    • #186214
      tmoravan
      Participant

      Interesting.  Mine is an H3000 SE with the popular ‘kitchen sink’ upgrade giving it everything but the broadcast algorithm (113) and the sampling board (algs 120,121).

      So maybe it’s a glitch in that particular upgrade.  It would be slightly interesting to hear from others that still have 3000’s in various stages (the D/SX, etc)

    • #186247
      jrichoux
      Participant

      Actually, mine is an upgraded D/SX, don’t know if it the same upgrade as yours. The D/SE manual for 102 &103 says 500ms left & right. Do you actually get 1000ms from editing with the panel buttons?

      JohnR

    • #186248
      tmoravan
      Participant

      Yes – as part of my sanity check for my editor, I’m bringing up every algorithm and going through each parameter full range to verify I have it coded correctly.  There’s so many variations because the algorithms were not all created by the same team at the same time.  Those two delays go to 1000 ms from the front panel (encoder or arrows).

       

      You’ve probably noticed that at some point in the list of algorithms things like panning changed from -11 — 0 — +11 (internally using negative MIDI values) to 0 — 22 (using all positive and zero MIDI values and then internally adjusting it).

      Same named parameter is sometimes a percent, sometimes just a raw value, etc, so even though I have code in for the parameters, they still need verification based on what my unit shows and can do.  The word Tedium, bravely (and accurately) used by the original devs (algorithm 108) applies across the board to this.   lol

       

      Actual question for anyone still following this thread and using an H3000 — do you find yourself adjusting the individual input and output levels for each patch you create or do you pretty much just use the master levels and leave it at that?

       

    • #186250
      jrichoux
      Participant

      Must have been a different upgrade, which makes sense if you started with a D/SE.

      For what it’s worth, I match the levels to my mixer and leave them alone

      JohnR

Viewing 19 reply threads
  • You must be logged in to reply to this topic.