posting here again to get more visibility

Hi guys,
I subscribed to the forums to get something moving about the midi implementation of the “flashback / alter ego x4”: like many other users. i bought the “alter ego x4” lured by the fact that it has midi ports, thinking that in combination with the toneprint editor i would be able to control any parameter via midi CC.

Can’t say how pissed i was when i realized that the midi implementation is ridiculously lacking,
it only allows to switch presets and receive the sync!
How is it possible that in 2015 a big company like TC oversees such basic things?

I’ve read all the posts in this thread, and find it unbelievable how TC keeps on ignoring their users … k-x4-midi/

The Toneprint editor is useful yeah,
but why can’t we have a full midi implementation which would allow realtime parameter control from any DAW?

Other very annoying things:

– why the editor doesn’t update the values in realtime when i switch presets on the hardware ?
That makes it almost unusable.
I’ve read in a forum post that it’s a design choice, the reason behind it seems just an excuse though.
Really poor interface and user experience design, i’m quite shocked that a big company like TC can get away with such bad decisions…

– why can i only assign 3 parameters to each knob???
What if i want to assign 10 parameters to 1 single knob? I guess it’s just because the GUI design only had space for 3 rows of assignments? If that’ the reason, just make a pull down sub menu, problem solved.

– why are there only 3 time subdivisions? Come on, it’s damn software, just make 2 boxes in the Toneprint editor and please allow your users to specifiy any time division they want. Why can’t i have 3/16 or 5/16???

How difficult would it be to release a VST plugin allowing midi control of all the parameters and saving presets in a DAW? Probably takes few days of work for a decently skilled programmer… I would do it myself if i had a table with sysex messages-to-parameter assignments, but as i’ve read in another forum post, TC has no interest in allowing customers to use their products to full potential. That’s a very backward and outdated way of thinking, there are multi FX units from the 80s that have a much deeper midi implementation that these effects !!!

And finally, for the TC electronics dev team:
you should wake up and realize that many electronic musicians are using guitar effects,
they need a proper and extensive midi implementation to integrate the effects into a workflow comprising DAWS, hardware synthesisers and sequencers, all based on midi. if you don’t know what i mean with “proper and extensive midi implementation” just check the Pigtronix Echolution and its editor.
I’m gonna wait some months and if no updates are made available, sell the Alter Ego and go with the Pigtronix Echolution Deluxe.

Sorry for the rant, but here you have another pissed customer.


Quick update: i managed to get a first crack into the sysex protocol for the Alter Ego 4X by using Midi Monitor to sniff the data flow between the Toneprint software and my AlterEgo4x pedal.
Then i moved the slider for one single parameter and observed which values where sent out to the pedal,
tried to apply some reverse logic and figured out the basic syntax to control the parameters via sysex or CC messages.
I’m quite surprised, but it works !

Till now i got the encoding values for a few parameters (feedback, saturation, delaytime),
in the next days i will try to get the values for all the other parameters and make a Maxmsp patch/external to map the sysex codes to midi control changes,
and finally get a decent midi implementation to make the pedal usable…

You can do the same by following the same procedure, it’s not as difficult as it may seem at a first glance.
First, read some manuals of other/older TC effects, look for the pdf with “midi_sysex_specifications” for m3000, d-two, m-one.
So weird that those units have full midi implementation and dedicated manuals explaining the whole sysex protocol,
probably from an era when the company still cared about their users (or maybe think that users from those units are smarter than guitar players?).
Anyway, enough with the rant, if you want to have a try, here are some codes to get you started.

The raw data you will get from Midi monitor looks like this:
00  F0 00 20 1F 00 09 0D 00  00 00 01 06 00 00 00 00
10  18 F7

Puzzle time !

F0 00 20 1F 00 09 0D= sysex header
00 00 00 = unused
01 06 = parameter index for saturation
00 00 00 00 =  unused
00…18  = parameter value (18hex = 24dec, that is the max value for saturation)
F7 = sysex value for message termination

F0 00 20 1F 00 09 0D 00 00 00 01 04 00 00 00 00 32 F7
where “01 04” = index for the parameter
“32” = hex coding for the decimal number 50.
Note that feedback can go up to 120% !

This one was quite tricky, instead of being represented by a single number, the delay time in milliseconds is split between 5 hex values. I was lucky to stumble on a manual for a midi device whose developer CARED ABOUT THEIR CUSTOMERS, and read that it’s a common practice to use 256 or its fractions as the main base block and then encode the rest using 2 or 1 as base.

What i found out for the delay time:
hex F0 00 20 1F 00 09 0D 00  00 00 XX YY 00 00 AA BB CC F7
xx= param bank 01
yy= param num 02
AA = multiplier base 256
BB = multiplier base 2
CC= multiplier base 1

So, to set a delay time of 6861ms we need to use this hex phrase:
F0 00 20 1F 00 09 0D 00  00 00 01 02 00 00 1A 40 4D F7
(decimal conversion of 1A / 40 / 4D = 26 / 64 / 77)
1A=26*256 = 6656
so: 6861-6656=205-77=128
128/64 = 2, so that number is a multiplier base 2 !

So TC,
would you guys be so kind to at least provide us with the sysex codes for the basic parameters?
Reverse engineering them is much more fun, yes,
but it takes a lot of time that we could spend on actually making music.

read more