electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
go to the radio page Live at electro-music.com radio 1 Please visit the chat
  host / artist show at your time
today> Twyndyllings LIve postponed til Sunday Chez Mosc
poster
 Forum index » DIY Hardware and Software » Microcontrollers and Programmable Logic
Real-time Reverse Effects
Post new topic   Reply to topic Moderators: State Machine
Page 1 of 1 [3 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
Andrew C.



Joined: Mar 23, 2020
Posts: 2
Location: US, Ohio

PostPosted: Mon Mar 23, 2020 3:45 pm    Post subject:  Real-time Reverse Effects
Subject description: Reversing Audio for Reverse Delay
Reply with quote  Mark this post and the followings unread

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
View user's profile Send private message
JovianPyx



Joined: Nov 20, 2007
Posts: 1988
Location: West Red Spot, Jupiter
Audio files: 224

PostPosted: Thu Apr 09, 2020 8:53 am    Post subject: Reply with quote  Mark this post and the followings unread

Welcome to electro-music.com welcome

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
View user's profile Send private message Visit poster's website
Andrew C.



Joined: Mar 23, 2020
Posts: 2
Location: US, Ohio

PostPosted: Thu Apr 09, 2020 2:35 pm    Post subject: Reply with quote  Mark this post and the followings unread

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Moderators: State Machine
Page 1 of 1 [3 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Microcontrollers and Programmable Logic
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use