Libfmsynth released

Recently I released my pet project on GitHub. https://github.com/Themaister/libfmsynth

It’s an FM synthesis library licensed with MIT. Unlike most other FM synths, it does not try to emulate existing synths (like DX7) or particular FM chips (like YM*).

It has 8 operators implemented in floating point, with no fixed algorithms. Every operator can modulate any other modulator which makes it more flexible to program compared to a fixed number of hardcoded configurations like in classic Yamaha FM. This kind of processing gets kinda heavy (350 flops needed for a single sample), but the core processing is heavily optimized for SSE, AVX and NEON.

Since it’s not based on any particular synth there are no readily available presets for it (FM experimentation is quite fun though :p). My SoundCloud page has some sample music recorded with it: https://soundcloud.com/zoned-music/sets/fm-synth

There’s also an LV2 plugin implementation with a simple GTKmm GUI, which I use in Ardour3 DAW to play stuff and tweak presets.

See Github page for more about features, etc.