Coder Social home page Coder Social logo

valsteen / note_effects_vst Goto Github PK

View Code? Open in Web Editor NEW
15.0 6.0 2.0 4.05 MB

Collection of note effects : note off delay and notes limit, note fan-out, note generator, modulable pitch and channel pressure, non-note filter, midi delay, maximum note duration

License: The Unlicense

Rust 98.00% Shell 2.00%
rust vst bitwig vst-plugin generator-vst midi

note_effects_vst's Introduction

Collection of note effects VSTs

These VST plugins were made possible thanks to https://github.com/RustAudio/vst-rs

I made those plugins because some features cannot be achieved with just bitwig devices.

Delay notes off and limiting amount of running notes

note_off_delay provides a feature similar to note latch, except that instead of leaving the note run forever, after the original note is stopped, it will still run for a configurable amount of time. This is implemented by delaying the note off midi message ; this can be considered as some sort of sustain pedal.

The plugin can also limit the amount of running notes, stopping the oldest note if an incoming note exceeds the configured limit. Both effects can be used independently or together.

The note off delay can be useful when jamming, making the sound fuller without having to keep your hands on the keys ; combined with the notes limit, this avoids saturation and dissonance despite the long running notes. You may want to split the note ranges using a Note FX layer and note filters, so low notes and high notes have different lengths and playing notes limit.

Note fan out

This plugin lets in one note out of N steps, allowing you to build a fan-out device by adding several copies of it in a note FX layer and selecting a different step for each. From there you could for instance have a note effect that only applies to Nth notes, or make a mono instrument polyphonic by having several copies of it ( use an instrument layer in that case ).

Example configuration with a distribution over 4 layers:

Here for instance each 4th note is transformed to be one octave down:

Additionally, using channel distribution each note will get a different channel. In order to not interfere with MPE, it starts at channel 2.

Note: it's built-in in Bitwig since 3.2, using "round robin" on a note fx selector

Note Generator

This VST is able to generate notes with configurable channel, velocity, pitch, and release velocity. It can also independently generate pressure ( 0xD0 ) and pitch bend ( 0xE0 ) midi messages. Those messages cannot be independently produced by Bitwig, except by explicitly drawing them in a clip.

In order to generate a note, just select the channel, pitch and velocity and move the trigger above 50%, and a note will be generated.

If you can modulate those parameters like here in bitwig with a beat LFO, you can easily generate notes.

Find here a screen recording to get a better idea:

Non-notes filter

Some VSTs may misbehave when receiving unsupported CCs and other midi messages. Using a note filter Bitwig allows to block all notes and just leave other messages, this plugin does the opposite: any midi message that is not in the range 0x80 ( note off channel 1 ) - 0x9F ( note on channel 16 ) is filtered out.

MIDI delay

Bitwig's timeshift is not modulable, and note delay is limited to 10ms. This plugin just delays all midi signal from <1ms to 1 second.

Maximum note duration

Can be useful to modulate the length of notes after a note latch for instance, without enforcing the minimum duration as well, that would happen if you would do it using the note length device. Can be also handy if you're looking for a workaround for notes that keep running.

Building the VSTs

Requires Rust ( https://www.rust-lang.org/tools/install ), also check https://github.com/RustAudio/vst-rs on how to build VST plugins.

The repository includes a modified version of osx_vst_bundler.sh that creates VST bundles for Mac OS X

You'll get in artefact .vst bundles that you can put in a directory where your DAW finds plugins.

note_effects_vst's People

Contributors

valsteen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

note_effects_vst's Issues

When using MPE, note off delay in combination of multinote can leave notes running

Steps to reproduce:

  • use note delay, can be max notes 1 with a delay set and max applied to all notes ( flag off )
  • activate MPE for the device
  • use a multinote after the device, can be just one output active with velocity and pitch = 0
  • press many keys
  • one note will stay running

same result if another note fx vst device placed before has MPE active and the delay is not using MPE. possibly, channel information is lost on a pending note on ?

Channel pressure or aftertouch

Channel pressure:

  • ok when vst is in MPE mode
  • sent before the note on, with same delta frame

aftertouch: what sees midi monitor that is set in non-mpe. otherwise channel pressure

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.