- This topic has 25 replies, 5 voices, and was last updated 1 month ago by jrichoux.
-
AuthorPosts
-
-
August 1, 2024 at 7:45 pm #184115tmoravanParticipant
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
-
August 5, 2024 at 3:42 am #184131PuppeteerParticipant
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.
-
August 9, 2024 at 12:59 pm #184188tmoravanParticipant
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.
-
August 12, 2024 at 8:22 pm #184269jrichouxParticipant
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. -
August 12, 2024 at 9:30 pm #184271tmoravanParticipant
Wow, thanks so much for that. I’ll be poring over that in the morning.
Tom
-
August 13, 2024 at 5:54 am #184273tmoravanParticipant
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.
-
August 13, 2024 at 9:09 am #184275jrichouxParticipant
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
-
August 16, 2024 at 8:06 pm #184395jrichouxParticipant
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
-
August 16, 2024 at 8:26 pm #184396tmoravanParticipant
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.
-
August 17, 2024 at 12:16 pm #184401tmoravanParticipant
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.
-
August 17, 2024 at 6:41 pm #184403jrichouxParticipant
Tom, I replied via email. Feel free to share any way you want.
JohnR
-
September 28, 2024 at 11:44 am #184975etfyParticipant
Hi, any progress on controlling h3000 parameters via MIDI ? Very interested to know if this is doable. Thanks!
-
September 28, 2024 at 12:28 pm #184976tmoravanParticipant
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.
-
September 28, 2024 at 4:14 pm #184978jrichouxParticipant
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. -
November 12, 2024 at 6:17 am #186160tmoravanParticipant
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.
-
November 12, 2024 at 2:29 pm #186213jrichouxParticipant
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
-
November 12, 2024 at 2:48 pm #186214tmoravanParticipant
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)
-
November 13, 2024 at 2:51 pm #186247jrichouxParticipant
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
-
November 13, 2024 at 3:00 pm #186248tmoravanParticipant
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?
-
December 12, 2024 at 11:32 pm #186874dc212Participant
Hey Thomas
- Algorithms 102 and 103 both exhibit inconsistent numbers on ours, but only when cycled past 500ms with the arrow button. (For example, if I type 750ms on keypad, it immediately jumps back to 500ms.). MIDI input reacts the same, nothing past 500ms. On #102, this only affects the left channel.
- The discrepancy between the physical knob differing from arrow buttons, and sent/received MIDI values is most likely due to the curve of some parameters when “swept” vs stepping up or down in a linear fashion. I would say an overwhelming majority of the params follow linear slopes, but have definitely sensed a few random parameters that follow log slopes. From our experience, sending MIDI values is akin to an imaginary finger pressing synced to whatever flow of MIDI bytes… vs sweeping the actual knob.
- In regards to master levels vs the individual preset levels… we would generally set the master levels at the beginning of each session (or if a radical change is added to the chain pre-H3000). Because the master levels are only attenuators and cannot boost, they are treated more utilitarian to gauge max levels for headroom etc. On the other hand, the preset levels controls can be used for gain as well as cutting a signal, so sometimes it can help with boosting quieter instruments or softer vocals for the harmonizers. For less utilitarian use, the magic of the ADC + DAC can be really fun to lean into for distortion and drive. Seriously, try using it bypassed and run some dry instruments through it, especially drums. For the Max4Live device, we added some gain compensation controls and stereo linking. To avoid having to constantly adjust left and right levels independently (if desired).
PS, this is DC from the Electra One forum. I hope all is well! All the algorithms we ported to the Electra are now public if you’d like to check them out. #100-117 are pretty much finished (with Patch Factory and Stutter still “in progress”). The Max4Live device ended up sucking up a lot of time, so didn’t get to #118-#123. But all the other algos should be running pretty smoothly. Using the touchscreen is extremely fun… it really turns the H3000 into a full blown instrument. I will catch up in the Electra forum asap.
-
-
November 13, 2024 at 8:48 pm #186250jrichouxParticipant
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
-
December 12, 2024 at 9:37 pm #186871dc212Participant
Coming soon… John, would you like to help us get this beast over the finish line?
-
December 13, 2024 at 5:23 am #186878etfyParticipant
Hey, this is a dream come true <33333333
If you need any help to test it that’d be my pleasure. (owner of a H3000SE, advanced Max dev)
Amazing work to everyone!
-
December 13, 2024 at 2:02 pm #186894dc212Participant
Excellent! We have pretty much exhausted our Max capabilities so it’d be great to have someone on board who can really dig in and test. We are studio guys, so our expertise is more on the hardware / synth / outboard side of things. We originally built the device for our own personal use but it’s just too cool not to release it. That said, we really want to do it right. I’d say 90% of the patch is “good enough”, but
The device will be free, so it is a passion project, but our aim is to refine it as “professional” as possible before release. It’s the greatest FX unit of all time (in our humble opinion) and it deserves a fully-featured controller. The ability to create/save infinite presets in addition to Ableton’s modulation capabilities opens up a whole new world. We also made a simple program changer and imported all of the original preset descriptions, will send that also!
Shoot me an email at info@true-hybrid.com and we can link up. Looking forward!
Anyone else reading who would like to help, feel free to reach out at address above.
…
Attachments:
You must be logged in to view attached files.
-
-
December 13, 2024 at 4:31 am #186876tmoravanParticipant
The screenshots look excellent. Great work there. Thanks for confirming some of the unusual behaviors. There’s also the weirdness of some parameters looking like integer values but still allow you to type in a fractional value. I haven’t tested to see if that fractional part is saved and returned or not.
My going in position will be to set the range to whatever can be saved and recalled no matter what the front panel allows you to do.
I did make my H3000 editor for the Electra One hardware public and did implement all the algorithms. So if you have questions about 118 – 123, just ask; always happy to help. As you know, the Electra One gives you a lot of flexibility, but you are still constrained by the device as far as how much info can be presented at once and the very minimal graphics capability. My goal always was to get the full complement of parameters implemented correctly then go about trying to make each algorithm more easily presented and understood by shifting things around, adding some graphics, etc.
Note that I’ve been tweaking John’s original spreadsheet with updates for some ranges and a couple offset corrections. The one I remember that is important is Algorithm 104, the Left Feedback parameter actually lives at offset 92, not 35.
-
December 13, 2024 at 2:43 pm #186898jrichouxParticipant
Hey DC212 & all
That screen shot is amazing! Have no I idea what I could do to help besides a little testing perhaps.
I’ll followup on your link
JohnR
-
-
AuthorPosts
- You must be logged in to reply to this topic.