{"id":47284158,"url":"https://github.com/kayrockscreenprinting/ultramaster_kr106","last_synced_at":"2026-04-19T23:04:59.286Z","repository":{"id":344728832,"uuid":"1170941801","full_name":"kayrockscreenprinting/ultramaster_kr106","owner":"kayrockscreenprinting","description":"Linux, Osx \u0026 Windows JUCE port of Ultramaster Group's classic 2001 software synth","archived":false,"fork":false,"pushed_at":"2026-03-31T13:15:47.000Z","size":25006,"stargazers_count":146,"open_issues_count":14,"forks_count":14,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-31T15:11:28.649Z","etag":null,"topics":["au","la","synthesis","synthesizer","vst"],"latest_commit_sha":null,"homepage":"https://kayrock.org/kr106","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kayrockscreenprinting.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-02T17:40:50.000Z","updated_at":"2026-03-31T13:16:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kayrockscreenprinting/ultramaster_kr106","commit_stats":null,"previous_names":["kayrockscreenprinting/ultramaster_kr106"],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/kayrockscreenprinting/ultramaster_kr106","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kayrockscreenprinting%2Fultramaster_kr106","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kayrockscreenprinting%2Fultramaster_kr106/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kayrockscreenprinting%2Fultramaster_kr106/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kayrockscreenprinting%2Fultramaster_kr106/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kayrockscreenprinting","download_url":"https://codeload.github.com/kayrockscreenprinting/ultramaster_kr106/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kayrockscreenprinting%2Fultramaster_kr106/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["au","la","synthesis","synthesizer","vst"],"created_at":"2026-03-16T05:18:40.953Z","updated_at":"2026-04-01T17:44:04.955Z","avatar_url":"https://github.com/kayrockscreenprinting.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ultramaster KR-106\n\n[![Release](https://github.com/kayrockscreenprinting/ultramaster_kr106/actions/workflows/release.yml/badge.svg)](https://github.com/kayrockscreenprinting/ultramaster_kr106/actions/workflows/release.yml)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE)\n\nA synthesizer plugin emulating the Roland Juno-6, Juno-60, and Juno-106, built with [JUCE](https://juce.com/).\n\n![KR-106 Screenshot](docs/website/screenshot.png)\n\n6-voice polyphonic with dual-mode DSP (Juno-60 analog / Juno-106 firmware), per-voice analog variance,\nTPT ladder filter with OTA saturation, ngspice-verified BBD chorus, arpeggiator with DAW sync,\nportamento, and 240 factory presets (112 Juno-60 + 128 Juno-106). Parameter curves calibrated from hardware\nmeasurements, circuit simulation, and firmware analysis.\n\n**Formats:** AU, VST3, LV2, CLAP, Standalone\n**Platforms:** macOS (10.15+), Windows, Linux\n\n**SysEx:** Full Juno-106 SysEx support (IPR/APR send and receive). A separate AU variant\n(aumf) is included for Logic Pro, which blocks SysEx on standard AU instruments.\n\n**[Download latest release](https://github.com/kayrockscreenprinting/ultramaster_kr106/releases/latest)**\n\nSee [docs/DSP_ARCHITECTURE.md](docs/DSP_ARCHITECTURE.md) for a detailed writeup of the\nsignal chain and emulation techniques.\n\n## Building\n\n### macOS\n\nRequires **CMake** (3.22+) and **Xcode** (or Command Line Tools).\n\n```bash\ngit clone --recursive https://github.com/kayrockscreenprinting/ultramaster_kr106.git\ncd ultramaster_kr106\nmake build    # AU, VST3, Standalone\nmake run      # Build and launch Standalone\n```\n\n### Windows\n\nRequires **CMake** (3.22+) and **Visual Studio 2022** (or Build Tools with C++ workload).\n\n```bash\ngit clone --recursive https://github.com/kayrockscreenprinting/ultramaster_kr106.git\ncd ultramaster_kr106\ncmake -B build\ncmake --build build --config Release\n```\n\nPlugins are output to `build/KR106_artefacts/Release/`.\n\n### Linux\n\nRequires **CMake** (3.22+) and a C++17 compiler.\n\n```bash\ngit clone --recursive https://github.com/kayrockscreenprinting/ultramaster_kr106.git\ncd ultramaster_kr106\nmake deps     # Install ALSA, X11, freetype, etc. (apt)\nmake build    # VST3, LV2, Standalone\n```\n\nFor a release build:\n\n```bash\nCONFIG=Release make build\n```\n\n**Packagers:** If the build fails trying to copy plugins to `~/.lv2/` or similar\nsystem directories, disable the post-build copy:\n\n```bash\ncmake -B build -DCMAKE_BUILD_TYPE=Release -DKR106_COPY_AFTER_BUILD=OFF\ncmake --build build --config Release\n```\n\nRun `make help` for all available targets.\n\n## Project Structure\n\n```\nSource/\n  PluginProcessor.cpp/h        Audio processor, parameter setup, preset management\n  PluginEditor.cpp/h           Custom GUI layout\n  KR106_Presets_JUCE.h         240 factory presets (112 J60 + 128 J106)\n\n  Controls/\n    KR106Knob.h                Bitmap rotary knob (sprite sheet)\n    KR106Slider.h              Pixel-perfect vertical fader\n    KR106Switch.h              3-way toggle switch (vertical/horizontal)\n    KR106Button.h              Momentary button with LED\n    KR106Keyboard.h            On-screen keyboard with transpose\n    KR106Scope.h               Oscilloscope with clickable vertical zoom\n    KR106Bender.h              Pitch bend lever\n    KR106Tooltip.h             Parameter value tooltip overlay\n\n  DSP/\n    KR106_DSP.h                Top-level DSP orchestrator, HPF, signal routing\n    KR106_DSP_SetParam.h       Per-model parameter dispatch (J6/J60/J106 curves)\n    KR106Voice.h               Per-voice: VCF, ADSR, oscillator mixing, portamento\n    KR106OscillatorsWT.h       Bandlimited wavetable saw, pulse, sub\n    KR106VCF.h                 TPT SVF ladder filter with OTA saturation model\n    KR106Chorus.h              MN3009 BBD chorus with Hermite interpolation\n    BBDFilter.h                Chorus pre/post filter (Butterworth biquad, ngspice-verified)\n    KR106LFO.h                 Global triangle LFO with delay envelope\n    KR106ADSR.h                Dual-mode ADSR (analog RC / firmware integer)\n    KR106Arpeggiator.h         Note sequencer with DAW sync (Up / Down / Up-Down)\n    KR106ParamValue.h          Unified parameter display (Hz, ms, dB, cents)\n    KR106VcfFreqJ6.h           J6/J60 VCF frequency curves (circuit models)\n    KR106VcfFreqJ106.h         J106 VCF frequency (firmware integer math)\n\ndocs/\n  DSP_ARCHITECTURE.md          Detailed DSP design documentation\n  HOLD_ARP_FLOW.md             Hold + arpeggiator interaction flow\n\ntools/\n  preset-gen/                  Original patch files and conversion utilities\n  preset-midi/                 MIDI file generator for hardware A/B testing\n  render-midi/                 Offline MIDI renderer (headless DSP)\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on submitting issues and pull requests.\n\n## License\n\nThis project is licensed under the [GNU General Public License v3.0](LICENSE).\nThird-party library licenses are listed in [THIRD_PARTY_LICENSES](THIRD_PARTY_LICENSES).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkayrockscreenprinting%2Fultramaster_kr106","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkayrockscreenprinting%2Fultramaster_kr106","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkayrockscreenprinting%2Fultramaster_kr106/lists"}