thinksynth ~ Modular Synth & Algorthmic Composition


thinksynth builds sounds out of a graph of DSP nodes — oscillators, filters, envelopes, delays and arithmetic — described in a small language and rendered in real time. Patches assign those graphs to MIDI channels, so one instrument can layer several voices.

Every node is a plugin, and the set that ships covers subtractive and FM synthesis, resonators, waveshaping and a range of filters. New ones are ordinary shared libraries dropped into the plugin directory.

thinksynth user interface

github.com/mishan/thinksynth

ShinRonin ~ Modular Filter & Delay


ShinRonin is a ground-up rebuild of Ronin, one of the earliest plugins we ever shipped, first released in 2003. The original paired two delay lines with a set of morphing filters and two fully patchable routing matrices, and it earned a cult following for the strange feedback networks and self-oscillating textures you could build inside it. Twenty years on, we have rebuilt it for modern systems, kept the architecture that made it worth remembering, and released it for free.

Two independent delay lines, each with tempo sync, reverse, looping, and feedback, feed a pair of morphing multimode filters that sweep continuously from notch through lowpass, bandpass, and highpass. There is saturation, two LFOs, and an envelope follower. Everything connects through two on-board matrices: a signal matrix that routes any audio source to any destination, and a modulation matrix that wires the LFOs, envelope, and incoming MIDI to nearly any parameter. It is happy doing clean stereo delays and gentle filtering, but the real fun starts when you patch a feedback loop and let it misbehave.

shinronin user interface

www.audiodamage.com/pages/shin-ronin

SC55-CLAP ~ Nuked SC-55 CLAP Plugin


Nuked SC-55 CLAP is a CLAP audio plug-in built upon J.C. Moyer’s fork of nukeykt’s Nuked-SC55, an emulation of the Roland SC-55 Sound Canvas MIDI module.

Unlike the original Nuked-SC55, this version has no graphical user interface. It reacts to MIDI messages like an external MIDI module and is intended for retro gaming, hobby music, and research.

The plug-in supports ROM versions from several original SC-55 models, including the SC-55 v1.00 through v2.00 and SC-55mk2 v1.01. It runs on Windows, macOS and Linux. The project is based on the original MAME license, which includes restrictions on commercial use, including commercial music production and inclusion in commercial software packages.

The project describes its purpose as helping preserve DOS gaming history while providing historically accurate SC-55 sound through a modern CLAP plug-in.

Note: The plug-in requires ROM dumps from the original hardware; the ROMs are not included with the project.

github.com/johnnovak/Nuked-SC55-CLAP

RackForge ~ Playable Musical Instrument Host


RackForge is a cross-platform instrument and live-performance host. Connect a MIDI keyboard, choose an instrument, combine sounds into Racks, organize a show into Songs and Setlists, and play without building a DAW session first.

RackForge uses the same musical model on Windows, Linux, Android, and Raspberry Pi. Portable .rfplugin instruments bring their sound and interface with them, while RackForge owns the audio, MIDI, routing, presets, and live performance workflow.

RackForge v0.1.x is a public preview. It is ready to explore and play, but native packages are not yet production-signed.

github.com/kalexis1994/rackforge

acidcat ~ Audio File Forensics


A pure-Python inspector, editor, and forensic tool for audio files and synth/DAW presets: read the metadata, decode the format structure byte by byte, flag anomalies, repair broken containers, and identify how a file was made.

Reads BPM, key, duration, tags, and format info from WAV, AIFF, MP3, FLAC, OGG, Opus, M4A, MIDI, and Serum presets. Also structurally decodes Bitwig (.bwpreset/.bwclip), Native Instruments (Massive/Absynth/Kontakt/NKS/KORE), Vital, NCW, SoundFont (SF2/SF3), tracker modules (MOD/XM/IT), MP4, VST FXP, ReCycle RX2, and RMID containers via inspect. Beyond reading: repair and validate fix and check container structure (stale sizes, offset tables, counts, pad bytes) without touching a byte of audio, and audit gives a forensic verdict (structure, integrity, hidden data, and the writing tool). One pure-Python dependency (mutagen); the native inspect walkers need nothing. Optional librosa analysis for BPM/key detection and ML feature extraction.

Also ships per-library SQLite indexes (acidcat index) tracked in a small global registry, plus an MCP server (acidcat-mcp) so an LLM can query your whole collection across libraries by bpm, key, tags, or full-text.

github.com/hed0rah/acidcat
github.com/hed0rah/acidcat-playground
www.databurn.org

WhatChord ~ Realtime Chord Identification


WhatChord is an interactive chord identification, key detection, and harmony exploration app. Identify voicings from live Bluetooth or USB MIDI input or manual note entry, follow the key as you play, then explore chords, scales, keyboard patterns, and harmonic context. It is optimized for speed, accuracy, and musician-expected naming, favoring stable, conventional interpretations over simple note-matching.

WhatChord User Interface

whatchord.earthmanmuons.com
github.com/EarthmanMuons/whatchord

Chord Cadenza ~ MIDI Chord Player


This app helps you to play and improvise chords whilst a MIDI file or audio source is being played. It does this by updating a rolling display to map the chord notes to a piano keyboard. It can also dynamically assign notes or chords to keys on a MIDI or PC keyboard.

Synchronisation is achieved automatically from a MIDI file. An audio file (e.g. MP3) can be synchronised and saved using the program.

Chords and major/minor keys can be extracted from the MIDI file using a configurable tool that analyses the MIDI file. Chords, keys, and time signatures can also be created or updated manually – this allows you to play along with an audio source without requiring a MIDI file.

The program contains a sequencer-style display that can be used to control the volume, panning, muting, solo’ing and patching of the tracks of the MIDI file.

Audio can be rendered with the program’s builtin synthesizer (using SoundFonts), or an external synthesizer.

Features:

  • Extract keys and chords from a MIDI file.
  • MIDI sequencer with track display and control.
  • Output to built-in synthesizer or MIDI out port.
  • ASIO and non-ASIO sound cards supported.
  • Play with MIDI or PC keyboard.
  • Display chords on a piano roll to facilitate playing and improvisation.
chord cadence interface

chordcadenza.org
sourceforge.net/projects/chord-cadenza

Drum Machine ~ Create & Play Drum Beats


Drum Machine is a modern and intuitive application for creating, playing, and managing drum patterns. Perfect for musicians, producers, and anyone interested in rhythm creation, this application provides a simple interface for drum pattern programming. Have fun!

Features:

  • Intuitive grid-based pattern editor with infinite pages
  • Custom samples: Add your own drum sounds with MIDI note mapping
  • Adjustable BPM control
  • Volume control for overall mix
  • Save and load patterns
  • Multiple drum sounds including kick, snare, hi-hat, and more
  • Audio and MIDI export with support for WAV, FLAC, Ogg, MP3, and MIDI formats
  • Metadata support for embedding artist name, song title, and cover art
  • Keyboard shortcuts for quick access to all functions

apps.gnome.org/DrumMachine
github.com/revisto/drum-machine

Music-DJ ~ MusicDJ Recreated


A recreation of the music making app found on Sony Ericsson devices of the 2000s.

Features:

  • Create songs using the original samples
  • Open original MusicDJ MIDI files
  • Export the songs to the .wav format
  • Both a Dark and a White theme are available, more in the future

github.com/pattlebass/Music-DJ

KeyKit ~ MIDI Scripting GUI


An algorithmic MIDI scripting language and GUI system. Musical Fun with Windows, Tasks, and Objects.

github.com/nosuchtim/keykit
github.com/nosuchtim/keykit/tree/master/dist
github.com/nosuchtim/keykitwasm
en.wikipedia.org/wiki/Keykit
sites.google.com/site/albertozin/Home/keykit

Install Procedure:

  • Navigate to the KeyKit GitHub repository (nosuchtim/keykit).
  • Open the /dist/ directory.
  • Download the appropriate archive for your system: Windows (key_nt.zip), Linux (key_linux_alsa.zip), or Raspberry Pi (key_raspbian.zip).
  • On Windows, right-click the downloaded .zip file, select “Extract All,” and extract it to a simple path such as C:\tools\keykit\.
  • On Windows, open the extracted folder and double-click key.exe to launch KeyKit and in the KeyKit console enter midiout("KeyKitPort").
  • On Linux, open a terminal, navigate to your download directory, run unzip key_linux_alsa.zip, then cd keykit, then run ./key from inside the keykit folder.
  • If Linux reports a permission error, run chmod +x key and then ./key.
  • Install a virtual MIDI driver on Windows (for example, loopMIDI).
  • Launch the MIDI driver and create a virtual port (for example, KeyKitPort).
  • Route the virtual MIDI port to a sound source such as a software synthesizer, DAW, or virtual MIDI instrument.
  • On Linux, verify MIDI devices by running aconnect -l.
  • Start a software synthesizer on Linux, for example fluidsynth -a alsa -m alsa_seq soundfont.sf2.
  • Run aconnect -l again to view available ports.
  • Connect KeyKit to the synthesizer using aconnect <keykit_port> <synth_port>.
  • In the KeyKit console, type 'c d e f g' and press Enter to test audio output.
  • Load a built-in sequencer by entering load "lib/seq.k" in the KeyKit console.
  • Optionally load a demo by entering load "lib/demo.k".
  • Ensure KeyKit is always launched from its root directory.
  • On Windows, if using a shortcut, set the “Start in” field to the KeyKit folder path.
  • On Linux, always run cd ~/keykit followed by ./key before launching.
  • If KeyKit cannot locate its libraries on Linux, set the environment variable with export KEYROOT=~/keykit.
  • Copy any additional .k scripts into the keykit/lib/ directory or your working directory.
  • Load additional scripts in KeyKit using load "myscript.k".
  • Create a startup script by making a file named startup.k.
  • Add commands such as load "lib/seq.k" and midiout("KeyKitPort") to startup.k.
  • Load the startup script in KeyKit using load "startup.k".
  • If KeyKit produces no sound, confirm MIDI devices exist and are properly connected.
  • If KeyKit fails to start, confirm you are running it from the correct directory and that permissions are set correctly on Linux.

QMidiArp ~ MIDI Arpeggiator & Phrase Generator


QMidiArp is a MIDI arpeggiator, phrase generator and controller LFO for ALSA and JACK. It can run multiple synchronized arpeggiators, LFOs and step sequencers. The modules are also available as LV2 plugins with Qt user interface. QMidiArp has been growing since June 2009 on top of Matthias Nagorni’s original arp idea.

Features:

  • Programmable arpeggio patterns, LFO waveforms and sequences
  • Modular setup of arpeggiators, MIDI LFOs and step sequencers
  • MIDI-controllable (MIDI-Learn)
  • Synchronization with MIDI Clock or JACK Transport possible
  • Optional triggering by keyboard or continuous play mode for all modules
  • Patterns can be stored and switched by MIDI control while running
  • JACK MIDI or ALSA MIDI backends
  • Modules available as LV2 Plugins

qmidiarp.sourceforge.net
sourceforge.net/projects/qmidiarp
github.com/emuse/qmidiarp
man.archlinux.org/man/qmidiarp.1.en
www.freshports.org/audio/qmidiarp

qmidiarp

Video:

Packages:

packages.debian.org/trixie/qmidiarp
packages.fedoraproject.org/pkgs/qmidiarp

References:

en.wikipedia.org/wiki/Synthesizer#Arpeggiators
www.linuxjournal.com/content/linux-arpeggiators-part-1
en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture
en.wikipedia.org/wiki/Low-frequency_oscillation
en.wikipedia.org/wiki/JACK_Audio_Connection_Kit

SY-FloorBoard ~ BOSS & Roland Editors


A collection of graphical midi based editors, each made specifically for the BOSS SY-1000 , Roland VG-99 guitar, or VB-99 bass synth units, which provide an alternative to the Boss or Roland version of midi editors, with full features and control of the SY-1000, VG-99, or VB-99 from a Windows, Mac, or Linux computer.

Features:

  • Midi editing of parameters on-line or off-line, text list generation of settings, file load/save/backup/restore, ease of use with graphical interface.
  • A different version specific for each device.
  • SY-1000FloorBoard version also has features to convert patches from VG-99,VB-99, GP-10, GT-1000 units.
SY-1000 Floorboard interface

sourceforge.net/projects/sy1000floorboard