Version 1.0.1 (4.07 MB) by Tim Leete
A versatile modulation plugin capable of static comb-filtering, flanging, chorus and vibrato. Inspired by cassette and guitar pedal sounds.
Updated 19 Jan 2022
The TapeWorm is a modulation plugin inspired by guitar effects pedals. There has been a trend among boutique pedal builders to create modulation effects that emulate the sound of worm out VHS tapes (CooperFx's Generation Loss), cassette tapes (Fairfield Circuitry's Shallow Water) or even vinyl warble (Tefi Vintage Labs' Golden Era). These pedals usually combine a vibrato with some sort of noise generation, filtering and fidelity reduction. My goal was to provide users with a plugin that could reproduce some of those 'lofi' effects, with an emphasis on being used as a chorus. While my focus was on making a versatile and unique chorus plugin, the TapeWorm is capable of static comb-filtering, flanging, vibrato, compression, saturation and generating noise.
The TapeWorm's modulation is a rounded trangle wave, inspired by the chorus sound of the Boss CE-1 and CE-2. The TapeWorm also has stereo modulation capabilities, shifting the right channel 90 degrees out of phase with the left. This creates a very wide and classic chorus effect. The "Dimension" switch introduces two additional delay lines, with a shorter, relative delay times. The modulation of the second delay is inverted from the first and third, helping to separate the three. This effect was inspired by the Boss Dimension Chorus, and results in a fuller chorus with less conspicuous movement.
With the "Saturation" switch turned on, an analog model of two cascaded diode pairs is introduced before the feedback path. The two stages have slightly different components and each applies a small amount of filtering to the top end, resulting in a smoother output. Input gain is limited to only 12 dB, so the TapeWorm is not meant to be used as a fuzz or distortion. The Saturation switch merely provides a bit of grit and character, similar to the sound of pushing a Boss CE-1.
The 'Tape' in TapeWorm comes from the Random LFO, Hiss, and Compander functions. The Random LFO can emulate the fluttering modulation of a worn out cassette player or tape machine. However, TapeWorm provides a Smooth knob to determine the exact character of this modulation. It can range from a barely rounded step-and-hold modulation to a perfectly smooth, but random modulation. The Random LFO is always stereo, as opposed to the switchable main LFO. Both are capable of operating independently to produce distinct effects but sound most interesting together. Because Random is stereo and the main modulation is mono, Random can function as a width control when they are used together. This allows the user to explore a less drastic stereo space than the full split of the stereo switch.
Hiss is filtered noise, focused in the high-mids. With the Hiss knob at zero, there is no noise added. At maximum, the Hiss knob will raise the noise floor to about -40 dB. This allows the user to approximate the noise floor of everything from the worst cassette tape to the pristine digital clean of their DAW.
One interesting attempt to deter tape hiss on boomboxes and cassette recorders was the process of companding. A recorded signal would be compressed prior to hitting tape and then expanded after hitting tape, in order to separate the recorded sounds as far from the noise floor as possible. The Compander switch will implement this process, introducing compression with a 6:1 ratio and an incredibly wide, gentle knee above -24 dB. Inversely, the expander is set to a 1:4 ratio below -36 dB. This may seem unnecessary, give that the TapeWorm's Hiss is a controllable parameter, but this process creates some unique artifacts that some might find charming and/or engaging.
Finally, the TapeWorm has a wet/dry Mix knob and an Output Gain knob to make up for any changes in level.
Tim Leete (2023). TapeWorm (https://github.com/SpiceChateauDSP/AES-Student-MATLAB-Plugin-Comp-Winter-2022), GitHub. Retrieved .
MATLAB Release Compatibility
Created with R2021b
Compatible with any release
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Versions that use the GitHub default branch cannot be downloaded
Improved saturation circuit and reduced expansion distortion.