All Projects → lukemcraig → DAFx19-Gamelanizer

lukemcraig / DAFx19-Gamelanizer

Licence: GPL-3.0 License
Accompanying material for the paper 'A Real-Time Audio Effect Plug-In Inspired by the Processes of Traditional Indonesian Gamelan Music'

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to DAFx19-Gamelanizer

juceSynths
Collection of JUCE synthesisers utilising the Maximilian library.
Stars: ✭ 78 (+136.36%)
Mutual labels:  dsp, vsts, vst, juce
Juce
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins.
Stars: ✭ 3,841 (+11539.39%)
Mutual labels:  vst, au, juce
simple-reverb
A simple reverb made with the JUCE DSP module
Stars: ✭ 43 (+30.3%)
Mutual labels:  dsp, vst, juce
Melodrumatic
Audio plugin that lets you use MIDI to pitch-shift via delay to turn unpitched audio into melodies
Stars: ✭ 26 (-21.21%)
Mutual labels:  dsp, vsts, vst
juce-cookbook
Collection of tutorials & resources for the C++ library JUCE
Stars: ✭ 58 (+75.76%)
Mutual labels:  dsp, vsts, juce
dd-core
Rust-based VST plugin development library with hardware accelerated GUI support.
Stars: ✭ 32 (-3.03%)
Mutual labels:  audio-effect, vsts, vst
RTspice
A real-time netlist based audio circuit plugin
Stars: ✭ 51 (+54.55%)
Mutual labels:  dsp, audio-effect, digital-signal-processing
fogpad
A VST reverb effect in which the reflections can be frozen, filtered, pitch shifted and ultimately disintegrated.
Stars: ✭ 61 (+84.85%)
Mutual labels:  dsp, vst, vst-plugin
signalo
A DSP toolbox with focus on embedded environments written in Rust.
Stars: ✭ 71 (+115.15%)
Mutual labels:  dsp, digital-signal-processing
dsp
Header only C++14 library containing various digital signal processing utilities.
Stars: ✭ 30 (-9.09%)
Mutual labels:  dsp, digital-signal-processing
Planeverb
Project Planeverb is a CPU based real-time wave-based acoustics engine for games. It comes with an integration with the Unity Engine.
Stars: ✭ 22 (-33.33%)
Mutual labels:  dsp, digital-signal-processing
matchering-web
🎚️ Self-Hosted LANDR / eMastered Alternative
Stars: ✭ 25 (-24.24%)
Mutual labels:  dsp, vst
AtomSynth
A modular synthesizer built using the juce api.
Stars: ✭ 20 (-39.39%)
Mutual labels:  vst, juce
GuitarAmp
A basic and experimental guitar modeling amp
Stars: ✭ 79 (+139.39%)
Mutual labels:  audio-effect, vst
dsp.rs
Digital Signal Processing
Stars: ✭ 60 (+81.82%)
Mutual labels:  dsp, digital-signal-processing
DtBlkFx
Fast-Fourier-Transform (FFT) based VST plug-in
Stars: ✭ 99 (+200%)
Mutual labels:  dsp, vst
dsp-kit
A digital signal processing library in Javascript
Stars: ✭ 32 (-3.03%)
Mutual labels:  dsp, digital-signal-processing
TD-JUCE
JUCE audio and VSTs in TouchDesigner
Stars: ✭ 29 (-12.12%)
Mutual labels:  vst, juce
Bad-Circuit-Modelling
Correct modelling of incorrect circuits
Stars: ✭ 27 (-18.18%)
Mutual labels:  dsp, juce
pMix2
pMix - a preset interpolator, plug-in chainer and Faust IDE written with JUCE
Stars: ✭ 84 (+154.55%)
Mutual labels:  vst, juce

DAFx19-Gamelanizer

This repository contains the accompanying material to the DAFx19 paper 'A Real-Time Audio Effect Plug-In Inspired by the Processes of Traditional Indonesian Gamelan Music.'

Detailed documentation can be found here.

Demonstrations

Listen to input and output audio examples here.

Here is a YouTube video showing the plug-in operating.

Gamelanizer Video

Usage

Builds of the plug-in VSTs for Windows and macOS can be found in the releases tab of the repo. The VSTs have only been tested in the latest version of REAPER. If you try them in another DAW feel free to let us know if they work.

To use them, copy them to the directory where you DAW expects VSTs. When the plug-in is detected by your DAW it can be inserted on any audio track. Before beginning playback, you should set the BPM field in the plug-in GUI to match the host, assuming the input audio is in quarter-notes. If it's in half-notes, set the plug-in BPM to half the DAW BPM. If it's in eighth-notes, set the plug-in BPM to twice the DAW BPM. Sessions with changing tempos are not currently supported. For best results, the input audio should be quantized to the grid.

The pitch shift rotary knobs indicate perfect fourth, fifths, and octaves. To snap to these intervals, hold the modifier keys while dragging. Try stacking fourth and fifths or try unison by setting all the knobs to 0. Setting the sliders below 0 will use slightly more processing power. The high-pass and low-pass filters can be useful for putting the different subdivision levels further in the background. The "Drop Note" buttons mute the respective notes from being output (dropping note 4 from Level 2 means that every 4th sixteenth-note becomes a rest).

The plug-in currently only supports mono input. There are 7 output buses. Buses 1+2 are the default stereo out. Bus 3 is the input signal. Bus 4,5,6,7 are the mono outputs of Level 1,2,3,4. Use these buses if you want to combine Gamelanizer with other plug-ins and complicated routing. During playback, the filters and gain sliders should apply instantly if you move them. Changes to the pitch shift knobs will be delayed by a significant amount. However, if you write the automation in the DAW, then it will occur when it ought to.

Building

If you want to build Gamelanizer yourself, you'll need the latest version of JUCE. Open the included Gamelanizer.jucer file with the Projucer application to easily generate the correct Visual Studio or Xcode projects.

Optional

If you want to use the MKL FFT and have it installed on your computer, go to the juce_dsp module page in the Projucer and set JUCE_DSP_USE_INTEL_MKL to Enabled. If you're building on macOS make sure you build with Release - MKL in Xcode. If you're building on Windows, follow the instructions in the Notes section of Release - MKL configuration in the Projucer.

screenshot

License

Gamelanizer is licensed under the GNU General Public License v3.0. See LICENSE for more.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].