Author Topic: Trigger IO & use of Sysex  (Read 6491 times)

Trigger IO & use of Sysex
« on: October 29, 2010, 03:19:48 PM »
Sorry if this has been covered elsewhere, couldn't find it via search ...

The Alesis Trigger IO manual offers skimpy coverage of Sysex for saving presets/kits. Short of doing lots of field testing on my own, does anyone know if a Sysex load (i.e., from PC to Trigger IO from a previously saved Sysex file) overwrites ALL settings on ALL kits? Is there a way to specify overwriting parameters on just the active/selected kit at the time of the download?

Related to this, I'm wondering how I can COPY & PASTE from one kit to another, by perhaps saving one kit via Sysex and then changing kits on the Trigger IO and reloading it to a different kit for further slight editing of a few parameters.

Online Hellfire

Re: Trigger IO & use of Sysex
« Reply #1 on: October 29, 2010, 04:01:21 PM »
Sorry if this has been covered elsewhere, couldn't find it via search ...

The Alesis Trigger IO manual offers skimpy coverage of Sysex for saving presets/kits. Short of doing lots of field testing on my own, does anyone know if a Sysex load (i.e., from PC to Trigger IO from a previously saved Sysex file) overwrites ALL settings on ALL kits? Is there a way to specify overwriting parameters on just the active/selected kit at the time of the download?

Related to this, I'm wondering how I can COPY & PASTE from one kit to another, by perhaps saving one kit via Sysex and then changing kits on the Trigger IO and reloading it to a different kit for further slight editing of a few parameters.
I believe it over writes everything. At least that is the way I remember it. There is no easy way to copy & paste from one kit to another. Alesis was going to release the info on the Sysex stuff to allow those people with the ability to write a computer program that would do just that. I don't think alesis ever released the info. Here is a topic you might find interesting:

http://www.dmdrummer.com/index.php?topic=276.msg2312#msg2312

Offline vaikl

Re: Trigger IO & use of Sysex
« Reply #2 on: October 29, 2010, 04:06:51 PM »
Think of a SysEx load as a memory dump. The SysEx file contains every parameter of the firmware - *all* presets - and cannot be simply edited except you are the software developer or a good hacker.

A downloaded SysEx file is like a backup and uploading it to the module overwrites the memory. Firmware updates therefor come as SysEx files.

Re: Trigger IO & use of Sysex
« Reply #3 on: November 08, 2010, 01:04:58 PM »
Yes, it is possible to do what you say. When you do a sysex dump, settings for each trigger, and settings for each drum kit (separate), are done as an individual sysex string.

Here's what I've figured out so far. Note that this is what the unit sends the PC; usually you can send the same string back.

Trigger settings:

header: F0 00 00 0E 2C 0A 02
then, in order, each a single byte with exact value:
trigger number (0-19, 0/1 is a/b for kick, then 2/3 is snare a/b, etc) one byte
gain
velocity curve (encoded, 'lin' = 00 and I expect the others are in order)
threshold
x-talk
retrigger
trigger type (PP = 0 iirc, rest should be in order per the manual too, but haven't verified)
F7

18 bytes total.

For the drumkits, they look like this:
header: F0 00 00 0E 2C 0D 00 00 46 01
then the program number, so for kit 0, put 00 (one byte)
then there are 20 trigger settings. They appear to be in order, they will be kick trigger A, then kick triggerB, then snare triggerA, etc.
each one is:
note number (one byte)
0x3 (always 0x3 - not sure what this is yet)
midi channel
3 bytes per trigger.
Then 2 bytes for foot chik setting: note number, then the 0x3
Open HH setting: note number, then midi channel
One byte with either 7F to not change the program, or a program number
F7 for the footer

78 bytes in all.

I haven't played with this much yet... been meaning to, no time.
A full dump should have 20 trigger settings + 21 program settings, each individual.

Re: Trigger IO & use of Sysex
« Reply #4 on: November 08, 2010, 01:43:29 PM »
Yes, it is possible to do what you say. When you do a sysex dump, settings for each trigger, and settings for each drum kit (separate), are done as an individual sysex string.

Very cool. If I had time and tools I'd write a program for our collective enjoyment. Alas, instead I'll continue doing entire preset dumps. It certainly works and isn't the worst inconvenience in the world.  :)

Re: Trigger IO & use of Sysex
« Reply #5 on: November 08, 2010, 02:30:39 PM »
i have considered doing what you say (writing a program), but just haven't had the time. In the meantime, if you are a little bit enterprising, with something like MidiOx (which is what I used to do the analysis) you can dump from the unit to hex, edit it (as text), and then dump it back. I haven't even been that motivated (i still don't even have all my pads set up... it's a pain anyways, if I switch from, say, Ableton session drums to oceanway, then the trigger settings (sensitivity, curves, etc) have to change) :) but it makes it relatively easy.

Re: Trigger IO & use of Sysex
« Reply #6 on: June 02, 2014, 01:33:31 AM »
Apologies for resurrecting this thread, but I UTSE and couldn't find a current one.  I am currently working on software to program my Alesis Trigger IO.  I develop software for a living so a) I can modestly say I know what I'm doing and b) I've written it specifically for my Trigger IO needs but I wrote it decoupled enough that adding other devices/interfaces/whatever should be easy. 

One issue I'm having is my dumps don't seem to match chroma's spec, at least as far as Programs go and most specifically, the last few bytes at the end.  I did a factory reset and have attached the .syx file (readable in any hex editor or MidiOX) if anyone has nay ideas.  The biggest problem I'm having is that after the 63 bytes of trigger data (20 A/B + "foot chik") the next 2 bytes are a little weird - 2A 01, yielding values of 42 and 1, presumably the MIDI note number (Closed Hi-Hat is 42) and the Channel (2? 0x0 = Ch 1, 0x1 = Ch2).  The next byte, the Program Change byte, always seems to match what I see on the unit display and everything else as far as the Trigger formats seem to line up (with the exception of headers).

Having said that, I'm going to charge on and code around what I have right now to see if I can get a workable interface.  I just joined the forum... in my intro post I mentioned posting the source code to GitHub.  I might just push it tonight once the tests are passing (it's far from complete) so people can see the direction I'm heading.  I'll follow-up this post with a link to the Git repo for those interested.

Thanks for reading.

Re: Trigger IO & use of Sysex
« Reply #7 on: January 20, 2015, 06:57:44 PM »
Apologies for resurrecting this thread, but I UTSE and couldn't find a current one.  I am currently working on software to program my Alesis Trigger IO.  I develop software for a living so a) I can modestly say I know what I'm doing and b) I've written it specifically for my Trigger IO needs but I wrote it decoupled enough that adding other devices/interfaces/whatever should be easy. 

One issue I'm having is my dumps don't seem to match chroma's spec, at least as far as Programs go and most specifically, the last few bytes at the end.  I did a factory reset and have attached the .syx file (readable in any hex editor or MidiOX) if anyone has nay ideas.  The biggest problem I'm having is that after the 63 bytes of trigger data (20 A/B + "foot chik") the next 2 bytes are a little weird - 2A 01, yielding values of 42 and 1, presumably the MIDI note number (Closed Hi-Hat is 42) and the Channel (2? 0x0 = Ch 1, 0x1 = Ch2).  The next byte, the Program Change byte, always seems to match what I see on the unit display and everything else as far as the Trigger formats seem to line up (with the exception of headers).

Having said that, I'm going to charge on and code around what I have right now to see if I can get a workable interface.  I just joined the forum... in my intro post I mentioned posting the source code to GitHub.  I might just push it tonight once the tests are passing (it's far from complete) so people can see the direction I'm heading.  I'll follow-up this post with a link to the Git repo for those interested.

Thanks for reading.

Hi mmdurrant, did you make any progress? I'm interested!  ;)

Re: Trigger IO & use of Sysex
« Reply #8 on: December 07, 2016, 12:33:42 AM »
I'm sorry - I'm taking 2 weeks off over Christmas. I'll spend 2 hours focusing on this and get an answer.


Re: Trigger IO & use of Sysex
« Reply #9 on: December 07, 2016, 09:15:12 AM »
I'm sorry - I'm taking 2 weeks off over Christmas. I'll spend 2 hours focusing on this and get an answer.


Plz don't do that sepecially for me mmdurrant, I've sold my triggerio and I am using the dm10 drummodule again..
Cheers..

Re: Trigger IO & use of Sysex
« Reply #10 on: December 08, 2016, 12:02:55 AM »
Hahah I'm doing it for me don't worry. Sharing what I learned here is a pleasant side effect and might make people less annoyed with some of my sillier questions.

Re: Trigger IO & use of Sysex
« Reply #11 on: August 10, 2017, 05:46:56 AM »
Any progress on your software project?