Oxe FM Synth official repository
C C++ Other


Oxe FM Synth

Welcome to the Oxe FM Synth official repository.


This repository contains the synth core and three 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 VST plugin for Windows (32/64bit), Linux 32/64bit and Mac OS X (64bit)



Requirements: mingw-w64 and msys. Install both 32 and 64bit (run the installer twice). On the msys shell just type mingw32-make.


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.

Mac OS X

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.


To use a ready skin or test a new one, just put the images in a "skin" dir in the same dir as the plugin/standalone executable.