SideQick is a software companion to be used with Ensoniq SQ-80 or ESQ-1 family of hardware synthesizers. Its purpose is to extend the functionnality of those units, mainly by enabling access to illegal (out of bound) values for some parameters found in these synthesizers. This allows for even more possibilities and avenues of sound design exploration.
Downloads for Windows, macOS and Linux are available from the Releases page.
As it stands, SideQick provides easy access to illegal value ranges for the following parameters:
- Hidden waveforms: especially useful when not using the patched 1.83 SQ-80 or 3.53 ESQ-1 OS.
- Oscillator pitch: allows for extreme oscillator pitch settings (OCT +6 and +7, and a whole new "Low-Frequency" range)
- Higher filter resonance: enables filter self-oscillation
- A computer running Windows, macOS or Linux;
- An Ensoniq SQ-80, ESQ-1, ESQ-M or SQ-80M hardware synthesizer connected in MIDI to the computer bidirectionaly;
- Make sure to enable SysEx on the unit by going into MIDI, then setting KEYS+CT+PC+SS+SX to ENABLE.
- Access to hidden waveforms (even through SideQick) is not possible on the ESQ-M, SQ-80M, or the ESQ-1 running an OS version lower than 3.5. More on that here.
Known issues are listed here. Otherwise, here are some steps in case you have trouble running SideQick.
- You may get a Microsoft Defender SmartScreen warning saying that SideQick is an unrecognized application and might put your PC at risk. Or course, SideQick is not a virus, so you can simply click on More Info, then Run Anyway.
- If nothing happens when launching SideQick or you get error messages about missing DLLs, you probably need to install the Microsoft Visual C++ 2015 - 2022 Redistributable.
As with other software from unverified developers, you may need to allow applications from Anywhere to be run. You may also need to run the xattr -c <path/to/SideQick.app>
command if you get an error message saying that SideQick is damaged.
Upon sending programs to the synth or recalling them, the bounds for some parameter values are not enforced by its operating system. Even though parameter values are contained within a certain range when programming a sound on the unit itself, nothing prevents us from modifying the raw SysEx data of a program to input any value for such parameters, as long as they are within the internal width allocated to that parameter.
While some features are hardware-limited or are linked to deeper restrictions baked in the operating system (such as OSC Sync and AM not being able to be enabled at the same time, a real shame), others are not and are supported by the hardware, such as allowing higher filter resonance values for example. Although this is a relatively unknown trick, there are a few demonstrations out there such as this one that showcase the result of manually editing hexadecimal values of a SysEx file to achieve filter self-oscillation.
As a reminder, from a perspective of loading and saving programs into internal memory, on a cartridge or on disk, the operating system will treat parameters with illegal values just like the others. Therefore those illegal values can be included into saved programs and should be compatible with any SQ-80 or ESQ-1.
SideQick is a C++ standalone application made with the JUCE framework. Since the goal of this project is the seamless integration with the process of programming on the hardware, you can treat the options on SideQick's display as if they were additional options in the synth itself, hence the software's somewhat skeuomorphic design.
Changes to the current program are thus applied and directly sent to the synth. To achieve this, when clicking on an option in SideQick, the program being currently edited will be requested by the computer by sending a Current Program Dump Request SysEx message. Once the SysEx response containing the program is received, changes to the program data are made accordingly to the selected option, then the resulting program is sent back to the SQ-80 / ESQ-1.
If you want to build SideQick from source yourself, here's the requirements and necessary steps. Otherwise if you just want to download and run the software, please refer to the Downloads section.
Some dependencies are required to be able to build SideQick. First off, on any operating system, you will need to have CMake installed.
To build with the MSVC compiler, either the Visual Studio Build Tools or Visual Studio itself is needed. In any case, make sure you then install the Desktop development with C++
workload from the Visual Studio Installer as well.
If you're using a Debian-based distribution, you can install the required dependencies by running this command:
sudo apt-get update && sudo apt-get install -y build-essential cmake pkg-config libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libfreetype6-dev libfontconfig1-dev libasound2-dev
Once your environment has all the necessary dependencies, a reliable way to build SideQick on all platforms would be:
git clone https://github.com/VincyZed/SideQick
cd SideQick
git submodule update --init --recursive
cmake -B cmake-build
cmake --build cmake-build --config Release
- Seamless patch management: Implementation of easy program/bank request, loading and saving (.syx)