Overtonium 1.5.0
A 32-partial additive synthesiser laid out like a 32-channel mixer. Every channel is one sine oscillator locked to a harmonic of the played note, and every channel has its own tuning, envelope and modulation.
What is new in 1.5.0
Seven more factory presets, twenty-six in all. Six of them are the same instrument seen from different angles, because an electric piano is what a stack of sine waves is good at.
DigiLog is a digital instrument through analogue gear that has seen better days. The envelope delay climbs with the partial, from a tenth of a millisecond on the fundamental to five seconds on the 32nd, so the series arrives from the bottom up and reads as a filter opening in steps rather than sweeping. At 16 kHz and 8 bits, with the echo at as much feedback as it will take.
Dire Dire EP is a soft, round electric piano of the kind written for underwater music. The body is the fundamental and a few low partials, with the 13th and the 15th left standing well clear of their neighbours, which is the tine ringing over the top of an otherwise dark sound.
EP Chimes is a round electric piano with bright chimes above it, at 16 kHz and 8 bits so the artefacts belong to the sound rather than sitting on top of it. FM Piano is the electric piano an FM synthesiser makes rather than the instrument it is imitating. Nylon EP is rounder still, as though the tines were nylon rather than steel. Space Flute is a synthesised pan flute a long way off, with the breath on the noise channel. Synth Ensemble is strings and brass in one patch, where a third of a second of attack across the whole series is what makes it an ensemble rather than one player.
The preset menu is two submenus rather than one long list. Twenty-six factory presets and however many of your own runs off the bottom of a short screen, and a menu that scrolls hides its own shape. Factory and Saved are submenus now, and whichever preset is loaded is ticked inside the one holding it.
Folders group your presets. Make a folder in the preset folder and it becomes a group in the menu, holding whatever is inside it and nesting as deeply as you nest the folders. There is nothing to set up and no second place to manage it: moving a preset between groups is moving a file, and "Open the preset folder" is already in the menu. Groups are listed before the presets sitting loose beside them.
Nothing in the Settings menu travels with a preset any more. Saving a preset used to write your polyphony, temperament, bend range, MPE and the rest into the file, so recalling a sound reached over and changed how the instrument was set up. The factory presets already knew better. Both kinds follow the same rule now, and carry exactly the same set of controls as each other.
Fixed
A note held by the sustain pedal clicked when you played it again. With one voice per key, striking a note that is already sounding retriggers the voice where it stands rather than taking a second one, and the envelope restarted from silence when it did. That is a step in the output the size of whatever was ringing, and a note under the pedal is ringing at its sustain level. Letting the key go instead has always taken a short fade, which is why this only ever sounded with the pedal down. Measured on one partial, the worst sample step across the second strike falls from 0.699 to 0.024, which is the slope of the waveform itself.
The first factory preset could not be chosen from a host's menu. A new instance has to report some program number and zero is the only honest one, but it sounds like the panel defaults rather than like that preset. So Logic drew its menu with the first entry already selected, and picking it did nothing at all. It loads now, and re-selecting the preset a session was saved on still leaves your edits alone, which is what that behaviour was protecting.
The preset name was forgotten when the window was closed. A window is opened and shut far more often than a preset is chosen, and a session restored from disk has no window at all until you ask for one. The name is part of the saved state now, so it survives both.
Loading a factory preset left three of the noise channel's controls where the last patch had them. Its aftertouch amount, tremolo rate and velocity amount were never reset, while all 32 oscillators were. Found by a test that holds the two kinds of preset against each other.
Closing a window no longer waits on the update check. It could take up to five seconds if the far end accepted the connection and then went quiet, on the same thread that draws the interface.
Upgrading from 1.4.0
Patches and presets load unchanged and sound identical.
The factory presets are renumbered, since the seven new ones sort into alphabetical place rather than onto the end. A session that stored a preset by number opens on a different one. The sound is stored with the session either way, so nothing changes underneath you, but the name shown may not be the one you saved.
Presets you saved before this version still load, and the settings they recorded are ignored rather than applied. If you have been relying on a preset to set your polyphony or temperament, it will stop doing that, which is the point.
Installing
The install page has a row per file saying who each one is for. In short: take the installer for your platform, or the zip beside it if you have no administrator rights or keep plugins somewhere of your own.
| Platform | Installer | Formats |
|---|---|---|
| macOS | .pkg, with a chooser |
VST3, Audio Unit, Standalone |
| Windows | .exe |
VST3, Standalone |
| Linux | none, use the zip | VST3, LV2, Standalone |
The macOS build is a universal binary and runs on both Apple Silicon and Intel. Logic and GarageBand only look for new Audio Units when they start, so restart them after installing.
On Linux the zip's contents go in ~/.vst3 and ~/.lv2.
If you installed an earlier version with the package, the installer replaces it. A plugin folder holding two copies of Overtonium is worth tidying: macOS registers one of them and the host uses whichever that is, which need not be the newer.
What has actually been tried
All three platforms are built on every push, run through both test suites, and put through pluginval at strictness 8. The VST3 also goes through Steinberg's own conformance validator, and both suites run again under the address and undefined behaviour sanitizers. macOS is the only platform where the plugin has been loaded into a real host, where the Audio Unit and the VST3 also pass auval. Nobody has run the Windows or Linux builds in a DAW yet, so treat those as untried and please open an issue with whatever you find.
Windows will warn you
The Windows installer is not signed, so SmartScreen says the publisher is unknown. Choose "More info" and then "Run anyway". If you would rather not, build from source: the readme says how, and it takes one CMake command.
macOS
The installer is signed and notarised, so it opens without a warning. It asks which of the three formats you want and installs only those.
Licence
AGPLv3, which follows from JUCE. The whole source is in this repository.