Putting Kawai K5000 Patches in Their Place
It's not every day you get a bank of fresh patches for the Kawai K5000S. This powerhouse synth from the late 1990s has remained a firm favorite of synthesists who want a powerful machine that can create sounds from first principles using additive synthesis.
The K5000 has a reputation of being difficult to program, but it can reward your efforts with lush pads and soundscapes. Sound designers like Nick Klimenko know this, and his "Kawai K5000S/K5000R – 30 Space Pads" collection is now available from LFO Store, and here is a demonstration video of the patches:
However, when I started to transfer the patches to my Kawai K5000S using the excellent SysEx Librarian by Snoize, I had some trouble finding them, and some of them did not make it to the synth. This problem was also observed by others who had bought the bank, and some reported in the Kawai K5000 Facebook group.
Since I am pretty familiar with the K5000 System Exclusive format because I developed KSynthLib and k5ktool, I knew that the single patches had to have their destination location hard-coded in the System Exclusive header. And sure enough, I soon found out that the locations were kind of all over the place: some went to the A bank, and some to the D bank, into various locations far apart. Half of the patches actually tried to go to the E bank, but that can only work if you have the ME-1 memory expansion board installed, and I don't.
After thinking about this a bit, I decided to create patches for the System Exclusive files--so, patches for the patches, if you will. This would allow you to--yes, patch your patches so that they would go to locations that were easy to find and made sense.
I decided that the D bank would be a suitable place for a set of patches like this, and I definitely wanted to have all of them in consecutive locations in the D bank. That way they would appear as patches D001 to D030.
Of course, since the System Exclusive files are binary, making and applying patches for them is not as easy as for text files. There is a handy open-source utility called Xdelta, which macOS users like me can install using Homebrew:
brew install xdelta
When the installation is finished, you can run the utility with xdelta3
.
Modifying the original patches
I edited each of the 30 original System Exclusive files to point to consecutive locations in the D bank of the K5000.
Single patch dumps start with the following hexadecimal byte sequence:
F0 40 00 20 00 0A 00
The following two bytes after that are the bank identifier and "tone number", respectively. The bank byte values
are: 00 = A, 01 = B, 02 = D, 03 = E, 04 = F. The tone numbers are zero-based and range from 0x00 to 0x7F,
meaning locations 001 ... 128 within the bank.
So the bytes 02 0E
would indicate D015, while 00 0D
would be A014.
First, I made copies of all the 30 original System Exclusive files by Nick and named them 01.syx, 02.syx and
so on, up to 30. Then I used the
Hex Fiend
utility to edit the copies to have a bank byte of 02
and a tone number from 00
to
1D
.
Creating the deltas
Using Xdelta, I created delta files of the differences between Nick's original files and my modified copies, with a shell script containing commands like this:
xdelta3 -e -s "1.Sunset NK.syx" 01.syx 01.delta
This command will create a record of the differences between the original file 1.Sunset NK.syx
and the edited copy 01.syx
, and write it to the file 01.delta
. Note that this
command is for reference only, and you don't need to issue it. See the next section for applying the deltas
supplied to you.
Applying the deltas to the original patches
If you have bought the "30 Space Pads" set from LFO Store, you should have all the original 30 System Exclusive files. Download the file KawaiK5000S-30SpacePads-Deltas.zip. It contains all the 30 delta files and an accompanying shell script file that uses the Xdelta utility.
Unzip this file in the same directory with the original files. Then run the shell script in Terminal with:
bash apply.sh
You should then have a new set of System Exclusive files, with slightly different names. These names are normalized so that they include a two-digit patch number and a name that corresponds to the actual name of the patch as shown on the K5000.
Here is a list of System Exclusive files you should end up with:
01-SunsetNK.syx 02-SpicedNK.syx 03-OnMoonNK.syx 04-LinearNK.syx 05-MarsNK.syx 06-BluredNK.syx 07-HealerNK.syx 08-NikoBras.syx 09-NikVoxy.syx 10-BladeRunn.syx 11-Galactic.syx 12-Mountain.syx 13-X-Files.syx 14-Dronezzz.syx 15-Moover.syx 16-MoonPad.syx 17-GreatOrb.syx 18-GlassPad.syx 19-Belmaker.syx 20-Cluster.syx 21-SphinxPd.syx 22-MarsMoby.syx 23-Sirius.syx 24-TranzPad.syx 25-Must2020.syx 26-Seaworld.syx 27-Ob08Pad.syx 28-Wavestat.syx 29-HUMANAIC.syx 30-SlowStr.syx
Note that the ZIP file does not contain the original patch files from Nick. You need to buy them.
Transferring the patches
Use SysEx Librarian or similar to send the newly created .syx
files over to the K5000S.
When you select the D bank (by pressing the SINGLE button) you should see this:
Troubleshooting
The procedure above requires some skill with the macOS Terminal. I did this primarily for my own use, and I am documenting it as a courtesy to Nick. I can't promise any technical support. Proceed at your own risk, Back up your purchase, make work copies, understand the instructions and follow them, and you'll be fine. Happy patching!