Nils‘ K1v – Kawai K1 Emulation Plugin VSTi/AU

Nils‘ K1v – Source Edit Mode
Some of the presets
Demo Song using only the K1v for a whole music track, thanks a lot to MOSS!

Nils‘ K1v is a rompler that emulates a Kawai K1, a famous japanese classic from 1988.


  • Very accurate emulation of all parameters
  • Includes 968 Single presets and 384 Multi presets, the original factory bank + all ROM cards + all 200 Kawai PHm Pop Synth Module Singles. Organized in banks and with search capability
  • Full editing support for both Singles and Multis
  • Can import & export SysEx presets & banks from/to the original device
  • Transmits & receives parameter changes via SysEx to act as an editor for the hardware or to be edited with external editors
  • Resizeable user interface
  • Full automation support
  • All 1352 presets can be edited and are stored as part of a project
  • Available for
    • Windows as VST2.4 & VST3 – 32 & 64-bit
    • Linux VST2.4 & VST3 – .rpm & .deb – 32 & 64 bit
    • Mac OS 64 Bit VST2.4, VST3 and AudioUnit AU (OS X 10.9 Mavericks and later)

Furthermore, the plugin features a fully fledged MIDI implementation:

  • Understands SysEx messages like the original hardware which allows to update & edit presets while running and even sends responses to the following SysEx requests: One block data request, All block data request & Device ID request
  • Program Changes are supported including Bank Select.
  • Hold Pedal, Volume, Pan, Velocity, Aftertouch, Modulation Wheel & Pitch Bend
  • Documentation: Nils‘ K1v MIDI Implementation

Synthesizer Engine:

  • 8-bit synthesis engine
  • Four sources per voice
    • 256 waveforms, 204 additive waveforms with 128 harmonics + 52 PCM wave forms
    • DADSR envelope
    • 8 velocity curves
    • Coarse & Fine tune, adjustable key tracking, lots of modulation options
  • AM (Ring Modulation) between Source 1&2 and 3&4
  • Autobend
  • 5 Key Scaling Curves
  • One LFO with triangle, square, saw & random shape support
  • Joystick for real-time control

The download of the plugin is free! But feel free to donate if you find this plugin useful:

Download Options

Windows VST (zip with 32 bit & 64 bit dlls)
Linux VST Debian package (.deb) – 32 bit (i686)64 bit (x86_64)
Linux VST RedHat package (.rpm) – 32 bit (i686)64 bit (x86_64)
Mac OS X 64 Bit (OS X 10.9 Mavericks or later) VST2VST3AudioUnit AU


Nils‘ K1v – MIDI Implementation

Product Listing at KVR

If you’re interested to know how I made it, be sure to visit my K1 specific development blog! Emulating a Kawai K1

Change Log

v1.26 (2022.09.29)

  • [Fix] Limit maximum voice count to 32 voices per Multi section / Single to prevent very high CPU usage for sounds with a very large release time
  • [Fix] Hold Pedal behavior was incorrect, voices were stopped for notes that were still held while hold pedal is released
  • [Accuracy] Fix incorrect Autobend & Vibrato behavior when compared to the hardware. On the hardware, they are not independent per voice, instead, the first voice defines the modulation for all subsequent voices / notes

v1.25 (2022.06.19)

  • [Fix] VST3 x64 version did not store/restore plugin state
  • [Fix] If global receive channel was omni and a Multi was selected, all multi channels received notes on channel 1 instead of the ones selected in the multi parts

v1.24 (2021.07.28)

  • [Imp] The settings menu now allows you to toggle between Stereo output and 8-Channel output. This should resolve issues that some users experienced after the latest Ableton update
  • [Fix] VST3 version of plugin was not detected/rejected on Mac OS
  • [Fix] Be more tolerant when receiving patches via SysEx (MidiQuest might generate invalid SysEx packets that we can work around and still load)
  • [Fix] Reduce required amount of dependencies for Linux variants

v1.23 (2021.03.29)

  • [Imp] Nils‘ K1v is now available as a VST3 plugin. The VST3 version supports multi-channel output.
  • [Imp] Nils‘ K1v now comes with native support for Apples new ARM-based M1 SoC
  • [Fix] Dropped Midi events in rare cases were still an issue
  • [Fix] Fixed automation was not possible for some parameters because of parameter label conflict (reported for Max/MSP)

v1.19 (2021.01.28)

  • [Fix] Dropped midi events caused notes to be hanging or not played at all in some hosts
  • [Fix] Neither SysEx send nor receive worked in Mac AU version
  • [Fix] UI did not update if single parameter was changed via MIDI SysEx
  • [Fix] Pitch Bend changes were processed even if turned off in global settings

v1.18 (2020.10.28)

  • [Imp] Implemented program change mode „Section“ which switches the Single of a Multi Section while in Multi mode
  • [Imp] Added a context menu to the preset list to copy/paste presets and send a preset to a K1 via MIDI
  • [Imp] Added Bank Select MSB to fix not being able to select all PHm presets by Bank Select + Program Change
  • [Imp] Added ability to control Joystick via Midi control numbers General Purpose 1 and 2
  • [Imp] K1v MIDI documentation is now available: K1v MIDI Implementation

v1.17 (2020.10.20)

  • [Fix] Crash if auPlugin is destroyed before editor window that belongs to plugin (hello HostingAU)
  • [Fix] Crash in 64 bit plugin versions when restoring plugin state from DAW

v1.16 (2020.10.19)

  • [Fix] Keyboard shortcuts didn’t work in Mac AU and Mac & Linux VSTi versions.
  • [Fix] Wrong sysex response to „One Block Data Request“ if requested preset was a Multi.
  • [Fix] Selecting a Multi via MIDI program change was off by one.
  • [Fix] Possible crash if parameters are edited in UI and via MIDI at the same time.
  • [Fix] Do not leave System page when switching between Single and Multi while System page is opened.
  • [Accuracy] Improved MIDI sysex compatibility to make K1v work with old Atari ST K1 editors that use undocumented „features“.
  • [Imp] Knobs can now be reset to default by double-clicking on them.
  • [Imp] Knobs now properly increment/decrement in single steps when being operated via mouse wheel.
  • [Imp] Implemented response to „All block data request“ sysex message.

v1.15 (2020.10.17)

  • [Fix] Some Multis caused a crash when being loaded because the sysex parameter „Output“ of a multi section has an invalid value. These invalid values are part of the K1 factory banks and confuse the K1 hardware, too and result in the output being „Left+Right“. K1v now sets them to L+R, too.

v1.14 (2020.10.16)

  • [Fix] Wrong number of presets (832 instead of 968) were reported to plugin hosts
  • [Fix] Midi notes could get stuck in some cases
  • [Fix] Rounding issue in fixed key note number drop down menu that caused note B0 to be displayed although note C1 was selected
  • [Imp] K1v now supports Multi presets. All factory Multi presets have been added for all factory banks, making up a total of 384 Multis, or 1352 presets in total
  • [Imp] K1v now has a settings page to allow to specify the Midi receive channel, disable/enable receive & send of SysEx and more
  • [Imp] Midi receive channel can now also be modified by sending an Omni-Mode-Off control change from a specific Midi channel.
  • [Imp] Added ability to navigate through presets with cursor keys
  • [Imp] Code optimizations to reduce overall CPU usage
v1.13 (2020.10.02)
  • [Fix] Drop down menus were hard to read on Linux because of the font being too tiny
  • [Accuracy] Key Scaling => Envelope Time modulation did not affect Decay but only Attack, causing some Single to sound incorrect when compared to the K1 hardware.
    This change fixes the Single ‚KillDa Mix‘ and others, mostly Pianos.
  • [Imp] All 200 PHm presets are now part of the plugin, causing it to have 968 total built in presets.
  • [Imp] Single selection screen has been reworked, for easier navigation it now includes a dropdown to select the Bank and has more navigation buttons.
  • [Imp] Plugin Logo has been reworked to match the K1 hardware logo. Furthermore, the „KAWAI“ logo has been integrated as Kawai gave official permission for the plugin.
v1.12 (2020.09.28)
  • [Fix] One-shot waveforms (drums & others) were played looped
  • [Fix] Mac AU version crash when saving the plugin state (100% crash in Digital Performer 10)
  • [Imp] Velocity Curves are now properly implemented and very closely match those of the K1 hardware. If you are interested in details, feel free to visit the K1 development blog
  • [Fix] Joystick behaviour was incorrect after opening editor and never resizing it
  • [Imp] Nils‘ K1v is now available for Linux as VSTi plugin. Its still an experimental stage but I verified that it works with Carla and Adour on Ubuntu 20.04 amd64. Available are debian & rpm packages for i386 and amd64 architectures The packages install the VSTi to /usr/local/lib/lxvst/
  • [Fix] Omnibus loop waveforms now always start from beginning when a note is pressed
  • [Fix] Redraw issue caused multiple Source buttons to stay in highlighted state
  • [Fix] Source parameters were not updated when switching AM mode to/from REV
  • [Accuracy] PCM waveforms cannot play a lower frequency than 25.6Hz and are pitched up one octave when a note that is too low is triggered.
  • [Accuracy] Fix Single Cycle Waves with notes below C-2 were clamped and played as C-2 although hardware can go down to C-4 if keytrack is off
  • [Note] The two change above fix some Singles being incorrect when compared to the hardware, for example iA-8 GongOfKngs
  • [IMP] Window size is now preserved by storing it as part of the plugins data chunk
  • [FIX] Audio pops/clicks when a voice begins, even more present if decay time was greater than zero
  • [FIX] Fix very large UI on hosts like Orion because Orion claims to support resizing but then fails when being asked to resize.
  • [FIX] Fix possible crash when changing patch by program change while UI is closed
  • [CHG] Shrink default UI size to 1024×576 to give smaller screens a chance to reach the resize handle
  • [Accuracy] LFO behaviour didn’t completely match hardware behaviour, especially for higher speed values
  • [IMP] Window size is remembered when the plugin editor is closed and reopened
  • [FIX] In Solo mode, audio clicks were audible when playing a note while another one was still playing
  • [FIX] Audio processing could lead to clicks/pops in some hosts. I personally
    didn’t experience this so feedback & if possible a recording of the issue would
    help. Thanks 😊
  • [IMP] SysEx Parameter Changes are now fully supported
    • They are sent, which allows the plugin to edit a real hardware in realtime
    • They are recognized, which allows the plugin to be edited via external/existing editors
  • [FIX] UI crashed on second opening after using the Source Mix Joystick
  • [FIX] Reaper specific: Keyboard Shortcuts 1,2,3,4, E and C intercepted entering text to input fields (search box in Play Mode, preset name in Edit Mode)
  • [FIX] In Solo Mode, releasing a note always stopped all voices if the note being released was not the one being audible
  • [FIX] Midi control changes Hold Pedal & All Notes Off didn’t work
  • [FIX] UI did not update if the current preset was changed via Midi Program Change
  • [IMP] Added ability to import SysEx from .mid files
  • [FIX] Do not fail import if a .syx or .mid files contains K1v presets + other sysex data that has no K1v relation
  • [FIX] SysEx received via Midi always overwrote first 32 singles. It will now correctly overwrite either 1-32 or 32-64, 65-96 (ROM Card 1-32) or 97-128 (ROM Card 33-64) depending on the SysEx dump
  • Initial release