C++ Reverbs From A Matlab Design

The guitar ‘Toing’ sound from the ’70s was epic, and for the first time listener it was enough to get a bunch of people hooked to the likes of Aerosmith. Reverb units were all the rage back then, and for his DSP class project, [nebk] creates a reverb filter using Matlab and ports it to C++.

Digital reverb was introduced around the 1960s by Manfred Schroeder and Ben Logan. The system consists of essentially all pass filters that simply add a delay element to the input signal and by clubbing a bunch together and then feeding them to a mixer. The output is then that echoing ‘toing’ that made the ’80s love the guitar so much. [Nebk]’s take on it enlists the help of the Raspberry Pi and C++ to implement the very same thing.

In his writeup, [nebk] goes through the explaining the essentials of a filter implementation in the digital domain and how the cascaded delay units accumulate the delay to become a better sounding system. He also goes on to add an FIR low pass filter to cut off the ringing which was consequent of adding a feedback loop. [nebk] uses Matlab’s filter generation tool for the LP filter which he includes the code for. After testing the design in Simulink, he moves to writing the whole thing in C++ complete with the filter classes that allows reading of audio files and then spitting out ‘reverbed’ audio files out.

The best thing about this project is the fact that [nebk] creates filter class templates for others to play with. It allows those who are playing/working with Matlab to transition to the C++ side with a learning curve that is not as steep as the Himalayas. The project has a lot to learn from and is great for beginners to get their feet wet. The code is available on [GitHub] for those who want to give it a shot and if you are just interested in audio effects on the cheap, be sure to check out the Ikea Reverb Plate that is big and looks awesome.

6 thoughts on “C++ Reverbs From A Matlab Design

  1. Digital reverb in the 60s??? I am pretty sure all reverbs in the 60s were physical, rooms plates and springs. I think the 70s gave us bucket brigade delays but digital? Not until the 80s surely!

    1. The article has a link, which cites John Chowning’s lab. John Chowning more or less (co-)invented digital modular synthesis and FM synthesis. Doing any of this stuff digitally was bleeding edge back then and the guy at the forefront of a lot of it was Chowning. So I think it’s plausible, though I haven’t looked at the original articles published by Chowning et al to check that it wasn’t actually early 70s.

    2. The EMT 250 was the birth of digital reverb, and came out in 1976.

      https://www.mixonline.com/technology/1976-emt-model-250-digital-reverb-377973

      “Barry Blesser and Karl-Otto Bäder designed the algorithms (U.S. patent #4,181,820); Dynatron’s Ralph Zaorski designed the digital hardware; and EMT built the converters, I/Os, power supply and the unique user interface, with its large upright chassis and rocket ship-style control levers for decay and delay. Its 400 ICs and 16K of memory of this one-in/four out unit required three fans and heat sinks covering the entire cabinet exterior. “We put the power supply on the outside and painted it red,” Blesser recalls. “We took all the problems and turned them into unique signature symbols.”

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.