By doing that you say that the Midi channel will be set to according to the current value of Control with virtual parameter 2 (instead of one). If you take a look at my example preset, you will see that control in the right-top corner. If you just changed the sysex template and did not change the channel selection control, it will not work. I hope you catch my drift.
yes exactly. 8 channels.
Oh I see the channel selection control in the top right that you mentioned. wait so does that mean that one preset can control multiple channels by switching that control?
ok. Got it. I will make the adjustment to the TX7 preset. While looking at TX816 specs, I was thinking that loading eighth TX7 presets to Electra, each set to appropriate MIDI channel, would actually be quite a good solution too. It would actually give you completely independent control over all voice units.
yes, that would make an easy way to switch between individual TX816 voice units. But if you used 8 independent presets, each preset would also retain the info about current patch parameters. Maybe I am missing something you need/expect…
This setup (8x TX7 presets) sounds rather powerful. It actually made me to check TX816 prices
8 presets sounds fine to me as long as I can freely move between voice modules that would be great
@lobit please test WIP: Yamaha TX7 preset. It is a working version of the existing TX7 preset. This one, however, reflects settings of the device MIDI channel when composing outgoing parameter change SysEx messages.
The requesting and parsing patches still needs doing.
I think you should do following to get it working with your TX816:
- Load this preset to 8 preset slots in Electra
- Name the slots as Voice 1 … Voice 8
- Change the Midi Channel for each preset (voice) according to your TX816 settings
That should be about it. The MIDI channel can be changed by hitting the [Edit Device] button:
For anybody who is interested… This has been done by adding a Lua function to the SysEx template:
[
"43",
{
"type": "function",
"name": "getChannelByte"
},
"00",
"7C",
{
"type": "value",
"rules": [
{
"parameterNumber": 124,
"bitWidth": 7,
"byteBitPosition": 0
}
]
}
]
And adding the getChannelByte
Lua function to the Lua script extension of the preset:
-- returns a byte that TX7 uses to identify the MIDI channel
function getChannelByte(device)
return (0x10 + (device:getChannel() - 1))
end
The value calculated in the body of the function is specific to the DX7/TX7 SysEx format. But I hope you get the idea…
Hi @martin,
This trick would be great in my Access Virus TI preset. I would determine the channel by dedicated Part control. It would eliminate the need of extra routing software that it currently needs to acces all parts. Does it work both in Control SysEx and Patch Request SysEx?
Cheers,
Joris
I need to check If it is missing I will add to the Patch request/response and will make a new release. I really would like to finish the TX816. @lobit is waiting for it for a few months
@joris.roling, the Lua function can be part of SysEx patch request. It is not, however, implemented in the matching of response header bytes. I will add it there.
eg.
"devices":[
{
"id":1,
"name":"Yamaha DX7",
"port":1,
"channel":16,
"patch":[
{
"request":[
"43",
{
"type": "function",
"name": "getRequestByte"
},
"00"
],
"responses":[
{
"header":[
"43",
"00", // Will make it possible to call Lua function here
"00",
"01",
"1B"
],
"rules":[
awesome ! I will try later today and report back
Ok, the latest version of the preset is available at WIP: TX7 preset. It supports parameter changes, patch requests and patch dumps on channel set in the device configuration. @lobit, pls test it out an let me know if it works. Thanks!
In order to use, please upgrade to 2.1.3. I just made that version available at Downloads page.
Ok I loaded the latest preset with the firmware update and its working well which is a huge win. only thing I can’t figure out, is the patch request , I mean it works (yay) but:
Its only receiving the patch request to the module on channel one, so I can send data from any module (using output select on the front of the module) but that data always ends up on the channel 1 module only. If I am working with any of my other midi channeled presets other than channel 1 , no patch info is being received.
Is there perhaps a similiar thing I need to do to allow the presets to ‘see’ the incoming patch request info?
Good! Happy to hear that!
I tested the patch request/response by observing the data in the MidiMonitor. I could see that the message headers were compiled and parsed correctly.
Please, try this preset:
It has 8 pads, each of them sends a patch request on the MIDI channel indicated on the pad. Use MidiMonitor or MidiOx to observe if TX816 modules respond to it.
Ok will try that shortly
Okay so its sending the patch request from the electra (Im testing on channel 3 right now just for example)
then the module responds on its 2 digit display and sends this to midi monitor:
13:49:45.385 | From USB Uno MIDI Interface | SysEx | Yamaha 163 bytes | F0 43 00 00 01 1B 63 1A 1A 32 63 00 00 00 00 26 00 00 00 04 00 02 52 00 01 01 00 63 10 1A 32 63… | |
---|---|---|---|---|---|
13:49:45.625 | From USB Uno MIDI Interface | SysEx | Yamaha 163 bytes | F0 43 00 00 01 1B 63 1A 1A 32 63 00 00 00 00 26 00 00 00 04 00 02 52 00 01 01 00 63 10 1A 32 63… |
but when I plug the midi out back into the electra input it doesn’t translate into any update to the parameters.
Is it possible the patch data is also channelized somehow?
- to summarize it appears the TX can send data from any slot 1-8 but will only show up with updated parameters if I’m using my ‘channel 1’ preset *
ok, I got it. I went back to the documentation and this is actually correct behaviour. Even though the module is configured to be on channel 3, the dump is transmitted back on channel 1. Your Midi monitor output confirms that. I somehow assumed that it would respond on the same channel…
I adjusted the preset, pls test it out: TX7 preset - dump on channel 1.
ok so this preset no longer triggers the TX to send anything. tried a few channels to double check (its easy to tell because the modules say ‘CF’ when they spit out the patch data and its not doing that) midi monitor confirms it as well.
I am sorry, I forgot to include the Lua script in the new version of the preset. It should be ok now.
I think you got it! just tested quickly and saw the patch changes !