A desktop companion app for the Roland AIRA Compact S-1 Tweak Synthesizer.
S-1 Utility connects to a S-1 over MIDI and provides a visual parameter editor, a read-only Patch Inspector for browsing .PRM patch backups, and hardware-calibrated heuristic visualizations of the synth's ADSR envelope, filter response and oscillator waveform.
The design principle: While using heuristics, the app tries to stay honest about what it knows. When the app can reflect the synth's exact state, it does. When it can't, it surfaces uncertainty rather than displaying wrong or misleading values.
Video walkthrough: https://youtu.be/QvIQj3y7kds?si=FHXMjAINzbMv2fmb
This is an unofficial third-party tool. This project is not affiliated with, endorsed by, or sponsored by Roland Corporation. Major part of the code is generated with Claude Code, but the app is a product of continuous iteration and refinement.
S-1 Utility is provided "as is", without warranty of any kind. The author is not responsible for any malfunction, data loss, or damage to your hardware that may result from using this software. That said, the app only sends and receives standard MIDI Control Change (CC) messages, the same messages the S-1 already accepts from any MIDI controller or DAW, and does not write .PRM files or use sysex. Practically, the risk of the app harming the device is very low, but you use it at your own risk.
- Visual parameter editor. Knobs, LEDs, sliders, and waveform displays that mirror the S-1's current state over MIDI CC.
- Patch Mirror. When a
.PRMfolder is configured, the editor stays in sync with the S-1 in real time: it loads the corresponding patch when patterns change on the device and preserves unsaved edits per slot. - Sync-state tracking. Every parameter shows whether the editor has confirmed its value from the synth (via incoming CC, Send All, or PRM load). Unsynced controls go grey with a
?label. - Parameter visualization. Filter frequency-response curve, animated ADSR envelope visualizer, draw-wave bars with signed value labels, chop pattern grid.
- Patch Inspector. Read-only view of all
.PRMfile data, including parameters that have no MIDI CC equivalent and can be only set from the hardware (sequencer data, draw and chop patterns, etc.). - Undo / Redo for parameter edits, with per-CC coalescing for knob drags.
- Hardware-verified encodings. CC mappings, ADSR timing constants, oscillator waveforms, and other measured values were established by testing against real hardware.
- MIDI Export. One-click export of the pattern sequencer data into a MIDI file.
- Keyboard shortcuts.
Ctrl+Mtoggle Connect/Disconnect,Ctrl+IInit Patch,Ctrl+RRestore Patch,Ctrl+SSave Preset,Ctrl+Z/Ctrl+YUndo/Redo,Tabcycle tabs, arrow keys for patch grid navigation.
Realtime Editor
Patch Inspector
The release builds are self-contained, so no .NET runtime is needed to run them.
- Windows 10 or 11, or
- Linux with ALSA (standard on desktop distributions). The AppImage additionally needs FUSE (
libfuse2, orlibfuse2t64on newer Ubuntu); the.tar.gzbuild has no such dependency. - A Roland S-1 connected over USB MIDI.
Building from source additionally requires the .NET 10 SDK (pinned via global.json). For macOS, see Platform support.
git clone https://github.com/denzlobin/S1Utility.git
cd S1Utility
dotnet build
dotnet run --project S1Utility/S1Utility.csprojRun the tests:
dotnet testFeature-complete for its intended scope: everything the S-1 exposes over MIDI CC is implemented, and the encodings and visualizations are calibrated against real hardware. Active development is winding down; further work will be occasional.
S-1 Utility runs on Windows and Linux, both exercised against real hardware. Prebuilt, self-contained downloads for each are on the Releases page (Windows .zip, Linux .AppImage and .tar.gz).
macOS is unsupported but reported working from source. A community tester built and ran it on an Intel Mac (.NET 10 SDK), with MIDI to a real S-1 over USB working via CoreMIDI/DryWetMidi (#2). Apple Silicon is untested. The window aspect-ratio policy stays inactive there, and shortcuts use Ctrl rather than Cmd. There are no prebuilt macOS downloads; build with dotnet publish S1Utility/S1Utility.csproj -c Release -r osx-x64 --self-contained true (or osx-arm64). The author does not own a Mac and does not plan to maintain a macOS build.
The draw and chop waveform visualizers could be made more faithful by drawing on the full PRM data they currently summarize. This is a maybe rather than a plan, with no timeline.
- VST, AU, CLAP and other plugin versions. S-1 Utility is designed as a standalone app, and many of its features will be difficult or confusing in a plugin version. You are free to reuse any code or design decisions if you want to build a plugin version yourself.
- iOS, iPadOS, Android versions. For the same reasons.
.PRMdata editing. The actual usecase is very questionable, and you probably don't want to test what happens with the device if you feed it with corrupted data.- More realtime controls. Everything controllable by CC is already available on the Realtime Editor tab. Unless the device receives a firmware update with more Control Change parameters, the editor expansion is out of the question.
- macOS is unsupported. Windows and Linux are supported and tested; macOS has only a community report of building and running on Intel. See Platform support.
- Tab 2 (Patch Inspector) is read-only. The app does not write
.PRMfiles; most PRM-only parameters have no MIDI CC path, and writing risks corrupting your patch backups. - No sysex. The S-1 does not use sysex for parameter control.
- Reliance on up-to-date manual backup. The app cannot detect if the
.PRMdata on the synth diverged from what is stored on the user's machine. Every time you write into a patch/pattern slot on the hardware, you need to manually copy modified files to the.PRMfolder on your machine.
The S-1 can export its 64-pattern bank as a folder of .PRM files via its USB Disk Mode. To activate it power on the device while holding down the Play button. The drive will take 1-2 minutes to get ready. The keyboard pads indicate the loading progress. Once loaded, copy the contents of the BACKUP folder to your computer and configure the path to it in Settings.
- Avalonia for the cross-platform UI framework.
- Melanchall.DryWetMidi for MIDI I/O on Windows and macOS.
- managed-midi for ALSA MIDI I/O on Linux.
This project is licensed under the GNU General Public License v3.0 or later. See LICENSE for the full text.
See CONTRIBUTING.md. Hardware-verified values must not be changed without re-verifying against a real S-1; that section is mandatory reading before touching parameter mappings.

