Home › Forums › General › Using Ctrlr › akai s2000 sysex help plz
- This topic has 55 replies, 6 voices, and was last updated 8 years, 2 months ago by pascalc.
-
AuthorPosts
-
April 15, 2013 at 3:23 am #8167
Hey all again.
It’s been awhile since I worked a panel up.
I aquired a Akai S2000 sampler. I would like to create a controller that is WAY better than the SCSI connected MESA II program.
I heard you can change the S2K’s parameters using sysex. But it involves some MSB/LSB usage and I’m a little confused and rusty on how to implement the syntax.
Here’s a page that helps describe the sysex commands in the S2K.http://troywoodfield.tripod.com/sysex.html
about half way down he goes into how the structure of the akai’s sysex works.. there are “maps” of the parameters in documents found for all three S series samplers. S900/1000, S3000 and S2000.
Evidently to figure out all Sysex for them, you must look thru all their sysex suppliments/charts that can be found on akaipro.com
I can get some activity from my sampler, but I’m not getting the reaction I’m after. I’m doing something wrong with defining the MSB/LSB when I assign a slider with sysex and it’s values.
MESA II sucks donkey balls. It is not a real time controller.. you adjust a parameter and then it takes a second to change the value. I think the SCSI port is modifying the entire parameter dump each time a control changes.
It’s my understanding that thru MIDI I can do realtime adjustments to say.. the filter/resonance, LFO depth/speed and all the other goodies locked under pages of little LCD screen menus.
If anyone can help, I’d be happy to work up a panel and post it up here when it’s done.. they are still a rocking sampler to work with.. and they go so cheap these days too.
April 15, 2013 at 9:19 am #8170I recommend reading the “getting started” document: http://ctrlr.org/getting-started/
April 15, 2013 at 10:24 am #8171I was thinking about doing an s2000 panel aswell after finishing the Emu sampler panel, but if you want to work on this i will be glad to help out where i can.
Beware of how to do it though, making a good panel for a sampler is not easy. Many variable parameters, like amount of samples in a preset for instance, makes it tricky.
The good part about making a panel for a sampler is that you have to learn Ctrlr and Lua really well, and if you decide to make a panel for something “simpler” it is way easier to do because you already know lots of tricks 🙂
As for your lsb/msb problem, how are you assigning the midi-message? Do you use the slider’s properties directly, ie set to sysex and add formula with ls and ms placeholders; or are you using Lua?
April 15, 2013 at 2:19 pm #8175Thanks for the replies.
Atom, I will definately refresh myself by reading your guide.
Hecticc, cool you made a Emu panel… which sampler?
I’ve done a panel before. It was for a custom Korg Poly 800 (new firmware).
But I did that about a year ago. I used both straight panel editing and a little bit of LUA/scripting so it could fetch a patch dump and set all the knobs/sliders/switches each time you selected a new patch via the panel.It was a pretty in depth script.. so I’ve gotten my feet a little wet in the fancy stuff.
I tried to do a simple filter control via sysex command for the S2K. I used a imageSlider and dialed in the Sysex format using a formula… I faltered with the LSB/MSB implimentation, evidently.
This machine seems to use the LSB first, then MSB.. so say 1C, 0A pairs of bytes would be LSB, MSB.
I appreciate any help/pointers I can get.. maybe if we collaborate we can get a decent panel once and for all for this machine..
April 15, 2013 at 4:12 pm #8176For Ctrlr it doesn’t matter where the LSB/MSB part will be in the message, i think that DSI Evolver has LSB first, and some other synths have MSB first, it makes no difference to Ctrlr.
April 15, 2013 at 5:41 pm #8180Did some reading up on the sysex implementation of akai, it uses nibble-ized bytes so using “standard” lsb/msb splits will not work. It will never respond to the first character of a byte message; sending 11, 21…f1 fill be read as 01 by the Akai.
From what i read this is the way to handle it:
- Suppose you want cutoff to be set to max ie 127.
- First convert to hex = 7f
- Split this over two bytes, msb and lsb : 07 and 0f — Atom, my guess is this is where bigInteger has to be used to ensure proper splitting? I have no time right now to dig into this atm.
- Then send the message lsb first, so FO …… 0f 07 …..F7
As for the sysex listings there are no full specs to be found, plugging it in and analysing the sysex it spits out when you change a parameter seems to be the only way…
Gonna dig my s2000 up from the attic & hook it up again when i have more time, then i will be able to test some stuff out for this.
April 15, 2013 at 6:10 pm #8181there are 2 splits in Ctrlr:
LS/MS
and
ls/msthe capitalization matters, big letters means 7bit split (a 14bit integer is split into 2 7 bit numbers), the small letters means 4 bit split (a 8bit message is split into two 4bit numbers)
April 16, 2013 at 3:10 am #8200Thanks so much for the quick replies/support.
I found this site to help figure out the sysex/parameters
http://lakai.sourceforge.net/documentation.shtml
Something about offset bytes is how you locate a parameter to change it’s value.
I took a look at Ctrlr and found you can reverse the MSB/LSB.. what is “Value Mapping” and “Number Mapping”? Is this where the MSB/LSB nibble bytes go?
I can tell this is going to take some time to understand.. but I’m guessing once we figure out how to crack the Akai open, then it’ll just be a matter of tedious entries for each slider/parameter.
April 16, 2013 at 3:20 am #8201And if we ever get this done, I have a Roland D2 to figure out eventually too..
I’ve heard you can use most of a MC-505 editor.. but the only one I found so far sucks just as bad as MESA II. There is not realtime control over something as simple as the filter.. again it is like it is rewriting the entire patch dump again instead of changing just the one parameter.
I see the knob adjust, but hear no changes.. but when I let the knob go, I finally hear it change to the value where I released the knob at.
April 16, 2013 at 9:52 am #8207I used to own a s2000 but not anymore, anyway maybe you can record some sysex data for some of the parameters ? I’m not sure if the S2000 transmits data when changing parameters, but if it does have a look at what it’s sending in the MIDI Monitor or in MIDI OX and go from there.
April 16, 2013 at 10:20 am #8208Yes the sysex is sent out when you adjust a parameter with the jogwheel, i used to record automation like this with it. As long as you don’t overdo the amount of data being sent it responds quite fast too 🙂
April 16, 2013 at 11:07 am #8212Well then this is a start compare the data coming in with the data you are generating.
April 16, 2013 at 12:38 pm #8213Hello
Is it possible the display of s3000 series is sent by sysex ?
i’ve an old s3200 i have tried with sound diver and there is a windows : a replica of the display so may be it is possible with s3000xl series and eventually the s2000
Transmit was bi directionnal so….Sound diver worked relatively bad but Ctrlr may be works better….
April 16, 2013 at 2:03 pm #8218This is promising then if we can extract the sysex format from monitoring the MIDI data..
I’m betting some of the sysex docs I’ve found will spell out how to use that “offset byte” information to dial in the parameter to assign to a slider.
I’ll give it a go tonight and see if I cant evoke a response out of it.
April 16, 2013 at 2:45 pm #8219If you have an editor that works via MIDI (i remember that MESA did SCSI not MIDI), you can always plug a monitor between the sampler and your computer using MIDI-OX/MidiYoke combinations, and sniff what’s going on the wire. As i remember ReCycle from Propellerheads supported those samplers.
April 16, 2013 at 3:39 pm #8224Uhhh.. I think recycle uses scuzzy as well, not MIDI.
I have searched all over for a MIDI based controller app for the Akai s2000 and have come up nil.
that’s why I think it’s worth the trouble to create a new panel for it. and it will also work for all the S Series samplers.
they are backward compatible but not forward.
that is why you have to look at the S 1000 sysex documentation to find the code format for parameters then the additional sysex documentations just have the update information.it is in the S 1000 doc that I think I saw the offset byte info that is the key to locating all the basic parameters, instead of monitoring every single jogwheell edit.
April 16, 2013 at 4:19 pm #8225Well SoundDiver used MIDI (i think recycle could use both MIDI and SCSI). Also i’m not saying use those old ones, just get them, and reverse engineer the communication between the old program and the device, and implement that in Ctrlr, it’s simpler then trying to decipher cryptic manuals full of bytes/bits/nibbles and other stuff i don’t even wanna think about.
April 16, 2013 at 6:13 pm #8233I think Recycle(2.0 not 2.1) deal with SDS but can make program with keygroups so it is interesting to see the midi messages. I believe you can choose midi or scsi
Sound diver send&receive quasi all params except the filter2 or/and the 3rd env. i believe but they are optional on the S2000
Recycle and Sound diver “reconize” devices(they scan for) i would like to know how they do.
It could be a nice feature for panels.
Other thing : filter1 cutoffs (for example) are many in my s3200.
number of midi channels x number of progams x number of keygroup and may be x number of zones= number of filter1 cutoff sysexs possible Not sure however
April 16, 2013 at 6:24 pm #8238If a device implements the standard Identity request then you can query it and find out what is it.
http://www.blitter.com/~russtopia/MIDI/~jglatt/tech/midispec/identity.htm
not all devices do that, and you’d need a database of all possible responses to find ALL devices. But yes the MIDI library will have a special field and callback for identifying the device. There is some more information in the response, like the firmware level, that can be useful for updates etc.
April 17, 2013 at 1:00 am #8248Ok.. I hooked up the S2k to MidiOX and this is what I get when I have Program 1, Keygroup ‘s “FILTER Freq Reso” page on the LCD showing.
A zero Freq gives me this-
SYSX: F0 47 00 2A 48 00 00 00 07 00 01 00 00 00 F7
0002C49D 1 2 F0 Buffer: 7 Bytes System Exclusive
SYSX: F0 47 00 16 48 00 F7A “1” gives me this..
SYSX: F0 47 00 2A 48 00 00 00 07 00 01 00 00 01 F7
0002C49D 1 2 F0 Buffer: 7 Bytes System Exclusive
SYSX: F0 47 00 16 48 00 F7Freq set to “15”..
SYSX: F0 47 00 2A 48 00 00 00 07 00 01 00 0F 00 F7
0002C49D 1 2 F0 Buffer: 7 Bytes System Exclusive
SYSX: F0 47 00 16 48 00 F7And finally we have Freq. set at “99”
SYSX: F0 47 00 2A 48 00 00 00 07 00 01 00 03 06 F7
0002C49D 1 2 F0 Buffer: 7 Bytes System Exclusive
SYSX: F0 47 00 16 48 00 F7I’m not sure what that second message is, I think OX is resending the message back to the Akai and that is a confirmation msg.. seems to get that msg no matter what parameter I edit.
here’s another.. Program1 Keygroup 1, LFO1 rate set to “0”
00037B80 1 2 F0 Buffer: 15 Bytes System Exclusive
SYSX: F0 47 00 28 48 00 00 00 21 00 01 00 00 00 F7
00037B8F 1 2 F0 Buffer: 7 Bytes System Exclusive
SYSX: F0 47 00 16 48 00 F7
00037B93 1 2 F0 Buffer: 7 Bytes System Exclusive
SYSX: F0 47 00 16 48 00 F7that one gives me two extra messages at the end..
Anyone know if there’s a midi thru to switch on/off in OX?
Here’s the same LFO1 parameter, set to “99”
00054E73 1 2 F0 Buffer: 15 Bytes System Exclusive
SYSX: F0 47 00 28 48 00 00 00 21 00 01 00 03 06 F7
00054E82 1 2 F0 Buffer: 7 Bytes System Exclusive
SYSX: F0 47 00 16 48 00 F7
00054E86 1 2 F0 Buffer: 7 Bytes System Exclusive
SYSX: F0 47 00 16 48 00 F7I tried to make a slider out of the sysex info, but I cludged it all up somehow and it doesnt like it.
Any pointers on how to do it? Thanks all for your help and comments.. I think once I figure out how to do one, I can figure out most the rest of it.
- This reply was modified 11 years ago by Synthetech.
-
AuthorPosts
- The forum ‘Using Ctrlr’ is closed to new topics and replies.