Vocoder updated

There is now an updated version of the Vocoder effect available here: https://github.com/SteveDaulton/audacity/blob/Vocoder-Update/plug-ins/vocoder.ny

  • When applied to 44.1 kHz stereo tracks, the effect is virtually identical to previous versions.
    (See: https://manual.audacityteam.org/man/vocoder.html)
  • The new version fixes a bug - the previous version would silently fail on low sample rate tracks.
  • The new version may be applied to mono tracks.
    When applied to a mono track, each “carrier” frequency is a sine tone (one per band). The sine tone is mixed with white noise and “radar needles” according to the slider settings.
  • The “Amplitude of original audio (percent)” setting has been renamed as:
    Amplitude of carrier wave (percent)”.
  • For stereo tracks, this slider control does exactly the same as in older versions - it controls the amount of “carrier wave” (the right channel) in the mix of: Right channel + White noise + Radar Needles.
    • For mono tracks, it controls the amount of sine tone in the mix of:
      Sine tone + White noise + Radar Needles.
  • If the amount of “carrier wave” and White noise and Radar Needles are all zero, an error is thrown:
    “Error. No modulation carrier.”

Testing and feedback welcome.
If there are any issues with this version, it would be good to catch them before it replaces Audacity’s current version.

Confirm fixed. :heavy_check_mark:

Confirm mono option works. :heavy_check_mark:

Thanks for testing Trebor.

Do you know much about Vocoders? At some point I’m considering making a completely new one (as an optional plug-in on the wiki rather than as a replacement for the shipped version). I’m wondering what features people would like included.

I very rarely use a vocoder effect.
Usually mda talkbox plugin, which is billed as a “high resolution vocoder”.
Or the Vocoder in DtBlkFx.
[both of those are 32-bit only plugins].

Briefly tested, as I too don’t have much use for a vocoder.
Other than changing a person’s voice, what other use cases are there?
Perhaps someone can come up with some novel ideas.

One thing I did notice, the result can be a bit harsh with the high frequency content.
Perhaps it was related to the audio clip I used or maybe it’s from the actual short duration “needles” that are causing it?

I haven’t looked at the code, perhaps adding an optional (switchable) LPF with a cut off around 0.45 of the tracks sample rate?

Steve wrote:

At some point I’m considering making a completely new one…

I’m sure many users would be quite keen, plus, even if I don’t use the actual effect, can always learn some great Nyquist tips from you.

I rarely use the effect either, though I know that some people do, and some like it as it is (I’ve even seen a proposal for it to be added to SuperCollider). Consequently I don’t want to upset those users by changing it - just fixing the bug and adding support for mono tracks.

As long as the new version is clearly labeled, then no one has to get upset.
Those that want to carry on using the old version, great, for those that want the newer version,
they have that option as well.

(I’ve even seen a proposal for it to be added to SuperCollider)

Never used SuperCollider, does it have Nyquist plugin support? Must check it out then.

Come to think of it, a really handy thing would be the ability to translate/compile .ny effects to either Ladspa, AU or VST effects.
(Or even better, all three).
That would then mean they could be used almost anywhere.

I assume the non-realtime part would be the major stumbling block.

No it doesn’t. Someone had to re-implement it: https://github.com/supercollider/sc3-plugins/pull/273

Pity, had a look at the sc3 plugin format for SuperCollider…errr…no thanks.