Skip to content

About

Free desktop companion for the Arturia KeyStep Pro: edit sequencer patterns, keep a project library, and play it through VST3 instruments without a DAW. Not affiliated with Arturia.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

KeyStepPro Studio

A free desktop companion for the Arturia KeyStep Pro: edit its sequencer patterns on a big screen, keep a library of projects on your computer, and generate new music for it. An optional Full edition also plays the KeyStep through your own VST3 instruments.

KeyStepPro Studio main window

Windows and macOS (universal app, ad-hoc signed, not notarized: on a Mac, allow it once in System Settings > Privacy & Security > Open Anyway). Not affiliated with Arturia.

Editions

Both editions are free and open source (AGPL-3.0). We recommend Lite. The app was made to edit KeyStep Pro projects visually, and Lite does exactly that. Full adds VST3 hosting, which takes the app a bit away from that purpose. Both editions are maintained from one source tree (CMake option KSP_ENABLE_VST_HOST, OFF by default = Lite):

Lite (recommended) Full
Pattern editor, library, Project Map, generator, backups, sync, MIDI monitor yes yes
KeyStep clock readout (PLAY / STOP, position, BPM) yes yes
VST3 instruments, effects, audio output, WAV recording no yes

The screenshot above is Lite. In Full, each track card also has an instrument box, a fader, mute and solo, and a button for its effects:

Full edition: instrument, fader, mute and solo on each track card

Lite has no VST3 SDK and no audio engine, so it is smaller and builds faster. Each release has both installers (KeyStepProStudio-Setup-x.y.z.exe for Lite and KeyStepProStudio-Full-Setup-x.y.z.exe), plus macOS zips (KeyStepProStudio[-Full]-x.y.z-mac.zip); installing one replaces the other. Build Full with cmake -S . -B build-full -DKSP_ENABLE_VST_HOST=ON.

What it does

  • Pattern editor. Read a project from the KeyStep over USB (or open a backup), see all 64 steps of every pattern, add, delete and edit notes (pitch, gate, velocity, time shift, randomness), change length, root and scale, copy patterns, shift a track by an octave, and write the result back to the KeyStep.
  • Library. Your projects live on the computer (Documents/KeyStepPro Studio/Library), with names, notes and the instruments of each track. The KeyStep's 16 slots are treated as a working area: open and edit projects without the KeyStep connected, load one into a slot when you want to play it.
  • VST3 host (Full edition). One VST3 instrument per KeyStep track (T1 to T4 on MIDI channels 1 to 4), up to four effect inserts per track and a master effect chain with a limiter. The KeyStep is the clock: its Play and Stop drive the app.
  • WAV recording (Full edition) of the mix and/or one stem per track, started and stopped by the KeyStep's transport.
  • Generator (Generate...): writes patterns and scenes into the open project in a style (Ambient with four moods, Techno, House deep / chill / melodic, Drum & bass) with a seed, pattern chains and undo. The styles add drums on track 1 and set the project tempo.
  • Drum patterns: track 1 in drum mode gets a 24-lane drum grid (General MIDI names of the default drum map).
  • Backups. Full read-only backup of all 16 projects and the global settings to JSON (the same format as KSCON, so backups open in either tool).
  • Project Map. The Scene Matrix (each scene as four track lanes with chains drawn to scale, editable) and the pattern bank. Click a cell to pick the pattern a track plays in that scene; copy, paste and clear scenes, with Undo.
  • Tempo, swing and MIDI channels. Project tempo and swing, plus a MIDI channel (or Auto) for each track, in the Project Map.
  • Arpeggiator (tracks 2-4): on/off, mode, octave, swing and division per track, next to the Seq / Arp / Drum keys of each track card.
  • Pattern ops (Ops): nudge, reverse and invert a pattern.
  • MIDI monitor to see what each control of the KeyStep sends.

The effects window: four inserts per track and the master chain

Project Map: scenes by tracks, each cell a mini piano roll

Safety first

The app talks to the KeyStep with Arturia's undocumented SysEx protocol (mapped by KSCON). To protect your device:

  • It only writes to a KeyStep Pro running firmware 2.5.20 (the current official one). On any other firmware it can still read, but refuses to write.
  • It writes to any of the 16 slots (working memory). Before every write it backs up the slot to Documents/KeyStepPro Studio/Backups, and after it reads the slot back and compares every value.
  • It reads what is saved in flash, not the live state: save your project on the KeyStep before reading it.
  • Close MIDI Control Center first (on Windows the USB MIDI port can only be open in one program).

Still, this is a hobby project with no warranty. Make a full backup (KspBackup, or MIDI Control Center) before you start writing to your KeyStep.

Install (Windows)

  1. Download KeyStepProStudio-Setup-x.y.z.exe (Lite, recommended; KeyStepProStudio-Full-Setup-x.y.z.exe adds VST3 hosting) from Releases and run it. It installs the app, the VST3 helper and the command-line tools, and adds a Start menu entry. Prefer no installer? Download KeyStepProStudio-x.y.z-portable.zip instead, unzip it anywhere and run KeyStepPro Studio.exe.
  2. The installer and the app are not code-signed (see docs/signing.md). Windows SmartScreen will say "Windows protected your PC": click More info and then Run anyway.
  3. To check what you downloaded, compare its SHA-256 with the line in SHA256SUMS.txt on the release page (the release notes also link the VirusTotal scans): Get-FileHash .\KeyStepProStudio-Setup-x.y.z.exe -Algorithm SHA256.
  4. Connect the KeyStep Pro by USB, close MIDI Control Center and start KeyStepPro Studio.

Quick start

  1. Read slot N from KeyStep (or Open backup...) and pick a project. The grid shows track 1, pattern 1.
  2. Click an empty cell to add a note, right-click a note to delete it, drag the knobs under the grid to edit the selected note. Switch track and pattern at the top.
  3. Save keeps the project in your library. Write to slot sends it to a slot from 10 to 16 (backed up and verified as described above).
  4. Full edition only: to play it through VST3 instruments: Scan plugins once, pick an instrument per track in the rows under the grid, choose your audio device with Audio..., and press Play on the KeyStep.

New to the app? Start with the User guide. Developer notes: docs/manual.

Command-line tools

Installed next to the app; useful for backups and troubleshooting.

Tool Writes to the KeyStep? Use
KspProbe no Connection test: firmware, MIDI settings, the patterns of a project.
KspBackup no Backup of all projects and the global settings to JSON (about 10 minutes).
KspRestore only with --write Restore a project from a backup to a slot (backup first, read back after).
KspGen only with --write Generate an ambient project, or a style with --style, into a slot.
KspHostCheck (Full only) no Check that a VST3 instrument or effect loads, sounds and restores its state.

Details in docs/manual/02-tools.md.

Build from source

Requirements: CMake 3.22+, a C++17 compiler (Visual Studio 2022 or newer on Windows, Xcode on macOS) and Git. JUCE 8.0.4 is downloaded automatically.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

The app ends up in build/KeyStepProStudio_artefacts/Release/. Use -DJUCE_DIR=path/to/JUCE to build with a local JUCE instead of downloading it.

Tests that need neither JUCE nor a KeyStep:

cmake -S . -B build-tests -DKSP_TESTS_ONLY=ON
cmake --build build-tests
ctest --test-dir build-tests

The release packages include the user guide as KeyStepPro-Studio-Manual.pdf (Tools > User manual (PDF) in the app).

To build the Windows installer, see installer/README.md.

Status and limits

See docs/LIMITATIONS.md for what we tried, what did not work, and where the app's real limits are.

Working and used live: pattern editing, the library, the VST3 host, recording and the generator. Not done yet: plugin latency compensation. Only VST3 plugins are hosted (no AU, no VST2).

Credits and license

  • The SysEx protocol and the backup format come from KSCON by canadianblaken (MIT). See THIRD_PARTY_NOTICES.md.
  • Built with JUCE (AGPLv3) and the Steinberg VST3 SDK.
  • KeyStep Pro and MIDI Control Center are trademarks of Arturia. This project is not affiliated with or endorsed by Arturia.

Licensed under the GNU Affero General Public License v3.0, see LICENSE.

About

Free desktop companion for the Arturia KeyStep Pro: edit sequencer patterns, keep a project library, and play it through VST3 instruments without a DAW. Not affiliated with Arturia.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages