Masterpiece

Pipe organ sample player for Hauptwerk-format and GrandOrgue sample sets.

Download Masterpiece Free and open source · Windows, macOS, Linux, Raspberry Pi, Android and iPad
Standalone · VST3 · LV2 · AU C++20 · JUCE 9 GPLv3

Support me on Ko-fi

Recital

Seventeen minutes, nine organs, recorded from Masterpiece's audio output.

Programme and credits: attribution page.

Recital II

Twelve minutes, fifteen organs, filmed from the running console.

Programme and credits: attribution page.

Consoles

Thirty-seven sample sets tested, from a nine-register Flentrop to Nancy's four manuals.

Lipiny console
Lipiny — a historic case, drawstops lettered in Fraktur
A. Volkmann, 1898 · 25 stops · sample set by Piotr Grabowski
Kraków console
Kraków, St. John Cantius
40 stops, three manuals · sample set by Piotr Grabowski
Melcer console
Melcer Chamber Music Hall
chamber organ · sample set by Piotr Grabowski
Raszczyce console
Raszczyce
Vermeulen, 1965 · 21 stops · sample set by Piotr Grabowski
Nancy console
Nancy — four manuals, drawstops colour-coded by division
65 stops, four manuals · sample set by Piotr Grabowski
Lemmer console
Lemmer — a Flentrop, with the recording perspective on the case
Flentrop, 1977–78 · 9 registers · sample set by Augustine’s Virtual Organs
Nagyrákos console
Nagyrákos — an Angster organ
Angster, 1938 · demonstration set · sample set by Augustine’s Virtual Organs
Hungarian village organs console
Hungarian village organs — the organs of two village churches in one set
composite set · sample set by Augustine’s Virtual Organs
Zalalövő console
Zalalövő — a modern baroque organ
Aquincum · demonstration set · sample set by Augustine’s Virtual Organs
Császár console
Császár — a Luber organ
F. X. Luber, 1793 · demonstration set · sample set by Augustine’s Virtual Organs
Vasvár, Dominican church console
Vasvár, Dominican church
demonstration set · sample set by Augustine’s Virtual Organs
Kézdimartonfalva console
Kézdimartonfalva — a Dutch harmonium
harmonium · sample set by Augustine’s Virtual Organs
Szombathely console
Szombathely — an Eule organ
Eule · demonstration set · sample set by Augustine’s Virtual Organs
Hajós console
Hajós — an Angster organ
Angster · demonstration set · sample set by Augustine’s Virtual Organs
Székesfehérvár, Franciscan church console
Székesfehérvár, Franciscan church — a Mauracher organ
Mauracher · demonstration set · sample set by Augustine’s Virtual Organs
Székesfehérvár, Cistercian church console
Székesfehérvár, Cistercian church — an Angster organ
Angster · demonstration set · sample set by Augustine’s Virtual Organs
Ják Abbey console
Ják Abbey — an Angster organ
Angster, 1902 · demonstration set · sample set by Augustine’s Virtual Organs
Monor, Reformed church console
Monor, Reformed church — a Rieger organ
Rieger · demonstration set · sample set by Augustine’s Virtual Organs
Budapest, Church of the Holy Spirit console
Budapest, Church of the Holy Spirit
demonstration set · sample set by Augustine’s Virtual Organs

Each of these is a separately published sample set, five by Piotr Grabowski and fourteen by Augustine’s Virtual Organs. Full credits are on the attribution page.

Memory

Samples are held at 24 or 16 bits, optionally folded to mono, with release tails streamed from disk. Stops, perspectives and individual ranks can be excluded from a load.

Friesach, 44 stops, 17 GB: 21.6 GB as 32-bit float, 16.2 GB at 24-bit, 4.65 GB at 16-bit streamed, 2.33 GB in mono. Opens in 77 s at full size, 25.9 s streamed, 18.9 s from the sample cache.

Packages

Sets play straight from their RAR archives (RAR 4 and 5, solid and multi-volume) and GrandOrgue .orgue packages.

Setup

The console being played

Wiring

Couplers, octave couplers, reversibles, crescendo and alternate ranks are resolved through each set's own switch network.

MIDI settings: keyboards, channels and learning

Your keyboards

Manuals are mapped by MIDI channel, with per-manual key range, transposition, velocity window, short octaves and debounce. Drawstops, pistons and shoes are assigned by MIDI learn, and a console mapping can serve as the default for every organ.

Favourites and combination sets

Combinations

Every organ gains up to 100 generals, divisionals per manual and a 999-frame stepper, with named combination sets and organ favourites assignable to thumb pistons.

Voicing: per-rank and per-pipe level and tuning

Voicing

Level and tuning adjustments per rank and per pipe, with two voicing sets for A/B comparison.

Engine settings: DSP switches, preload and streaming

Loading

Resident format, mono folding, sample rate, release streaming, sample cache and memory limit, saved per organ or as defaults.

Mixer: routing ranks to output pairs

Routing

Ranks are routed per organ to up to eight stereo output pairs.

Engine

Release selectionBy key hold time, crossfaded from the sustain loop
Wind modelChests, bellows and valves solved as a coupled system; pitch and level track pressure
EnclosuresPer-box level and low-pass filtering
TremulantsAmplitude and pitch modulation per chest and per pipe
InterpolationHermite (Catmull-Rom)
Polyphony1536 voices; release-first voice stealing
SIMDAVX2, SSE2, NEON (experimental, 3–5× at 512 voices)
TemperamentsOrgan's own, equal, Werckmeister III, Kirnberger III, Vallotti, Young II, ¼-comma meantone, Pythagorean, Silbermann; Scala .scl
Sample formatsWAV, WavPack; 16/24-bit resident, mono folding, rate conversion on load
DefinitionsHauptwerk-format XML (full and compact), GrandOrgue .organ
PackagesRAR 4/5 (solid, multi-volume), GrandOrgue .orgue
MIDIMultiple inputs, learn, drawstop lamp output, SysEx jamb displays, virtual input (macOS, Linux)
RecordingMIDI with stop and shoe events; audio; metronome

Source

LanguageC++20
FrameworkJUCE 9
Build systemCMake 3.22+, Ninja; dependencies fetched at configure time
CompilersMSVC 2022, GCC 12+, Clang 14+
TargetsWindows x64; macOS arm64, x86_64; Linux x86_64, arm64, armhf; Android; iOS
FormatsStandalone, VST3, LV2, AU
LicenceGPL-3.0-only
cmake --preset dev
cmake --build --preset dev

Platform dependencies: README.

Credits

GrandOrgue

Voice engine, release crossfade.

OdfEdit

Organ definition format.

rusty-pipes

Samples, loops, file formats.

HISE

Streaming through per-voice buffers.