sonic-pi icon indicating copy to clipboard operation
sonic-pi copied to clipboard

Add FFT based vocoder effect

Open xavriley opened this issue 3 years ago • 0 comments

This works by using the left channel as the modulator and the right channel as the carrier. A parameter for adding white noise helps to improve intelligibility for spoken/sung texts. Another parameter for gating the carrier helps reduce low level signals causing continuous output.

Audio demo: https://www.dropbox.com/s/rqnuif7zp2vm652/vocoder_demo.wav?dl=0

# example usage
live_loop :foo do
  with_fx :vocoder, noise_ratio: 0.25  do
    pth = :loop_amen
    sample pth, pan: -1
    x = synth :dsaw, pan: 1, note: :a3, sustain: sample_duration(pth), note_slide: 0.1
    32.times do
      control(x, note: [scale(:a3, :minor_pentatonic, num_octaves: 1).choose])
      sleep sample_duration(pth) / 32
    end
  end
end

xavriley avatar May 23 '22 17:05 xavriley