Skip to content

Repository files navigation

Oxe FM Synth

Welcome to the Oxe FM Synth official repository.

Oxe FM Synth

This repository contains the synth core and four different ways to use it:

  • as a demo (for testing synth engine, for profiling or just for fun)
  • as a standalone application (for testing GUI)
  • as a CLAP plugin (CLever Audio Plug-in) for Windows, Linux, and macOS
  • as an optional VST3 plugin for Windows, Linux, and macOS

Building

Typing make builds the demo, converter, standalone application, and the CLAP plugin (oxefmsynth.clap) into the bin/ directory.

CLAP Plugin (Recommended)

CLAP is a completely open, free, and modern plugin standard. It is prioritized and built by default:

make clap

(or simply make, or make -f Makefile.clap). The CLAP SDK is automatically downloaded at build time if not present. The resulting oxefmsynth.clap is created in the bin/ directory.

To install the CLAP plugin to the default user directory (~/Library/Audio/Plug-Ins/CLAP on macOS, ~/.clap on Linux, %LOCALAPPDATA%\Programs\Common\CLAP on Windows):

make install

VST3 Plugin (Optional)

VST3 support is optional. To build the VST3 plugin (the VST3 SDK is automatically downloaded at build time if not present):

make vst3

(or make -f Makefile.vst3). The resulting oxefmsynth.vst3 is created in the bin/ directory.

To install the VST3 plugin to the default VST3 user directory (~/Library/Audio/Plug-Ins/VST3 on macOS, ~/.vst3 on Linux, %LOCALAPPDATA%\Programs\Common\VST3 on Windows):

make install-vst3

Platform Requirements

Windows

Install MSYS2 and open the MSYS2 UCRT64 terminal.

Install the required toolchain and dependencies:

pacman -S git make zip mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-ninja

Then simply run make (or make clap, make vst3).

Linux

To build native executables just type make (requirement: g++). To build Windows executables on Ubuntu, type sudo apt-get install mingw-w64 to install the required tools.

macOS

On Xcode, install the "Command Line Tools" and type make on terminal. The Xcode IDE itself is not used.

All the code is always compiled by once on purpose, to make sure everything is fine (because it is a tiny project). converter is a development tool for creating the demos. It converts a .mid file in a tune.h used for the demo player.

Using the standalone

While we are working on GUI (changing code or making skins) this standalone version helps a lot, because it is faster than open the plugin host, create a track, add the plugin, and so on. With the standalone version we reduce it in only one step. To cross-compile it for Windows, from Linux, run make -f Makefile.standalone TARGET=WIN32. To build a native version, just type make -f Makefile.standalone.

Using the demo

By default, a native plataform executable is generated. The tune can be rendered to a .wav file, to the memory (for profiling purposes) and, optionally, to the sound card in real time, using DirectSound. You can enable this building it with make -f Makefile.demo WITH_DSOUND=YES. Once it is done, the default behaviour is to start playing. The command line parameters -f (to file) and -m (to memory) still works if used. To cross-compile it for Windows, from Linux, run make -f Makefile.demo TARGET=WIN32. To build a native version, just type make -f Makefile.demo.

About

Oxe FM Synth official repository

Resources

Stars

209 stars

Watchers

21 watching

Forks

Releases

Packages

Used by

Contributors

Languages