Skip to content
Frequency modulation based VST2 plugin written in Rust
Rust Shell
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
contrib Move to new contrib dir, update README license part Jul 20, 2019
docs README: add more install info including cmake Aug 7, 2019
octasine Commit atomic_double file that was caught in .gitignore Jul 23, 2019
octasine_vst Rename FmSynth struct to OctaSine Jul 20, 2019
simd_sleef_sin35 simd_sleef_sin35: use doubles, use AVX and AVX2 functions Jul 23, 2019
.gitignore Commit atomic_double file that was caught in .gitignore Jul 23, 2019
Cargo.toml Link sleef statically by using sleef-sys fork Jul 20, 2019 README: add info about default operator routing Aug 7, 2019 Update TODO Jul 23, 2019


Frequency modulation based VST2 plugin written in Rust


  • Four operators with independent parameters such as volume, panning, modulation index, feedback, three different frequency modifiers (ratio, free and fine) and ASDR volume envelope parameters. The operators can be independently switched to white noise mode
  • Flexible routing allowing setting the output operator (with some limitations) as well as the percentage of signal that is simply added to the final output, enabling additive synthesis. By default, operator 4 is routed to operator 3, operator 3 to operator 2 and operator 2 to operator 1.
  • 128 voices (using them all simultaneously might consume quite a bit of CPU time though)
  • Fully automatable (nice way of saying there is currently no built-in graphical user interface)
  • Master volume and master frequency parameters


This is not a final version of the audio rendering engine. The envelopes might be adjusted. This means any patches you make might sound different with later versions.



If you have already any of the software mentioned below, that step can be skipped.

Install the rust compiler. Requires the XCode build tools from Apple, you will probably be prompted to install those.

Install nightly Rust toolchain:

rustup toolchain install nightly

Install homebrew.

Install git and cmake with homebrew:

brew install git cmake

Clone this repository to a folder on your computer:

mkdir -p "$HOME/Downloads"
cd "$HOME/Downloads"
git clone

Build and install:


Advanced: If you don't want SIMD support and/or prefer the stable toolchain, instead run:


Binary (pre-built) releases might be uploaded eventually.

Other platforms

Have a look at the cargo invocations from the macOS section scripts, they should work fine.


OctaSine is licensed under the GNU GPL 3.0. This goes for all code in this repository not in the following list:

  • The crate simd_sleef_sin35 is licensed under the Apache 2.0 license.
  • contrib/ is licensed under the MIT license. See the file for specifics


  • The name OctaSine comes from the four stereo sine-wave operators
You can’t perform that action at this time.