Skip to content
This repository was archived by the owner on Aug 3, 2025. It is now read-only.

BLCK-B/Prescient-VST

Repository files navigation

Prescient

Open-source VST plugin: vocoder with pitch shifting.

Note

This project is complete and archived. It will not receive updates, but it remains functional.

Parameters

  • LPC: vocoder on/off
  • Order: vocoder order
  • Mono / stereo: choose stereo, mono, or anything in-between
  • Dry / wet: ratio of effect signal to input signal
  • Voice 1, 2, 3: advanced pitch shifting - first pitch shifts the voice, second and third add additional shifted copies

Features

  • Good performance and real-time processing (latency ~50ms)
  • Good sound quality
  • WebView UI with native-like knobs
  • Choose any inputs, or try a microphone

Installation

For technical reasons, the effect is only compatible and verified to work with the following systems:

OS DAW
Windows x64 FL Studio, Ableton

The effect will not be ported to other systems nor ensured to work with other DAWS.

The recommended DAW sample rate is 44.1 kHz.

Sidechain wiring

A carrier signal, e.g. guitar or synthesizer, is fed into one channel (green). The adjacent channel (blue) receives a voice signal - voice recording or microphone input. The effect is inserted on the carrier channel. To wire both signals into the effect, sidechain is used (connection highlighted in blue).

Please note that the carrier should ideally be a sound with a rich spectrum.

Try it out

  1. Download the .VST file
  2. Unzip the file and place it in a VST directory like C:\Program Files\Common Files\VST3\
  3. Follow the steps for FL Studio setup or Ableton

Project description

The core effect is a vocoder based on Linear Predictive Coding (LPC). The pitch shifting algorithm is inspired by DAFX.

The project is based on the JUCE framework and KFRlib for FFT. Vue GUI is integrated as WebView.

The final effect's block scheme.

The cross-synthesis effect.

Important algorithms:

  • Autocorrelation
  • Convolution
  • Formant-preserving pitch shifting
  • IIR all-pole filter
  • Levinson-Durbin recursion

Optimizations were made to achieve real-time processing. Many algorithms are implemented using FFT.

A python implementation was created to test the algorithms: Python LPC vocoder.


FL Studio setup

Click the insert effect button of the channel that you have selected for the carrier signal.

More pluginsManage pluginsFind more plugins.

There, find the Prescient-VST plugin. Star it and it will appear in the effect category Fx-Vocals. Now, you can add it to the channel.

Prepare a channel with voice signal and sidechain it to the channel with effect by right-clicking on the triangle and Sidechain to this track only.

Ensure that the channels have the correct signals.

When you hit play, you should hear only the carrier signal. Set the plug-in to receive the sidechain signal:

I recommend setting the plug-in window as detached.


Ableton setup

SettingsPlug-Insenable VST3, Rescan.

In plugin browser (not pictured), find Prescient-VST under BLCK. Drag the effect onto the carrier track in Arrangement View.

Notice the carrier and voice tracks in Arrangement View. By clicking into the square with the name, open a list of effects. Assign the effect to the carrier track.

The sidechain input of the effect must be set so the effect can receive the signal from the voice track:


Known issues

  • On reopening window, Order jumps to a low value
  • The effect may clash with a limiter on master

About

Open-source VST plugin: vocoder with pitch shifting.

Topics

Resources

License

Stars

Watchers

Forks

Contributors