Skip to main content

Novation SysEx utilities.

Project description

xKey

xKey provides a set of Novation SysEx utilities. It was intended to allow easy encoding and decoding of SysEx firmware updates from Novation.

Although this project was designed to support FLKey and Launchkey devices, others Novation firmware updates may be compatible with these utilities. However only software for these devices has been tested so far.

This project was generated by reverse engineering the software update process used by Novation FLKey MIDI keyboards. As a result of this, the exact use and terminology used by Novation may differ from that reflected in this project.

:warning: Tampering with firmware updates may break your device!

Firmware updates encoded and decoded using this utility may result in an unusable and unrecoverable device. This tool is provided with no warranty or guarantees.

Installation

xKey can be installed directly from PyPi. xKey currently has no external runtime dependencies as it only utilises functions exposed by the Python standard library.

pip install xkey

Example Usage

Decode an input SysEx format firmware update into binary

$ xkey decode launchkeymk3-firmware-217.syx 
2023-04-22 17:50:58,705 - [INFO] Reading SysEx from launchkeymk3-firmware-217.syx
2023-04-22 17:50:58,712 - [INFO] SysEx file appears to be for Novation launchkey-mk3
2023-04-22 17:50:58,712 - [INFO] SysEx file appears to contain build 000217
2023-04-22 17:50:58,712 - [INFO] Encoded file size 96788-bytes (CRC32 0x49ca849c)
2023-04-22 17:50:58,821 - [INFO] Writing decoded SysEx to launchkeymk3-firmware-217.syx.bin

Encode an input binary format firmware update into SysEx

$ xkey encode launchkeymk3-firmware-217.syx.bin --model launchkey-mk3 --build 217
2023-04-22 17:52:07,454 - [INFO] Starting encoding of SysEx for launchkey-mk3, build 000217
2023-04-22 17:52:07,454 - [INFO] Reading binary from launchkeymk3-firmware-217.syx.bin
2023-04-22 17:52:07,613 - [INFO] Input binary file size 96788-bytes (CRC32 0x49ca849c)
2023-04-22 17:52:07,613 - [INFO] Writing encoded SysEx to launchkeymk3-firmware-217.syx.bin.syx

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xkey-0.1.0.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

xkey-0.1.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file xkey-0.1.0.tar.gz.

File metadata

  • Download URL: xkey-0.1.0.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for xkey-0.1.0.tar.gz
Algorithm Hash digest
SHA256 06758ff2aafe6f798db59fa9b2bf67e764015c8e25183ccca929785bc2084440
MD5 5a205670f09e154a35b3c9ed3097facc
BLAKE2b-256 f8a974f3b22e74056ab2d2a581870071c4ec207db404a5e5e3c9b20e55e929ea

See more details on using hashes here.

File details

Details for the file xkey-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: xkey-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for xkey-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 79cc3bed8c9d9a9a4c60c1ccf1f45f33f84483177599a36d811842235568e795
MD5 76593f082efffe52b385f880bd20a08b
BLAKE2b-256 df7f8a741f16acb5f3470a9c768b562adfc1fe5da6e468a015da3b482cffd517

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page