BCR2000 SYSEX programming TX81Z

15 posts / 0 new
Last post
teknosmoker
teknosmoker's picture
BCR2000 SYSEX programming TX81Z

Hi,

 

Firstly - Thanks for developing this software.  Am an old hardware synth nerd & appreciate the creation of tools that make for better use of my machines!  :)

 

I am trying to program my BCR2000 to control Yamaha's Tx81Z.  Believe I'm pretty close, but need some help please.  Here's the string I'm trying to program onto one of the BCR's encoders:

 

$F0 $43 $10 $12 $31 $DV $F7

...Unfotunately, BC Manager is rejecting my string with an error code of 10, for "Invalid Numerical Argument".  What am I doing wrong?

 

 

Thanks & best,

Alex

 

 

FYI - link to TX81Z Manual - SYSEX is on pg 67

Royce
Royce's picture

Hi ,

I think your problem is in the "$DV" as DV is not a hex number (that is what the "$" is all about)

The value of the encoder or button is represented by "val" or really "valx.y" where x is the lowest bit and y is the highest bit to be used of a 14 bit Midi value..

The standard Midi data byte is 0 to 127. That is is uses bit 0 to bit 6 - so this is represented by val0.6.

This is so common  that "val" is the same as val0.6.

Try $F0 $43 $10 $12 $31 val $F7

All the best

Royce

BillB
BillB's picture

Hi Alex, I just had a dig around in my archive of BCR presets and found one for the TX-81z.  It is uploaded here.

https://mountainutilities.eu/userfiles/b-control/599

in the Yamaha folder.  

I don’t know if it is a ‘good’ template or not, but the values might help you to realise your own project.  

Please share the result when you get to a suitable point.

thanks

Bill

BillB
BillB's picture

OK, just spotted that it is a Zero kB zipfile! Darned ipad! I will try again, but otherwise will upload from my PC shortly.

BillB
BillB's picture

Done.

Mark, please delete the zipfile with the zero KB size (yamahatx81z.zip).  The correct one is yamaha-tx81z.zip.

Mark van den Berg
Mark van den Berg's picture

Done!

teknosmoker
teknosmoker's picture

Royce & Bill,

 

Thanks much for the responses.  Hope you are keeping well.

- Apologies for the basic nature of some of my questions - been using synths/MIDI for decades, but this is my first foray into SYSEX.

 

 

@Royce - Yes, I suspected that the DV value may have been the culprit.  Will try your suggested value instead.

 

 

@BillB - Thanks much for locating the TX81Z preset.  I’ll give it a shot & see if it’s possible to use its data.

 

 

Will report back here & share progress.

 

 

Best,

Alex

teknosmoker
teknosmoker's picture

OK - I loaded the TX81Z presets/template from your archive into 2 empty slots on my BCR successfully.

Unfortunately, the TX81Z just doesn't respond to any data that is sent from that preset/template (or anything else that's come from the BCR). 

Just to be sure - I verified MIDI connectivity of the BCR, by trying a different preset created for a different synth (Studio Electronics ATC-Xi) - worked fine, with no problems.   

- Also - to test what was kind of data was being sent from the BCR, I recorded MIDI output from BCR into Logic Pro X (after turning off Logic's SysEx filtering), opened the result in Logic's Event List and verified that it had indeed received Yamaha SYSEX. 

- The MIDI status indicator on my TX81Z does NOT flash when it's recieving SySex knob transmission from the BCR.  Tried a direct/inline MIDI connection (tried standalone modes S1 and S3), wheras MIDI sequencer data was sent directly to the BCR, which was directly connected to the TX81Z.

- TX81Z works fine with software SysEx editors (Patch Base, by CoffeeShopped) and can receive SYSEX banks successfully (from SysEx Librarian).

If it's of any help, here's the Custom Output string for the an enoder from Group #1 (supposed to be for Freq. Coarse)

$FO $43 $1A $12 $32 val $F7

 

I'm stumped!  Any thoughts or suggestions are appreciated.

 

 

BillB
BillB's picture

Quite a few synths need to be explicitly set to receive Sysex, and also many don't remember the setting when turned off.  I Googled "TX-81z sysex setting" and found this on the excellnet patchbase (iPad editor) webite https://coffeeshopped.com/patch-base/help/synth/yamaha/tx81z

The MIDI Channel part may not be relevant, but the Sysex part most likely is.

Setup

Make sure that “MIDI Channel” under the “Global” tab in Patch Base matches the MIDI Receive Channel on your TX81Z. To check the MIDI Receive Channel on the TX81Z, press Utility, then use the Parameter buttons to navigate to “Midi Control?” and press “Yes/On” and the screen should read “Basic Rcv.Ch=”. Use the Data Entry buttons to change the Receive channel on the TX81Z.

Also, make sure that the TX81Z is set to allow System Exclusive (sysex) data, so that Patch Base can send messages to it. To set Exclusive to On:

    Press "Play/Perform" if needed to put the TX81Z in Play mode
    Press "Utility" then use the arrow buttons until you see "Midi Control?"
    Press "Yes"
    Press the arrow buttons until you see "Exclusive?" It should be set to "on". If it isn't, press "Yes" to change it.

 

BillB
BillB's picture

Ah, just spotted that you already have sysex transfer with the TX.  Can you spot any obvious difference in a message from Patchbase and one from the BCR?

teknosmoker
teknosmoker's picture

Thanks Bill - Great suggestion!  I compared the output of Patch Base with that of which the BCR was sending and resolved the issue.

 

Thanks also to @Royce for suggestion the addition of a "val".  That and a checksum of "cks-1 6" gave the TX81Z what it wanted to hear!  :-)

 

Here's the string that finally worked, for setting the Coarse Freq for Operator 1:

 

$F0 $43 $10 $12 $32 val cks-1 6 $F7

 

 

 

Not sure why the template did not work, but I will upload mine, once finished mapping all the sysex editable parameters.

 

Have a great evening gentlemen!  :)

teknosmoker
teknosmoker's picture

Just sent a little donation - thanks again.  I'll be back soon!

 

 

BillB
BillB's picture

Alex, that's really good news - well done.  The successful string was quite different to the one from the template, and obviously included a checksum.  No wonder the TX-81z wasn't listening!

We look forward to your template once complete - looks like the other one should then be removed. 

I have a V50, which is a very similar structure to the TX-81z, so it might be useful for me to adapt your template in due course.

Thanks

Bill

teknosmoker
teknosmoker's picture

Bill,

 

Appreciated.  “Reverse-engineering” the data from Patch Base’s editor, by recording it’s MIDI stream into a DAW, then converting it to hex is making this process much easier.

 

It’s kind fun, figuring out “what the synth wants to hear”. :) 

 

I should be able to finish the template within the week and will share it.  Have a great week!

 

 

Thanks again,

Alex

BillB
BillB's picture

Alex, sounds like you could streamline that process just a little. Rather than recording into a DAW (you mentioned Logic previously) and converting to HEX, there are apps to read the sysex directly. On the PC I use Bome SendSX, on the Mac you might find something here https://www.snoize.com/

Snoize is always quoted as the Mac equivalent to PC ‘MIDI Ox’ for sending sysex messages. You might find that ‘MIDI monitor’ on that site makes your life easier. I don’t know it and can’t try it, but worth a look.

I am doing a similar exercise with my KingKorg. Some of the more interesting parameters are only available by Sysex, not CC, so I am using an old iPad app (running on an old iPad) called PatchMorpher, and recording the Sysex strings into Bome Send SX. Then copying them into a spreadsheet so they are clearly listed.  The KK sysex is documented, but it Is much easier to read the strings from a successfully configured editor than to patch together the three or four parts of a table needed to obtain the complete string. In this case I will be applying them to Novation Remote MIDI controller, because that physically fits on top of the KK keyboard, but the principle is the same.  

Hope that is some help.