Author |
Message |
Andrew C.
Joined: Mar 23, 2020 Posts: 2 Location: US, Ohio
|
Posted: Mon Mar 23, 2020 3:45 pm Post subject:
Real-time Reverse Effects Subject description: Reversing Audio for Reverse Delay |
|
|
Hey all,
I've been holding on to this idea for quite a few years now, teaching myself a host of engineering principles and building music equipment with primarily analog components. My goal, however, is to really dig further into DSP and learn what language, microcontrollers and processors I would need to help some of my ideas come to fruition.
A proper and clean, reverse delay is one of the main projects I've been after, especially being places within an effects pedal that's capable of also synthesizing organic sounds like simulated wing-flapping, dripping corona discharge, independent upward and downward time modulation, etc... The reverse aspect for a delay pedal is something that I've been trying to research for a few years and I just can't seem to piece together the knowledge of how to instruct a chip to flip the audio by reading it properly, storing the sample in RAM (even if it's just from 500ms-1s) and then emitting it through DAC toward the end. There's been analyses of these projects on a few sites, but obviously a lot of the development and examples that go into the process are kept pretty close to the chest.
The reason I want to be able to control this digitally is to cut down on the amount of components I'd have to use through analog means and, ultimately, the footprint left behind through the building process. I've known the digital community to be some of the most intelligent and fluid folks with knowledge over these DIY projects or with information to look at initially to help guide along a path that would approach this topic especially.
If anyone would be willing to help with understanding this, I would be eternally grateful and, of course, source every bit of that credit. Thank you for reading this far. |
|
Back to top
|
|
|
JovianPyx
Joined: Nov 20, 2007 Posts: 1988 Location: West Red Spot, Jupiter
Audio files: 224
|
Posted: Thu Apr 09, 2020 8:53 am Post subject:
|
|
|
Welcome to electro-music.com
I've done DSP over the years and can give you at least my take on things.
I use STM32 devices which I program in C. For me, C is a simple language which I've used for decades (so I'm biased). Don't laugh, but I have a Raspberry Pi 4 server that I use for STM32 development. gcc is easy to extend to allow the pi to compile code for the STM32. This means that my programming environment is free since I use a plain text editor and compile using Makefiles and gcc. I've never liked IDEs like Eclipse, but they are available and lots of folks use them.
It is certainly true that for the dollar, you can get a lot more function from digital systems than from analog. I started out in analog, but some couple of decades ago, I switched to digital because I wanted polyphony. A lot of my work has been with Karplus-Strong systems.
As for reverse effects, this is the electronic musician's holy grail. I'm not sure if your interest is real time or as an effect applied after recording. If it's real time, there are certain aspects of physics that make reverse effects like rev delay difficult. This is because to do a sound backward, your device has to have the whole wave in it's RAM. This is literally impossible in a real sense because it would require a time machine to go get data from the future into the RAM. Some guesses can be made using the first few samples and understanding how the sound will decay anyway and constructing what is basically a fake sound guessed using a small amount of the sounds real data. The more data you work with, the better the sound, but the more data you need, the more latency that gets added. It's not impossible, it's been done, it's just never perfect so you need to plan out your strategy and deal with the negatives such that you accept certain limits on them. One thing is pretty certain about digital as well, it's like flying - always go up with as much horsepower as you can - always use a big beefy CPU when it gets into this kind of stuff. _________________ FPGA, dsPIC and Fatman Synth Stuff
Time flies like a banana. Fruit flies when you're having fun. BTW, Do these genes make my ass look fat? corruptio optimi pessima
|
|
Back to top
|
|
|
Andrew C.
Joined: Mar 23, 2020 Posts: 2 Location: US, Ohio
|
Posted: Thu Apr 09, 2020 2:35 pm Post subject:
|
|
|
I really appreciate the response. I may have relayed my question incorrectly. I'm very new to the digital environments when it comes to design, so I'm still pummeling through the basics of understanding how to implement C into a chip and have it be controllable in the manner that I need it to via external sources.
What I suppose I meant was that I'd like to get a reverse delay the way most guitar pedals and VST's utilize them. By reversing the incoming signal that's being written and having the read index translate it into reverse. I found this article a long while ago that I've been stewing over a post in a thread from some time ago on https://music-dsp.music.columbia.narkive.com where a member posted:
Quote: | "The usual method for a delay, of course, is to buffer the input, and sum in samples from a read index that is trailing the write index a fixed number of samples. In a nutshell, for reverse delay, you run the read index backwards, until you run out of buffer (or get to a maximum about of "the past" that you want to work with), at which time you reset it (back to the most recent input sample, for instance). One thing that might not be obvious right off the bat, if you're used to programming conventional forward-running delay lines is that you'll end up with half as much delay time as your think (because while you're stepping the read index backwards at the sample rate, the write index is marching forward at the same rate, and they meet in the middle). Of course, you can do things to minimize the glitch resulting from resetting the read index.
I have a hunch some people will read this and think, no, that can't be right--it must sound terrible--so I'll add that this is exactly what the [Line6] DL4 Delay Modeler does, and it's been selling well for years (yeah I did the DSP)."- Nigel Redmon |
I want this to be able to have a reversed effect that might extend to a max of 1-2 seconds. He also states that, to eliminate pops as the index resets, it might be beneficial to add a short fade out and back in as it resets. I can usually visualize this all through analog means, but I just don't know quite how to visualize it through a digital language to make it easier for me to understand and dissect. This is why I was reaching out initially. |
|
Back to top
|
|
|
|