Skip to content

iorhythm/Scyclone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  SCYCLONE

interface

Scyclone is an audio plugin that utilizes neural timbre transfer technology to offer a new approach to audio production. The plugin builds upon RAVE methodology, a realtime audio variational auto encoder, facilitating neural timbre transfer in both single and couple inference mode.

This enables a new artificial layering technique to be applied on the incoming signal in creating richer drum pallets, fuller atmospheres or simply transferring the timbre of the raw signal to another sound pallet. To further control the behaviour and production of the neural networks, we have internally equipped the plugin with signal processings modules allowing the user to shape, control and embellish the source and target timbres in a distinct manner.

Overview

signal_flow

Signal flow:

Scyclone offers an intuitive signal flow allowing for a seamless influence over inference and sound synthesis. The pre-processing modules are:

  • Transient Controller: Shaping the attack and sustain of the singal
  • Low-/High-Cut Filter: Refining the frequency range of input audio favouring a consistent sound

Additional in-built postprocessing modules permit for further manipulation and formation of the timbre transferred signal. The post-processing modules are:

  • Grain Delay: Adding depth and texture
  • Blend: Crossfades between the outputs of the models and obtain a harmonious mix
  • Post-Compressor: Controls the dynamics and glues the outputs together

Trained models:

We have provided two pre-trained models (presets) accessible under assets/models directory.

  • Funk Drums: Trained on four hours of captivating vintage drum-breaks
  • Djembe: Trained on five hours of carefully compiled Djembe dataset (Three hours of Djembe solo performances and two hours of one-shot recordings)

Installation

Scyclone uses the onnxruntime library to inference the neural networks. At the present time, the library is included as a shared library, therefore it is necessary to move the shared library and place itnext to the exectutable or to your system library path.

Detailed instructions can be found here:

Build instruction

If you are on macOS you need to install the onnxruntime v1.12.1 library via homebrew:

brew install faressc/scyclone/[email protected]

Build with CMake

# clone the repository
git clone https://github.com/Torsion-Audio/Scyclone
cd Scyclone/

# initialize and set up submodules
git submodule update --init --recursive

# on macOS you might need to specify the processor type with -DCMAKE_HOST_SYSTEM_PROCESSOR=x86_64 or arm64
cmake . -B cmake-build
cmake --build cmake-build --config Release

Note: On Windows, CMake should automatically download the prebuild onnxruntime library (version 1.12.1). If the script fails, manually download the library following the instructions below:

  • Download onnx v1.12.1 (Select the required prebuild)
  • Extract the file and rename the folder toonnxruntime-1.12.1
  • Copy the folder to path/to/Scyclone/modules/
  • Now you sould have the following file structure Scyclone/modules/onnxruntime-1.12.1/include

Further notes

  • (On macOS) The binaries are not notarized yet, therefore check your system's security setting when you run the application or build the plugin/standalone yourself.
  • Apple's arm64 processors are supported with the latest update.

References

Licenses

This project is subject to multiple licenses. The primary license for the entire project is the GNU General Public License version 3 (GPLv3), which is the most restrictive of all the licenses applied herein.

About

Real-time Neural Timbre Transfer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.3%
  • CMake 6.0%
  • GLSL 1.4%
  • C 1.3%