Prototype of a Vocoder in Sonic Pi


Someone requested this on GitHub so I’m dusting this off and posting it as more of a progress report in case anyone was interested (issue was here

I’ve also written this up as a gist here with code samples, including the code for the implementation in SuperCollider:

Prototype of vocoder on Sonic Pi

Demo here:
Original voice input here:

This is a demo of a simple effects synth using the UGen from SuperCollider. This is a fairly primitive vocoder implementation made of a bunch of bandpass filters which are “tuned” to various frequencies.

The results are mixed, but it’s difficult to get a decent reproduction of the words from this.

To get T-Pain/Imogen Heap style auto-tune it would be necessary to write a different algorithm probably using a technique called PSOLA which is described at the following links:

Part of the problem is that the algorithm is probably under copyright which makes distribution of an open source version more difficult.


Update on this - I’ve found a PSOLA based pitch shifter implemented as a SuperCollider quark (plugin) here It soundsway better than the synth. Just need time to implement it properly…