Home › Forums › General › Using Ctrlr › Rackattack sysex
- This topic has 49 replies, 5 voices, and was last updated 11 years, 6 months ago by zeoka.
-
AuthorPosts
-
April 9, 2012 at 7:32 pm #594
Hi
I would like yo automate my waldorf rackattack with my maschine sequencer and i want to use ctrlr wich is
seems relatively simple to use.I use Jrackattack 0.93 to edit it . It’s a complete app and i could be cool if i have just some parameters
in my vsthost.My problem is when i type the the sys ex i want in the modulator settings " sysex formula "
the modulator send one same value all the range.I use the monitor to see what happens : when i turn a knob of the rackattack it send all range to ctrlr
but ctrlr send only one value.Please how i do to send all the range of the rackattack param with the modulator ?
I’m a noob with midi language (i know just the basis ).
Thank you
April 9, 2012 at 7:39 pm #4204have a look at some other panels for example, in short put "xx" in the byte that should hold the value, put "yy" in the byte that should hold the MIDI channel, if the values are split into least and most significant parts, use LS/MS(for a 7bit split) and ls/ms(for a 4bit split). For example
[code:1je93r3j]
f0 40 yy 01 02 xx f7
[/code:1je93r3j]
as a formula for a slider that has the range 0-127 and a panel with midi channel 3 will send the following sysex
[/code]
f0 40 03 01 02 00 f7
f0 40 03 01 02 01 f7
f0 40 03 01 02 02 f7
f0 40 03 01 02 03 f7
….
f0 40 03 01 02 7f f7
[/code]April 10, 2012 at 4:12 pm #4205VOLUME sound 1
[f0 3e 11 00 20 20 00 00 35 5a 4f f7]
[f0 3e 11 00 20 20 00 00 35 5c 51 f7]
[f0 3e 11 00 20 20 00 00 35 5e 53 f7]
[f0 3e 11 00 20 20 00 00 35 68 5d f7]
FILTER CUTOFF sound 1
[f0 3e 11 00 20 20 00 00 28 22 0a f7]
[f0 3e 11 00 20 20 00 00 28 23 0b f7]
[f0 3e 11 00 20 20 00 00 28 39 21 f7]
[f0 3e 11 00 20 20 00 00 28 3b 23 f7]
LFO1 SPEED sound 1
[f0 3e 11 00 20 20 00 00 4b 4b 56 f7]
[f0 3e 11 00 20 20 00 00 4b 4f 5a f7]
[f0 3e 11 00 20 20 00 00 4b 65 70 f7]
[f0 3e 11 00 20 20 00 00 4b 66 71 f7]
So the formula i must type is
F0 3E : 11: 00: 20: 20: 00: 00: "data specific to each params": yy ? : xx ? : F7
I believed sysex normally doesn’t have midi channel so i’m confuse.Fortunely range of most params of the rackattack is 0 to 127 so i don’t need to
change this in the panel.Any way thank you very much for this important tip
Just tried the formula : instead of yy and xx i have only 00 and 00 when i turn the modulator……April 10, 2012 at 5:23 pm #4206You need to have the modulators MIDI type as SysEx.
The yy was just an example if your midi specs say nothing about the midi channel then don’t use it, some sysex implementations (old yamaha, roland) have midi channel in the sysex (usually the third byte).
April 10, 2012 at 6:02 pm #4207Yes the modulator is set to sysex (5)
If i understand xx is a variable definite by the range setting in ctrlr (min val,max val ,interval)
My problem is it seems there is two variables (byte 10 and 11) in my sysex’s
I’ve tried with two xx but same results 00 and 00.
I’ve a doc about rackattack but the info is not hexadecimal ex :Idx PAH PAL SNDV16 SNDV10 Description Name
36 00h 24h Speed
37 00h 25h Length
38 00h 26h Type
39 00h 27h Cutoff
40 00h 28h Resonance
Useful for me ?April 10, 2012 at 6:07 pm #4208Two things:
1) witch version of Ctrlr are u using ?
2) can you attach the manual or send a link to the MIDI specs ?April 10, 2012 at 7:17 pm #4209I’ve a 934 rev on windows
My rackattack is 1.0.5
But the cc’s in the midi specs don’t work (i’ve tried all)
instead rackattack send sysexThank you very much again for your support
I feel i’m not so far of the solution !Here is the specs.
April 10, 2012 at 7:42 pm #4210This looks extremly complicated (it always is with waldorf). I tried the JRackAttack and hooked it via midiYoke to MIDI-OX and cought some of the sysex output, it’s weird for the OSC1 pitch wheel the sysex looks like this values 0, 32, 64, 127
[code:1jpuib5c]
SYSX: F0 3E 11 00 20 20 00 00 02 00 42 F7 F0 F7
SYSX: F0 3E 11 00 20 20 00 00 02 20 62 F7 F0 F7
SYSX: F0 3E 11 00 20 20 00 00 02 40 02 F7 F0 F7
SYSX: F0 3E 11 00 20 20 00 00 02 7F 41 F7 F0 F7
[/code:1jpuib5c]
as you can see the byte 10 has the value of the parameter, but also byte 11 changes (i’m guessing it’s the checksum)sometimes while chaning one parameter the JRackAttack sends a sequence of messages that i don’t know what are for (would have to go into detail in the manual)
[code:1jpuib5c]
SYSX: F0 3E 11 00 20 20 00 00 02 74 36 F7 F0 F7
SYSX: F0 3E 11 00 20 20 00 00 02 73 35 F7 F0 F7
— weird stuff start
SYSX: F0 3E 11 00 20 20 00 00 1C 00 5C F7 F0 F7
SYSX: F0 3E 11 00 20 20 00 00 1D 00 5D F7 F0 F7
SYSX: F0 3E 11 00 20 20 00 00 1A 00 5A F7 F0 F7
SYSX: F0 3E 11 00 20 20 00 00 1B 00 5B F7 F0 F7
— weird stuff end
SYSX: F0 3E 11 00 20 20 00 00 02 74 36 F7 F0 F7
SYSX: F0 3E 11 00 20 20 00 00 02 73 35 F7 F0 F7
[/code:1jpuib5c]From what i read in the manual the realtime control of the rackAttack is complicated at best and impossible at worse
[code:1jpuib5c]
Notes• Access of parameters directly in memory is not implemented. Transfers from and to memory have
to go through either the assembly or the edit buffer. Exceptions are Global Parameters, where no
corresponding memory type exists. Global Parameters are scanned continously for changes by the
rackAttack and are automatically saved. To ensure that changes to Global Parameters are properly
saved, always switch off the rackAttack with the Power button on the machine.
• Full remote control of the rackAttack is currently not possible. The missing functions will very
likely be implemented through the MOD functions. Remote Control messages in the style of the
MW/MW2/MWXT may never show up.
[/code:1jpuib5c]so i really don’t know how to even approach the subject. Is the checksum algorithm described anywhere? i could implement it as part of the sysex formula but i’d have to know how they do that.
From a quick test the JRackAttack ignores the checksum (that can be true for the actual device but might not be), so creating a simple slider in Ctrlr, assigning all the MIDI Devices, setting the modulator to SysEx and giving it the formula
[code:1jpuib5c]
F0 3E 11 00 20 20 00 00 02 xx 42 F7 F0 F7
[/code:1jpuib5c]
changes the values of the OSC1 Pitch in realtime in the JRackAttack if using MidiYoke loopback driver. So that gives a bit hope, but you have to experiment more to get some results.That’s as much as i can help you i don’t have the actual device so i can’t really do a lot (i always wanted that unit i only got the VST versions of the PPG and the Attack when Waldorf was selling them very cheap)
April 12, 2012 at 4:09 pm #4211Well well well….
I’ve sent a message to Waldorf ,they reply quickly but just sent the same document i’ve .They not reply about the mysterious byte.
My theory is rackattack 4 knob controllers works like a mackie control ( 8 knobs functions depend of where i’m in the matrix: channel page,plugin,aux…).
So it have a LFO1 SPEED with 1 spec not 24
Idx PAH PAL Name
75 00h 4Bh LFO1 SPEED
However rackattack sends specific sysex for each LFO1 SPEEDI think 4Bh (PAL) is byte 9 : LFO1 SPEED sound 1 [f0 3e 11 00 20 20 00 00[b:18x6ki32] 4b[/b:18x6ki32][i:18x6ki32] 4f 5a [/i:18x6ki32]f7]
Where is the 00h ( PAH ) ?
And the IDX number ? May be the mysterious byte ?
Really sad the persons who make Jrackattack has not developed with Ctrlr
Ctrlr is really a nice tool.
I will try cc’s works again one time and continue to understand
I will try your formula too.Thank you Atom i give a feedback if i find something better
PS rackattack is a powerful drum machine it sounds better than the vsti (low,low med bands)
a bomb for techno or some electronic music even in 2012 imo
The polyphonic synths got to be explored because it is interestingThe strange data you have seen sometime is may be the commands beetween assembly buffer and edit
buffer ?April 12, 2012 at 7:15 pm #4212Ok
I’ve made things like you done with your formula i’ve tried the formula too
Nothing works
The only thing wich works good in ctrlr is a modulator with program change
The cc’s implementaion still not working in the rackattack…
I’ve seen attentively the wave xt panel also…
Multi-message can help me to type each hex datas of a param ?A feature request like a learning mode is unsense or impossible ?
Best reards
April 12, 2012 at 8:12 pm #4213Learn how, i’d have to implement some kind of AI to learn all the quirks people from all over implemented in their MIDI devices. If JRackAttack works then Ctrlr will work too it’s a matter of the checksum i think, i’d need a algorithm how the checksum is counted and i’m sure we could get this running. Ask around or have a look at the docs if there is any math formula for the checksum throw me a line i’ll add that to the SysEx formula editor.
April 12, 2012 at 11:36 pm #4214You could try 0x7f as checksum – most Waldorf synths will always accept the SysEx message in this case.
Best Regards, Thorsten.
April 13, 2012 at 3:08 pm #4215Finnally cc’s work : it’s my fault
But rackattack sends only sysex,tempo and notes from its patterns not cc’s .All manip i make with rackatttack unit is sent by sysex.So with cc’s to have a perfect recall in my vsthost in must include value points of each parameters at the begining of patterns.Thank you TK !
How i put this ? in the sysex formula ? Must i write someting for Ctrlr ?here F0 3E 11 00 20 20 00 00 02 [b:32ifchy2]0x 7f[/b:32ifchy2] F7 F0 F7 ?
Sorry i’m noob
April 13, 2012 at 3:47 pm #4216"zeoka":y6mg7lvc wrote:Finnally cc’s work : it’s my fault
How i put this ? in the sysex formula ? Must i write someting for Ctrlr ?
[/quote:y6mg7lvc]In a previous posting you wrote that following SysEx command changes the volume of Sound 1
[f0 3e 11 00 20 20 00 00 35 5a 4f f7]In order to control it from a slider with a dummy checksum, please try:
F0 3E 11 00 20 20 00 00 35 xx 7F F7Ctrlr will replace xx by the slider value, and the next byte (7F) is the "dummy" checksum, which will hopefully be ignored by RackAttack.
Best Regards, Thorsten.
P.S.: 0x7f is the C-style format for a hexadecimal value, but in the Ctrlr GUI you enter the value without preceding "0x"
April 13, 2012 at 7:56 pm #4217Not working !
I’ve found complete ressources including midi but i can’t upload web pages here.
Download jrackattack-doc-0.9.3 and in : doc/api/jrackattack/midi/common definition
It talks about true_cheksum
It’s this?
It is very hard for me but i explore……Thank you
April 13, 2012 at 8:39 pm #4218That’s the JavaDocs it tells me nothing but perhaps the source i found can tell me something (its in JAVA :puke:):
[code:4e5tbh8m]
public MidiMessage createMessage(boolean buffer) {
byte[] bytes=null;
bytes=new byte[118];
bytes[0]=(byte)SysexMessage.SYSTEM_EXCLUSIVE; // SysEx (SOX)
bytes[1]=0x3e; // Waldorf (IDW)
bytes[2]=0x11; // RackAttack (IDM)
bytes[3]=0x00; // Default ID (IDD)
byte cksum=0;
bytes[4]=RackAttack.SOUND_DUMP; //CMD (SNDD)
cksum+=bytes[4];
if (buffer) {
bytes[5]=RackAttack.EDIT_BUFFER;
} else {
bytes[5]=RackAttack.ASSEMBLY_BUFFER;
}
cksum+=bytes[5];
bytes[6]=(byte)(getSoundNumber() & 0xFF); // SNDN
cksum+=bytes[6];
for (int i=7; i<109; i++) {
bytes[i]=getByte(i);
cksum+=bytes[i];
}
bytes[116]=(byte)(cksum & 0x7F); //CKSUM
bytes[117]=(byte)0xF7; //EOX
SysexMessage sms=new SysexMessage();
try {
sms.setMessage(bytes, bytes.length);
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
return sms;
}
[/code:4e5tbh8m]Looks like the checksum is the sum of bytes[4] up to the checksum and only 7 bits from the cksum are sent, i’ll try and reverse engineer this into C++, if anyone is seeing something different here let me know i hate and don’t know JAVA.
April 13, 2012 at 10:11 pm #4219It’s weird, i added the checksum no problem, but the message is
[code:2llm6bpc]
SYSX: F0 3E 11 00 20 20 00 00 02 74 36 F7 F0 F7
[/code:2llm6bpc]
but it never should be like that since SysEx ends with F7
[code:2llm6bpc]
SYSX: F0 3E 11 00 20 20 00 00 02 74 36 F7
[/code:2llm6bpc]
this is how it should look like now either i’ll need to re-code Ctrlr to accept invalid MIDI messages or i’m missing something.Could you catch some of the sysex data that’s coming from the RackAttack in MIDI-OX or Ctrlr and paste it here for example the OSC1 pitch.
April 13, 2012 at 10:36 pm #4220Here is all the datas for osc1 pitch sound 1 and cutoff sound 1.
April 13, 2012 at 10:40 pm #4221I thought so ” title=”Smile” /> the guy who wrote JRackAttack made a mistake the F0 F7 at the end is a bug, probably added by some JAVA classes, anyway that should be discarded, with the new nightly there will be a special SysEx token for the Waldorf checksums, once it’s done i’ll write it here and tell you how a formula should look like, just have some patience.
April 14, 2012 at 12:29 am #4222Your assumption on the checksum calculation is correct – it’s just the sum of a certain byte range limited to 7bit, and in distance to common synths the checksum is not inverted!
This is what the Waldorf documentation (posted by Zeoka in the 6th posting) is saying about this topic:
1.3.6 Checksum
MIDI isn’t a very reliable transport medium. Therefore longer sysex messages are protected by a check- sum, which is the sum of all sysex bytes from CMD to the end of MSG truncated to 7 bits (modulo 127 — [b:1ovibys8][TK:CORRECTION] very likely modulo 128![/b:1ovibys8] — ). If the sum calculated from the received bytes and the transmitted checksum differ, something has gone wrong. When the checksum is evaluated, a wrong checksum will cause the complete message to be ignored.Notes
• A checksum of 7Fh is always accepted as valid. This can be used if data is altered manually or produced by MIDI control surfaces with limited capabilities. This option should not be employed by editor programs to skip the checksum calculation.
The interesting point: it seems to be a bug in the RackAttack firmware that the 0x7f checksum isn’t ignored.
Or it’s a handling error by Zeoka. However, the Waldorf specific checksum calculation could be easily added to Ctrlr, and the specification recommends this for editors anyhow! ” title=”Wink” />Once I find the time I will try the dummy checksum handling on my MicroQ and Blofeld, just to doublecheck if the documentation is true for these synths… I must say, that I would like to check this with a RackAttack as well – at least in three or four jam sessions (having some fun with the percussion sounds ” title=”Wink” />)
Best Regards, Thorsten.
-
AuthorPosts
- The forum ‘Using Ctrlr’ is closed to new topics and replies.