bing050802 / OctaSine

VST2 frequency modulation synthesizer written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OctaSine

VST2 frequency modulation synthesizer written in Rust.

Downloads
macOS (Intel)Windows

Audio examples
SoundCloud

Screenshot

Screenshot of OctaSine

About

  • Four operators with independent parameters such as volume, panning, modulation index, feedback, three different frequency modifiers (ratio, free and fine) and ADSR 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.
  • Master volume and master frequency parameters
  • Four LFOs capable of targeting most operator parameters as well as most parameters of lower index LFOs.
  • 128 voices (using them all simultaneously might consume quite a bit of CPU time though)
  • Fully automatable

Installation

macOS

  1. Download the latest version from the release page.
  2. Unzip the file.
  3. Move OctaSine.vst to your plugin folder, which is typically /Library/Audio/Plug-Ins/VST/. You may be promted to enter your administrative password.

Windows

  1. Download the latest version from the release page.
  2. Unzip the file.
  3. Move OctaSine.dll to your plugin folder. You may be promted to enter your administrative password.

Linux

Please refer to the section on installing from source below.

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. If you didn't install the nightly Rust toolchain in the last step, do it now:

rustup toolchain install nightly
  1. Install homebrew.

  2. 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 to modify the path variable.
  3. Install git.
  4. Clone this repository to a folder on your computer.
  5. Build the OctaSine plugin:
cargo build --release -p octasine_vst2_plugin
  1. Copy target\release\octasine.dll to your VST plugin folder.

SIMD support

Windows SIMD support (for better performance) is experimental. To enable it, you need to:

  • Install the nightly Rust toolchain instead.
  • Install the prerequisites for a non-simd install outlined above.
  • Install cmake. When prompted, choose the option to add cmake to the system executable path.

Then, build OctaSine with:

cargo +nightly build --release --features "simd" -p octasine_vst2_plugin

Afterwards, 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
  1. You might need to install llvm/clang dependencies too.
  2. 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
  1. Copy target/release/liboctasine.so to your VST plugin folder

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

License:GNU Affero General Public License v3.0


Languages

Language:Rust 98.8%Language:Shell 1.2%