Author Topic: New effect for Arduino Teensy: TREMOLO  (Read 548 times)

Blackaddr

New effect for Arduino Teensy: TREMOLO
« on: January 05, 2019, 10:41:18 AM »
I've added a new effect to my audio library that expands upon the Teensy Audio library BALibrary: Tremolo

The effect has the following controls: bypass, rate, depth, volume.

Like all the other effects in the library, AudioEffectTremolo supports runtime control of the effect parameters by either calling member functions directly,

Code: [Select]
tremolo.setRate(0.5); // set the rate parameter to 50%
or by mapping MIDI CC's to parameters so external devices (like MIDI controllers) can adjust parameters.

Code: [Select]
tremolo.mapMidiControl(AudioEffectTremolo::RATE,20  ); // Set MIDI CC 20 to control the rate parameter
Two code examples are provided. The first example uses incoming MIDI to control the effect in realtime. Typically a hardware or software MIDI controller is used. The second example uses the Expansion Board with the TGA Pro, which provides several analog switches and knobs to control the effect just like a real guitar pedal.

Here is a quick sound demo of the effect in action. I'm a bassist so I apologize for the sloppiness on the other instruments!



The BALibrary also has MIDI controllable effects for:
Analog Delay
Digital Delay
Sound-on-Sound
« Last Edit: January 05, 2019, 12:05:23 PM by Blackaddr »
Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com

audioartillery

Re: New effect for Arduino Teensy: TREMOLO
« Reply #1 on: January 06, 2019, 11:09:35 PM »
Very cool.

If you're taking suggestions, some reference code for an FFT/IFFT effect would be helpful.  Frequency domain analysis, synthesis, and filtering can all be quite useful.  My friend got FFT working but I think had trouble doing it from the update() context at speed.

Blackaddr

Re: New effect for Arduino Teensy: TREMOLO
« Reply #2 on: January 07, 2019, 01:03:52 PM »
Very cool.

If you're taking suggestions, some reference code for an FFT/IFFT effect would be helpful.  Frequency domain analysis, synthesis, and filtering can all be quite useful.  My friend got FFT working but I think had trouble doing it from the update() context at speed.

I'll put that on my roadmap. The analog delay I released previously (natural sounding delay), and this tremolo (via LFO), are stepping stones towards the effect I'm planning that is automatic double tracker. You're probably thinking, isn't that just chorus? Well yes, but an automatic double tracker uses randomly varying delay modulation, rather than periodic modulation such as  sine, triangle, etc.

Currently working on upgrading the analog delay to do intra-sample interpolation necessary for smooth delay modulation, as well as a random, non-period LFO to drive it.

I may finally look into some FFT based frequency sythesis to add a subtle bit of timbre alteration to the double tracking.
Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com