The Official Sequential/Oberheim Forum

SEQUENTIAL/DSI => Take 5 => Topic started by: Zonbizoku on April 08, 2023, 03:13:31 AM

Title: TIP: Imported Bank Assignment Workaround (Choose the bank to import to)
Post by: Zonbizoku on April 08, 2023, 03:13:31 AM
As specified in the TAKE5 manual, when importing a bank of patches into the TAKE5 as Sysex "Programs will load back into the same bank and program locations from which they were originally exported."

i.e. If you (or a vendor that sold you a bank of patches) created and exported that bank of patches from User Bank 01 on the TAKE5, that bank assignment is saved into the Sysex file.
This means that as default when importing that saved bank of patches back into any TAKE5 unit, they will automatically import to User Bank 01.
You can not choose which bank on your unit to import them.

There is a workaround for this as long as you don't mind getting your hand dirty with a little code editing.

You will need a hexadecimal code editor (Hex Editor).
I recommend 'Hex Fiend' to Mac users. http://hexfiend.com/
Windows and Linux users should be able to find a free Hex Editor easily enough with a quick google.



Here's a handy list of the Hexidecimal strings to replace for each of the USER Banks.

F0 01 35 02 00 = Bank 1
F0 01 35 02 01 = Bank 2
F0 01 35 02 02 = Bank 3
F0 01 35 02 03 = Bank 4
F0 01 35 02 04 = Bank 5
F0 01 35 02 05 = Bank 6
F0 01 35 02 06 = Bank 7
F0 01 35 02 07 = Bank 8

And if you have updated to TAKE5 Firmware 2.0 and above you will also have the extra 8 banks:

F0 01 35 02 08 = Bank 9
F0 01 35 02 09 = Bank A
F0 01 35 02 10 = Bank B
F0 01 35 02 11 = Bank C
F0 01 35 02 12 = Bank D
F0 01 35 02 13 = Bank E
F0 01 35 02 14 = Bank F
F0 01 35 02 15 = Bank G

*Note that a Sysex file can contain multiple banks.
If you want to import a Sysex file that contains more than one bank, you would need to complete the 'find and replace' procedure within the file for each bank.
Say you downloaded a single Sysex file called '6 Great Banks for the TAKE5', we can assume it contains 6 banks of possibly 16 sounds per bank.
If the first 10 characters of the file are F0 01 35 02 00 (User Bank 1), we might then assume that the banks will be imported into the TAKE5 to User Banks 1-6 (F0 01 35 02 00 - F0 01 35 02 05).
There would likely be 16 blocks of code beginning with F0 01 35 02 00, 16 blocks beginning with F0 01 35 02 01, and so on.
If we wanted to change which bank each of these was imported to, we would need to find and replace all instances of all 6 strings that we want to change within the same file.


**The above may be possible, without editing code, from inside the Soundtower editor and librarian, but I refuse to pay $69 for a librarian when every other synth company provides editors free of charge to their customers.
Title: Re: TIP: Imported Bank Assignment Workaround (Choose the bank to import to)
Post by: gbd on April 10, 2023, 12:35:39 PM
I've written up something similar on my blog:
https://www.horizonridge.studio/blog/edit-midi-sysex-data-with-hex-fiend

This is not something I do regularly as I find it easier to just save any patches to a new slot manually on the synth itself.
Title: Re: TIP: Imported Bank Assignment Workaround (Choose the bank to import to)
Post by: Real Soon on April 10, 2023, 11:05:47 PM
Makes sense!

I discovered this while doing some test runs with MIDI-OX to make sure I could restore my gig-ready custom patch bank: the bank data was stored in the .syx file and could not be overridden by anything on the keyboard. That being what it is, I'd call it a double-edged sword: if you know where you want to swing it, it cuts your problems out for you. I've decided I like it, as I'm already going to dump new sysex files with date/time stamps to my heart's content, so any copies of patches to new slots will be part of that process.

And I am very much not in the habit of buying sound banks, as tasty as some of them tend to be. Frankly, I'd rather fool off in the forest of modulation sources & destinations for hours.

The fact that it all exists as editable hex data, though, brings me peace of mind in a way, because ultimately that's a kind of universal language, and a simple-enough one that if one needs to make some changes for something important, it can be done.
Title: Re: TIP: Imported Bank Assignment Workaround (Choose the bank to import to)
Post by: Zonbizoku on April 11, 2023, 10:58:50 AM
I've written up something similar on my blog:

Nice one!
Slightly prettier than mine :)
PS can confirm still works with firmware 2.0.
You just have to take an extra second to mentally calculate which number pair relates to which letter based bank.
Title: Re: TIP: Imported Bank Assignment Workaround (Choose the bank to import to)
Post by: Zonbizoku on April 11, 2023, 11:07:59 AM
I am very much not in the habit of buying sound banks, as tasty as some of them tend to be. Frankly, I'd rather fool off in the forest of modulation sources & destinations for hours.

I here ya. I tend not to buy many.
Sometimes when I get a new synth I'll grab one just to back engineer any cool patches in them to help learn the synth though.

Quote
The fact that it all exists as editable hex data, though, brings me peace of mind in a way, because ultimately that's a kind of universal language, and a simple-enough one that if one needs to make some changes for something important, it can be done.

Yep
I'm a web developer by day, so I like if I can understand things on that level. (A code pattern I can understand and possibly bug check if I need to)
Title: Re: TIP: Imported Bank Assignment Workaround (Choose the bank to import to)
Post by: jazonbug on April 19, 2023, 08:33:37 AM
The new user banks don't apparently have the same number system. I can check them out but for instance Bank 13 (D) has 0C in the end of its "code". F0 01 35 02 12 is actually factory bank 3 (and you can write on those too!).

I downloaded Nick Semrads preset pack that was originally intended to banks 4-7. I edited them according to your instructions to banks 13-16 (D-G) but now they are on factory banks 3-6. I don't mind that at all but just so you know!
Title: Re: TIP: Imported Bank Assignment Workaround (Choose the bank to import to)
Post by: CyberGene on April 19, 2023, 09:08:11 AM
...
Here's a handy list of the Hexidecimal strings to replace for each of the USER Banks.

F0 01 35 02 00 = Bank 1
F0 01 35 02 01 = Bank 2
F0 01 35 02 02 = Bank 3
F0 01 35 02 03 = Bank 4
F0 01 35 02 04 = Bank 5
F0 01 35 02 05 = Bank 6
F0 01 35 02 06 = Bank 7
F0 01 35 02 07 = Bank 8

And if you have updated to TAKE5 Firmware 2.0 and above you will also have the extra 8 banks:

F0 01 35 02 08 = Bank 9
F0 01 35 02 09 = Bank A
F0 01 35 02 10 = Bank B
F0 01 35 02 11 = Bank C
F0 01 35 02 12 = Bank D
F0 01 35 02 13 = Bank E
F0 01 35 02 14 = Bank F
F0 01 35 02 15 = Bank G
...
You've messed it up a little. The proper numbers for the new extended user banks are:
F0 01 35 02 08 = Bank 9
F0 01 35 02 09 = Bank A
F0 01 35 02 0A = Bank B
F0 01 35 02 0B = Bank C
F0 01 35 02 0C = Bank D
F0 01 35 02 0D = Bank E
F0 01 35 02 0E = Bank F
F0 01 35 02 0F = Bank G

Basically the first byte determines user (0) or factory (1) locations. The second byte 0-F determines the bank number.