Prototype of a Vocoder in Sonic Pi


#1

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 https://github.com/samaaron/sonic-pi/issues/1930)

I’ve also written this up as a gist here with code samples, including the code for the implementation in SuperCollider: https://gist.github.com/xavriley/0907002649d6b6b2ac2bcbe739d96761

Prototype of vocoder on Sonic Pi

Demo here: https://www.dropbox.com/s/qiktze3ml7bz5iq/autotune_the_shipping_forecast.wav?dl=0
Original voice input here: https://soundcloud.com/jb_uk/neil-nunes-bbc-radio-4-and

This is a demo of a simple effects synth using the Vocoder.ar 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.


#2

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