Skip to content

michgz/tonetyrant

Repository files navigation

Tone Tyrant for Casio

tyrant-64x64

A hex editor and tone editing tool for Casio keyboards. "Real-time" parameter control works on all Casio CT-X keyboards, and upload/download of User Tones is possible with keyboards which have User Tone memory (e.g. CT-X3000 or X5000).

Features include:

  • Automatically calculates the Casio CRC value
  • Provides "Hints" when editing bytes that are associated with a known parameter. The parameter can be quickly increased/decreased with PAGE UP/PAGE DN buttons.
  • Can generate a random tone
  • Upload and download to User Tone memory locations in a CT-X3000/5000 keyboard
  • New with V2.0: "real-time" control of synthesis parameters of the currently selected keyboard tone. Uses SysEx commands over MIDI USB to the keyboard

Windows

A pre-built executable for Windows Vista, 7, 10 & 11 may be downloaded from here (64 bit) or here (32 bit). Extract from the zip file. The first time you run it, Windows security may ask if you really want to run it: click "More Info" and "Run Anyway".

Linux

A pre-built executable may be downloaded from here for Linux kernel versions from 4.15 or later (Ubuntu 18.04 or later). Extract from the zip file and enable execution rights with sudo chmod +x tyrant.

Note: newer versions might work better with a GTK 3.0 build, which can be downloaded here. I think the UI elements look worse than on GTK 2, but that's personal preference I guess..

From source

Starting from v2.2.0 the software is coded in C++ not Python. The following instructions will still work, but any new functionality will be restricted to the built (C++) versions.

Clone or download this Github repository and run it by calling python run.py. There are some prerequisites to install which are listed here.

This method works for all versions of Windows and Linux, and maybe even Mac OS (if you try it on Mac OS, please give some feedback with your experiences using a Github "Issue").

Quick start guide

To try out the main features of the software, go through the following steps:

  1. "Ctrl+N" to create a new TON file. It will be pre-filled with a sine-wave tone.
  2. Use arrow keys ←↑→↓ to navigate around bytes in the file
  3. Overwrite values by typing in numbers. The numbers are in "hexadecimal", so digits "0"–"9" and "A"–"F" are all accepted.
  4. When you have navigated to certain parameters, boxes will pop up in the "Hints" window. When that happens, try increasing/decreasing the parameter values by pressing PG.UP/PG.DN keys.
  5. Press "Ctrl+R" and "OK" to change all parameters in the tone to random values.
  6. Attach a CT-X3000/X5000 keyboard to the computer by MIDI, switched on, and press "Ctrl+M" to set up the MIDI communications. Make sure you change both the "Input port" and the "Output port" to be the Casio USB MIDI, and press "OK".
  7. Press "F3" and "OK" to upload the new randomised file to User Tone 801 on the keyboard. Change the selected tone in the keyboard to something else (e.g. tone 802), then back to 801 and play some notes. It will sound with the new randomised tone.

History

  • v2.2.2 Add a small delay to MIDI communications, which seems to help reliability in Windows
  • v2.2.1 Rename generic "Filter" parameter to "Biquad Filter"
  • v2.2.0 "Red zeroes ⭕⭕⭕" edition.
    • Built from C++, which has multiple advantages over Python:
      • Snappier operation
      • Smaller executable binaries
      • Supports both 64- and 32-bit Windows, including Vista Windows 7
    • Some tweaks to UI aesthetics
  • v2.0.0 Real-time parameter control over MIDI SysEx
  • v1.0.3
    • Improved sizing layout of Hints window
    • Info bubbles for some parameters
    • Special combo box for parameter 42, "Note Off Velocity"
    • Configuration parameters stored persistently in a .CFG file
    • Linux: built for GTK 2.0. The previous GTK 3.0 was causing crashing with some windows managers, e.g. Plasma
  • v1.0.2 Try a new build method which might give better compatibility with older Windows versions (this version built for Windows only)
  • v1.0.1 Improvements to the appearance of the Hints window under MS Windows
  • v1.0.0 First release