OB-Xf is a continuation of the last open source version of OB-Xd by 2DaT and later discoDSP, bringing together several efforts going on in the audio space and combining them inside the Surge Synth Team infrastructure.
The synth is currently in a beta phase, with a few features still under development, but the plugin is feature stable and working rather well, we believe.
We provide installers (signed DMG for macOS, EXE for Windows x64/ARM64/ARM64EC, DEB for Linux x86_64 built on Ubuntu 20) here. See that page for installation instructions.
Patches and banks created by OB-Xd are compatible with OB-Xf, using the "Import OB-Xd Bank..." option in the patch browser, or by simply drag-and-dropping OB-Xd FXP/FXB files onto OB-Xf's interface. This functionality was introduced in v1.1 update.
Fidelity of conversion is retained in all cases except one. This is due to the fact that OB-Xd has an offset of 12 semitones when all coarse tuning controls are set to 0 semitones - so middle C produces ~464 Hz instead of the expected ~232 Hz. OB-Xf has fixed this reference pitch, and compensates for the discrepancy by increasing the Transpose parameter by 12 semitones. If Transpose parameter was already at maximum, both oscillators are pitched up by 12 semitones. If either of the oscillator pitch controls don't allow for an increase of 12 semitones, the imported patch will sound one octave lower than in OB-Xd.
Using CMake:
git submodule update --init --recursive
cmake -B Builds/Release -DCMAKE_BUILD_TYPE=Release .
cmake --build Builds/Release --config Release --target obxf-stagedThis will build supported plugin formats and place them in builds/Release/obxf_products. If you self-build, you are responsible for installing the assets from assets/installer in the appropriate location. When running the plugin or standalone, you will see where OB-Xf attempted to look for assets, if you get it wrong.
If you are on a unix system we provide the following convenience to install the factory assets after a build
cmake --install Builds/ReleaseYou may need a sudo. Like the build, this will use the CMAKE_INSTALL_PREFIX for the shared location
iOS support is being added incrementally. The initial CMake wiring enables iOS-safe formats (AUv3, Standalone) and disables desktop-only packaging steps.
OB-Xf is GPLv3 software. We do not distribute an iOS build through Apple's App Store because Apple and the FSF disagree on whether App Store distribution is compatible with GPLv3 terms. As a result, iOS support is self-build only.
The current iOS CMake setup targets iPad (TARGETED_DEVICE_FAMILY=2).
A starting point for generating an Xcode iOS project is:
cmake -B Builds/iOS -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DOBXF_IOS_DISABLE_CODESIGN=ON .
cmake --build Builds/iOS --config ReleaseIf you want to sign for device install, set your team ID and disable the no-signing default:
cmake -B Builds/iOS -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DOBXF_IOS_DISABLE_CODESIGN=OFF -DOBXF_IOS_DEVELOPMENT_TEAM=YOURTEAMID .Packaging and asset installation for iOS are not complete yet.
This repository and the source code is under GPL3 license. OB-Xf is and always will be free in all contexts and for all uses, with the source code available and modifiable, and the software usable in any context, free or commercial.