Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OctaSine

VST2 frequency modulation synthesizer written in Rust.

Official website with downloads
OctaSine.com

Audio examples
SoundCloud

Screenshots

Light mode

Screenshot of OctaSine in light mode

Dark mode

Screenshot of OctaSine in dark mode

About

  • Four FM operators with parameters for volume, panning, modulation index, feedback, frequency modifiers (ratio, free and fine), envelope values (attack, decay, release) and toggling of white noise mode.
  • Flexible routing allows setting the operator modulation target (with some limitations) as well as the percentage of signal that is simply added to the final output, enabling additive synthesis.
  • Four LFOs with multiple waveforms, oneshot and loop modes and optional DAW BPM sync. They can target most operator parameters and most parameters of lower-index LFOs.
  • Each operator is connected to an attack-decay-sustain-release volume envelope with logarithmic slopes.
  • Per-operator white noise mode makes it easy to create percussive sounds such as hi-hats and cymbals.
  • Runs on macOS, Windows 10 and Linux in VST2-compatible DAWs. Synthesis is SIMD-accelerated where possible.
  • Master volume and master frequency parameters
  • 128 voices (using them all simultaneously might consume quite a bit of CPU time though)
  • Fully automatable

Installation

Please refer to OctaSine.com.

Installation from source code

macOS

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

  1. Install the Rust compiler. Choose the nightly toolchain when prompted. Requires the XCode build tools from Apple, you will probably be prompted to install those.

  2. Install homebrew.

  3. Install git and cmake with homebrew:

brew install git cmake
  1. Clone this repository to a folder on your computer:
mkdir -p "$HOME/Downloads"
cd "$HOME/Downloads"
git clone https://github.com/greatest-ape/OctaSine.git
cd OctaSine
  1. Build and install:
./scripts/macos/build-simd-and-install.sh

Windows

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

  1. Install Microsoft C++ Build Tools. Make sure that the Windows 10 SDK and the English language pack components are included during installation.
  2. Install the Rust compiler. When prompted, choose the nightly toolchain and to modify the path variable.
  3. Install cmake. When prompted, choose the option to add cmake to the system executable path.
  4. Install git.
  5. Clone this repository to a folder on your computer.
  6. Build OctaSine:
cargo +nightly build --release --features "simd" -p octasine_vst2_plugin
  1. Copy target\release\octasine.dll to your VST plugin folder.

Linux

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

  1. Install the Rust compiler. Choose the nightly toolchain when prompted.
  2. Install dependencies, e.g.,
sudo apt-get install cmake git build-essential libx11-dev libxcursor-dev libxcb-dri2-0-dev libxcb-icccm4-dev libx11-xcb-dev 

You might need to install llvm/clang dependencies too, e.g.,

sudo apt-get install llvm clang

On Debian 10, you might need to install some more dependencies:

sudo apt-get install pkg-config libfreetype6-dev libexpat1-dev
  1. Clone this repository to a folder on your computer, e.g.,
mkdir -p "$HOME/Downloads"
cd "$HOME/Downloads"
git clone https://github.com/greatest-ape/OctaSine.git
cd OctaSine
  1. Build the OctaSine plugin:
cargo +nightly build --release --features "simd" -p octasine_vst2_plugin

If build fails, please try building without sleef SIMD acceleration:

cargo +nightly build --release -p octasine_vst2_plugin
  1. Copy target/release/liboctasine.so to your VST plugin folder

  2. You might need to install Vulkan graphics drivers too. More info here.

Architecture

See ARCHITECTURE.md.

Copyright and license

Copyright (C) 2019-2021 Joakim Frostegård

OctaSine is licensed under the GNU Affero General Public License, Version 3, as published by the Free Software Foundation. See LICENSE for details.

Contents of the contrib directory are licensed under other terms. Please refer to the contained directories and/or files for details.

Trivia

  • The name OctaSine comes from the four stereo sine-wave operators

About

VST2 frequency modulation synthesizer written in Rust

Topics

Resources

License

Packages

No packages published