Restarting the Fizmo Project

Discussions about anything analog, digital, MIDI, synth technology, techniques, theories and more.
User avatar
cornutt
Moderator
Moderator
Posts: 2117
Joined: Sun Dec 02, 2007 6:03 am
Gear: 6th
Location: Rocket City USA
Contact:

Restarting the Fizmo Project

Post by cornutt » Tue Sep 13, 2011 5:06 am

About a year and a half ago, I was working on trying to reverse engineer the Fizmo patch dump sysex format. But I got frustrated with it -- I was trying to do everything by eyeball, looking through hex dumps of sysex strings. So I, er, put it on the back burner for a while. A long while. I had the idea that I would write a C program that would help me parse out and find differences in the dumps, but it was just too much work.

Last week, it occurred to me how I could use some OSX standard utilities to build a shell script that would do a lot of the work. An hour's worth of tinkering with shell scripts, and voila. I can now dump a preset, change a parameter, dump it again, and my shell script will identify the bytes that changed and show me the differences. So I'm finally making progress. I've identified about 40 parameters so far.

What I've found out: For starters, the preset dump sysex is about 3000 bytes long. It consists of four dumps of the four source sounds that are included in each preset; each sound source dump is 640 bytes. And then there are some more parameters that are global to the whole preset, mainly the effects and arpeggiator settings. I've identified where the four sound source dumps are, and the locations of some flag bytes that identify things like which sounds are on and off, which layers are enabled for editing, and so on. (Also, when you save a preset, it stores the current settings of the F-I-Z-M-O knobs. Did you know that? I didn't.)

What else I've found out: The dump format is an absolute mess. It doesn't look like any effort was made to pack the parameters into an efficient memory structure. Related parameters are in a seemingly random order; byte boundaries are gleefully disregarded, and there are unused bits and bytes scattered around all over the place. You'll see a 7-bit parameter, and instead of fitting neatly into a byte, the first byte will have 6 bits of the parameter plus an unused bit, and and the 7th bit of the parameter will be in the next byte. I thought at first that the extra bits must be used for on/off parameters or flags, but that doesn't appear to be the case; they're just random unused bits. I wondered why it takes 640 bytes to store the 200 or so parameters of one sound. Now I think I'm seeing why.

For those who didn't know: The Fizmo has a whole bunch of parameters that you can't edit from the panel. For example, the three envelopes appear to be ordinary ADSRs, but they're actually 5-segment envelopes. The filter appears to be just an LPF, but it's actually multimode with a number of selectable pole configurations. The keyboard has alternate tuning tables. And so on. The only way to edit these extra parameters, currently, is with a very dodgy version of Sounddiver that Ensoniq cobbed together just before Creative shut them down. There is no documentation of the sysexes or the dump format. My mission is to reverse engineer the sysex strings and then start a project to create a new program for Fizmo patch editing, one that will be open source and sustainable.
Switches, knobs, buttons, LEDs, LCD screens, monitors, keys, mice, jacks, sockets. Now two joysticks!

Ry-Fi
Supporting Member!
Supporting Member!
Posts: 203
Joined: Thu Jan 31, 2008 9:40 am
Gear: Ion, MKS-30, MKS-50, SQ-1+ 32-voice, TX81Z
Location: Regina, SK
Contact:

Re: Restarting the Fizmo Project

Post by Ry-Fi » Tue Sep 13, 2011 5:54 am

As a fellow MIDI editor developer, I like this! Godspeed on your heroic work, my good man! Additionally, as a Fizmo non-owner I should be rather indifferent about the target of your editor, but since I would LOVE to own a Fizmo some day and will strive toward that, I'm very supportive and appreciative on those grounds as well. Nice! :agree: :headbang:

User avatar
Cybercardinal
Supporting Member!
Supporting Member!
Posts: 482
Joined: Tue Jun 13, 2006 12:16 pm
Location: Denmark

Re: Restarting the Fizmo Project

Post by Cybercardinal » Tue Sep 13, 2011 6:52 am

Good work.

Sounds great..will be waiting patiently :)

User avatar
samuraipizzacat29
Supporting Member!
Supporting Member!
Posts: 819
Joined: Mon Jan 31, 2011 6:40 pm
Real name: Nate

Re: Restarting the Fizmo Project

Post by samuraipizzacat29 » Wed Sep 14, 2011 6:57 pm

This is great! If there's any way I can help, I'd be glad to. I'd love to have everything mapped out in sysex so taht I can use an editor of my choice rather than that ancient sounddiver I as of yet haven't got working (also haven't tried too much) on my vista 64 bit.

+1!

User avatar
ninja6485
Synth Explorer
Synth Explorer
Posts: 2766
Joined: Sun Apr 19, 2009 10:13 pm
Gear: Virus Ti, Jx-8p, Juno 60, Radias, Maschine, 101,303,606,707,727,808,909, odyssey, mirage, akai s5K/s2K/s1k, drumtraks, E6400ult, M1R, rx5, fizmo,d50
Band: Lyra, The Sun Worshipers
Location: Exton/ westchester

Re: Restarting the Fizmo Project

Post by ninja6485 » Thu Sep 15, 2011 4:48 am

nice!!! great work. funny how stuff hits you after the fact like that
This looks like a psychotropic reaction. No wonder it's so popular...

User avatar
worstofthewurst
Newbie
Newbie
Posts: 17
Joined: Tue Jun 14, 2011 5:20 am
Gear: Fizmo, FS1r, Pulse+, R8 mkII, Evolver desktop, K5000, Blofeld
Band: Sprutluder
Location: Portland, OR

Re: Restarting the Fizmo Project

Post by worstofthewurst » Sun Sep 18, 2011 4:59 am

Radical. I've followed your previous work on this and I am really eager to see what you come up with!

User avatar
suitandtieguy
Newbie
Newbie
Posts: 65
Joined: Sun Apr 09, 2006 8:56 am
Location: Chillicothe IL USA
Contact:

Re: Restarting the Fizmo Project

Post by suitandtieguy » Mon Sep 19, 2011 11:29 am

cornutt wrote:The Fizmo has a whole bunch of parameters that you can't edit from the panel. For example, the three envelopes appear to be ordinary ADSRs, but they're actually 5-segment envelopes. The filter appears to be just an LPF, but it's actually multimode with a number of selectable pole configurations.
this is exactly why i traded my FIZZMO for a broken Microwave XTK the first chance i got. (and now i'll probably ditch that hot potato for a Blofeld since i don't trust Waldorf gear.)

it wasn't so much there were extra parameters behind the scenes, the front panel was enough. what burned was that there was no way to zero out all of the controls from the front panel, and no actual initialisation parameter or patch.

when i realised that i could only really program it from the ground up by using a computer editor (which i couldn't get working) to zero everything out, i got so angry i almost threw it in the Illinois River a couple blocks from my studio.

hats off and respek, godspeed in your task. the FIZMMO is one of the most interesting synthesisers ever built. i'm just not looking back on this one.

i did record this track before i got rid of it (i actually had it for a year, i just refuse to use factory presets and this is just all i did with it since i figured out why i couldn't zero out the parameters.) the FIZZZMO is doing the quarter-note wavetable arpeggio. it should stick out like a sore thumb.

http://stgsoundlabs.com is where i sell things
http://suitandtieguy.com is my personal/music website
http://suitandtieguy.livejournal.com is my LJ, no blogistan for STG yo.

User avatar
cornutt
Moderator
Moderator
Posts: 2117
Joined: Sun Dec 02, 2007 6:03 am
Gear: 6th
Location: Rocket City USA
Contact:

Re: Restarting the Fizmo Project

Post by cornutt » Fri Sep 23, 2011 6:37 pm

suitandtieguy wrote:it wasn't so much there were extra parameters behind the scenes, the front panel was enough. what burned was that there was no way to zero out all of the controls from the front panel, and no actual initialisation parameter or patch.
Yeah, that was one of the first things I discovered that's a PITA... all of the factory patches come with hidden-parameter settings. If you build a patch from scratch from the panel, it will sound different depending on what patch was in that memory location previously, because you can't get rid of some of the hidden parameters
hats off and respek, godspeed in your task. the FIZMMO is one of the most interesting synthesisers ever built. i'm just not looking back on this one.
Thanks, and I understand about yours. I came within an eyelash of selling mine a couple of months ago, because I was unemployed and needed the money, and I had gotten frustrated with it, but I got a new job in the nick of time so I decided to hold on to it. Then I suddenly got the idea for how I could start hacking the sysex dump.

This week, I got all of the envelope parameters laid out. Mercifully, it appears that within a given sound, the two layers use the same parameter layout; it's about the first thing I've come across that wasn't totally wacko. I've had a couple of people write to me suggesting that I take a look at the MR/ZR format. I appreciate the suggestion, but I can tell you that the Fizmo sysex format -- at least the patch dump -- doesn't remotely follow that. The MR/ZR format is nice and orderly and makes sense. The Fizmo format has random bits/bytes that appear to serve no purpose stuck all over the place, and almost nothing lines up on a byte boundary.
Switches, knobs, buttons, LEDs, LCD screens, monitors, keys, mice, jacks, sockets. Now two joysticks!

FX23
Active Member
Active Member
Posts: 357
Joined: Sat Jan 12, 2008 4:33 pm

Re: Restarting the Fizmo Project

Post by FX23 » Sat Sep 24, 2011 11:34 am

you dont see fizmos for sale everyday do you. Ive got a spare laptop i was thinking about using it as a programmer, would one of those cheap usb to midi cables do the job?

User avatar
cornutt
Moderator
Moderator
Posts: 2117
Joined: Sun Dec 02, 2007 6:03 am
Gear: 6th
Location: Rocket City USA
Contact:

Re: Restarting the Fizmo Project

Post by cornutt » Sun Sep 25, 2011 2:26 am

FX23 wrote:you dont see fizmos for sale everyday do you. Ive got a spare laptop i was thinking about using it as a programmer, would one of those cheap usb to midi cables do the job?
That's what I use. I'm running the Sounddiver on a laptop with Vista, where it works but it's kind of buggy and a pain to set up. If your old laptop still has XP on it, that might work better.
Switches, knobs, buttons, LEDs, LCD screens, monitors, keys, mice, jacks, sockets. Now two joysticks!

Ry-Fi
Supporting Member!
Supporting Member!
Posts: 203
Joined: Thu Jan 31, 2008 9:40 am
Gear: Ion, MKS-30, MKS-50, SQ-1+ 32-voice, TX81Z
Location: Regina, SK
Contact:

Re: Restarting the Fizmo Project

Post by Ry-Fi » Sun Sep 25, 2011 3:09 am

cornutt wrote:The Fizmo format has random bits/bytes that appear to serve no purpose stuck all over the place, and almost nothing lines up on a byte boundary.
I'm imagining how hard it is to reverse engineer stuff that's been packed, split and bit-shifted, and you have my sincere sympathies! But: YOU CAN DO IT!!! You're going to figure out the layout of the entire SysEx spec and you're going to make the only comprehensive de facto Fizmo editor around and be a modern hero! Your smug satisfaction could conceivably be harnessed as a new form of energy. You da man, man!!

=D>

FX23
Active Member
Active Member
Posts: 357
Joined: Sat Jan 12, 2008 4:33 pm

Re: Restarting the Fizmo Project

Post by FX23 » Sun Sep 25, 2011 4:31 pm

cornutt wrote:
FX23 wrote:you dont see fizmos for sale everyday do you. Ive got a spare laptop i was thinking about using it as a programmer, would one of those cheap usb to midi cables do the job?
That's what I use. I'm running the Sounddiver on a laptop with Vista, where it works but it's kind of buggy and a pain to set up. If your old laptop still has XP on it, that might work better.

is it laid out like the fizmo front panel?

User avatar
tallowwaters
Moderator
Moderator
Posts: 4998
Joined: Thu Aug 25, 2005 4:11 am
Gear: LC-MS/MS
Location: snake's belly in a wagon rut

Re: Restarting the Fizmo Project

Post by tallowwaters » Mon Sep 26, 2011 2:43 am

FX23 wrote:
cornutt wrote:
FX23 wrote:you dont see fizmos for sale everyday do you. Ive got a spare laptop i was thinking about using it as a programmer, would one of those cheap usb to midi cables do the job?
That's what I use. I'm running the Sounddiver on a laptop with Vista, where it works but it's kind of buggy and a pain to set up. If your old laptop still has XP on it, that might work better.

is it laid out like the fizmo front panel?
No, it's laid out like a Sounddiver editor.
Brains can be used like a "stress ball," but only once.

FX23
Active Member
Active Member
Posts: 357
Joined: Sat Jan 12, 2008 4:33 pm

Re: Restarting the Fizmo Project

Post by FX23 » Mon Sep 26, 2011 11:24 am

you mean like this?

Image

Infiltrator
Newbie
Newbie
Posts: 4
Joined: Thu Jul 01, 2010 3:42 pm

Re: Restarting the Fizmo Project

Post by Infiltrator » Mon Sep 26, 2011 3:40 pm

I'd also be highly interested in such an editor. Good good luck with this project and much respect for your work!

Post Reply