Kawai K1 VSTi: I dumped all 200 PHm presets – free download

As you might know, I was always interested to have the presets of the Kawai Phm Pop Synth Module. The PHm uses the same synthesis engine as the K1, the only exception is that the 200 presets cannot be edited. Not even via SysEX, as the PHm neither sends nor recognizes SysEX at all.

The PHm has some presets that never appeared on ROM cards for the K1. Due to a thread on KVR, I asked myself if there is a chance to extract the PHm presets from the device.

I have the device so I opened it and looked for chips that are ROMs. I have not been able to find any chip, so I wondered where the presets are stored. I guessed that they might be part of the Firmware EPROM.

I searched in the net and found the data sheet. This not only gave me the pin layout, but it also revealed something interesting: The EPROM of the PHm is 64kb, while the K1 EPROM is only 32k. This raised chances that it contains the presets.

PIN out of the PHm Firmware EPROM

Dumping the ROM was pretty straightforward, as I did this already for the Wave ROM. The only thing I needed to change is to change the wiring and the code a bit, as the firmware only has 16 address lines.

PHm Firmware EPROM sitting on an Arduino Mega

I dumped the rom and converted it to binary and started to look for the presets. Searching for presets by name didn’t lead to any result so instead, I searched for usual patterns that I already know because of the K1 Single format.

Given that 200 presets need about 20k of space, I quickly found them and began to compare the content against some presets that I know exist on the K1, too (on ROM cards).

Below is a picture. the upper part is the PHm firmware, the lower part is the SysEX of the K1 preset „ID-4 Hold a key“ from ROM card J1-02.

K1 ROM Card J1-02 preset „ID-4 Hold a key“ compared to content of the PHm firmware

After some analysis, the differences are very minor. Compared to a K1 Single preset, the differences are:

  • No sysex header (F0h, …, 8 bytes)
  • No name (10 bytes)
  • Compared to the K1, they slightly adjusted the presets volumes (byte 11)
  • Byte at position 22 is missing in a PHm preset => A bit surprising to me, but apparently Source Mute is not supported by the PHm module
  • No sysex terminator (F7h, one byte)

After I figured out the format, I wrote a small conversion tool that converts all 200 PHm presets to K1 presets. Feel free to download them here! The Zip contains each preset individually and one .syx that contains all 200. The K1v can load it directly.


A small request: If anyone has got a Kawai PH50 firmware, can someone send me a dump? I’d love to extract the Ph50 presets, too!

Note: The PH50 presets are not identical to the PHm, although frequently stated on some websites. Just look at pictures of the device, the preset list is printed on it and it is different from the PHm list.

Universal Manager updated after 15 years

I still get requests related to my Universal Manager sometimes. Its a program I created 18 years ago, the latest update now being 15 years old. It was a litte tool that was able to talk to MIDI hardware to exchange & organize presets.

Recently, a mail arrived regarding Windows 10 compatibility issues / crashes.

I completely forgot about that litte, but very helpful program. Due to the fact that I work on a K1 emulation VSTi and I have to test a lot on a real K1 to do this, this program came in very handy.

So i converted that old project to a recent version of my development environment, cleaned up the code, even found some issues that I was able to fix and added some improvements. And of course, I added support for the Kawai K1.

Feel free to grab the latest version here. Changes:

  • Upgraded development environment to fix Windows 10 compatibility issues
  • Fixed memory corruption issue when parsing MIDI messages
  • Open File dialog now remembers the last used extension and preselects it (either .syx or .mid)
  • You can now load multiple files in Open File dialog by using multi selection
  • Added ability to specify a checksum starting value for checksum calculation the idf file (see html manual)
  • Added support for Kawai K1 Single to instrument definition

High Performance / Low Latency Audio on Android

My thoughts on the current state of low latency audio on Android can be found on the site of my app Heat Synthesizer:


Car Radio: Android Head Unit review – Foryou Adayo AN6B01 / Nakamichi NMMC-1300 / OttoNavi K1 / Rydeen DV621 / HiTV iDroid 8000

Because I didn’t find much information about this unit on the net, I’m writing this review so others can have a look before buying.

Android Head Unit Picture

How I came to this head unit

Because I was bored by my Zenec ZE-NC3811D head unit for quite some time now, I wanted something with more features and a smoother interface and without all those tiny annoyances that the Zenec brought to me.

„Car Radio: Android Head Unit review — Foryou Adayo AN6B01 / Nakamichi NMMC-1300 / OttoNavi K1 / Rydeen DV621 / HiTV iDroid 8000“ weiterlesen