https://github.com/kayrockscreenprinting/ultramaster_kr106
Linux, Osx & Windows JUCE port of Ultramaster Group's classic 2001 software synth
https://github.com/kayrockscreenprinting/ultramaster_kr106
au la synthesis synthesizer vst
Last synced: about 2 months ago
JSON representation
Linux, Osx & Windows JUCE port of Ultramaster Group's classic 2001 software synth
- Host: GitHub
- URL: https://github.com/kayrockscreenprinting/ultramaster_kr106
- Owner: kayrockscreenprinting
- License: gpl-3.0
- Created: 2026-03-02T17:40:50.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-31T13:15:47.000Z (3 months ago)
- Last Synced: 2026-03-31T15:11:28.649Z (3 months ago)
- Topics: au, la, synthesis, synthesizer, vst
- Language: C++
- Homepage: https://kayrock.org/kr106
- Size: 23.8 MB
- Stars: 146
- Watchers: 3
- Forks: 14
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
# Ultramaster KR-106
[](https://github.com/kayrockscreenprinting/ultramaster_kr106/actions/workflows/release.yml)
[](LICENSE)
A synthesizer plugin emulating the Roland Juno-6, Juno-60, and Juno-106, built with [JUCE](https://juce.com/).

6-voice polyphonic with dual-mode DSP (Juno-60 analog / Juno-106 firmware), per-voice analog variance,
TPT ladder filter with OTA saturation, ngspice-verified BBD chorus, arpeggiator with DAW sync,
portamento, and 240 factory presets (112 Juno-60 + 128 Juno-106). Parameter curves calibrated from hardware
measurements, circuit simulation, and firmware analysis.
**Formats:** AU, VST3, LV2, CLAP, Standalone
**Platforms:** macOS (10.15+), Windows, Linux
**SysEx:** Full Juno-106 SysEx support (IPR/APR send and receive). A separate AU variant
(aumf) is included for Logic Pro, which blocks SysEx on standard AU instruments.
**[Download latest release](https://github.com/kayrockscreenprinting/ultramaster_kr106/releases/latest)**
See [docs/DSP_ARCHITECTURE.md](docs/DSP_ARCHITECTURE.md) for a detailed writeup of the
signal chain and emulation techniques.
## Building
### macOS
Requires **CMake** (3.22+) and **Xcode** (or Command Line Tools).
```bash
git clone --recursive https://github.com/kayrockscreenprinting/ultramaster_kr106.git
cd ultramaster_kr106
make build # AU, VST3, Standalone
make run # Build and launch Standalone
```
### Windows
Requires **CMake** (3.22+) and **Visual Studio 2022** (or Build Tools with C++ workload).
```bash
git clone --recursive https://github.com/kayrockscreenprinting/ultramaster_kr106.git
cd ultramaster_kr106
cmake -B build
cmake --build build --config Release
```
Plugins are output to `build/KR106_artefacts/Release/`.
### Linux
Requires **CMake** (3.22+) and a C++17 compiler.
```bash
git clone --recursive https://github.com/kayrockscreenprinting/ultramaster_kr106.git
cd ultramaster_kr106
make deps # Install ALSA, X11, freetype, etc. (apt)
make build # VST3, LV2, Standalone
```
For a release build:
```bash
CONFIG=Release make build
```
**Packagers:** If the build fails trying to copy plugins to `~/.lv2/` or similar
system directories, disable the post-build copy:
```bash
cmake -B build -DCMAKE_BUILD_TYPE=Release -DKR106_COPY_AFTER_BUILD=OFF
cmake --build build --config Release
```
Run `make help` for all available targets.
## Project Structure
```
Source/
PluginProcessor.cpp/h Audio processor, parameter setup, preset management
PluginEditor.cpp/h Custom GUI layout
KR106_Presets_JUCE.h 240 factory presets (112 J60 + 128 J106)
Controls/
KR106Knob.h Bitmap rotary knob (sprite sheet)
KR106Slider.h Pixel-perfect vertical fader
KR106Switch.h 3-way toggle switch (vertical/horizontal)
KR106Button.h Momentary button with LED
KR106Keyboard.h On-screen keyboard with transpose
KR106Scope.h Oscilloscope with clickable vertical zoom
KR106Bender.h Pitch bend lever
KR106Tooltip.h Parameter value tooltip overlay
DSP/
KR106_DSP.h Top-level DSP orchestrator, HPF, signal routing
KR106_DSP_SetParam.h Per-model parameter dispatch (J6/J60/J106 curves)
KR106Voice.h Per-voice: VCF, ADSR, oscillator mixing, portamento
KR106OscillatorsWT.h Bandlimited wavetable saw, pulse, sub
KR106VCF.h TPT SVF ladder filter with OTA saturation model
KR106Chorus.h MN3009 BBD chorus with Hermite interpolation
BBDFilter.h Chorus pre/post filter (Butterworth biquad, ngspice-verified)
KR106LFO.h Global triangle LFO with delay envelope
KR106ADSR.h Dual-mode ADSR (analog RC / firmware integer)
KR106Arpeggiator.h Note sequencer with DAW sync (Up / Down / Up-Down)
KR106ParamValue.h Unified parameter display (Hz, ms, dB, cents)
KR106VcfFreqJ6.h J6/J60 VCF frequency curves (circuit models)
KR106VcfFreqJ106.h J106 VCF frequency (firmware integer math)
docs/
DSP_ARCHITECTURE.md Detailed DSP design documentation
HOLD_ARP_FLOW.md Hold + arpeggiator interaction flow
tools/
preset-gen/ Original patch files and conversion utilities
preset-midi/ MIDI file generator for hardware A/B testing
render-midi/ Offline MIDI renderer (headless DSP)
```
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on submitting issues and pull requests.
## License
This project is licensed under the [GNU General Public License v3.0](LICENSE).
Third-party library licenses are listed in [THIRD_PARTY_LICENSES](THIRD_PARTY_LICENSES).