Re: [Audacity-devel] Real-time effects stacks
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
|
From: Jorge R. <jro...@ma...> - 2008-05-06 22:48:44
|
I understand, you want to use the stack functionality that supports the undo feature to implement effects stacks, but not actually present that to the user as an "undo stack for effects" but rather as just a regular effects stack which stores every iteration of effect from bottom to top. That makes a bit more sense than what I thought you were wanting to do, but I still disagree that it's the proper way to go. I have issue with a lot of this, for example the talk of getting rid of the older parts of the stack. What? No! Moreover, storing every layer of the stack on the hard disk is in my opinion rather pointless when it's so cheap to reprocess, and the occasion of the user actually going in and listening to the effects stack with only the top ones muted is rare. Let me give an example. Here's my track, with the effects stack on top: Reverb Compression Echo BassBoost Noise removal Click removal Audio So, you're saying that after sticking the Reverb on there, the user will only ever edit the Reverb and Compression, and sometimes the Echo, and so Audacity should forget about the original track and only keep BassBoost and up? Seriously? What if I want to go back and tweak the noise removal? What if I forgot to remove a click? The whole point of non-destructive editing is that it *never* forgets about the original unless I want it to. If I want to, I should always be able to go in and put an LFO before the BassBoost. On the other hand, I don't think that I'll ever want to undo the click removal, right? So I should be able to render that destructively if I want. And, if I'm the type of person who is reckless and carefree and I'm satisfied with the stack and I don't care about keeping the original track, I should be able to render part or all of stack destructively. The other thing I'm worried about is, why would you keep a different audio file for every single point in the stack? How often are users going to be listening to just the four bottom items but not the top three? In my opinion, almost never. Moreover, since using a stack to store every step mean that you can't see what it sounds like with BassBoost Echo and Reverb but no Compression without re-rendering, you're in the same place as if you had never used a stack to cache all this audio. Why not just store the original track, and then store the rendered version, and be done with it? It's much easier to subclass Sequence and do some special logic in WaveTrack than gutting the undo stack code to support such a rare use case. Or... am I understanding you wrong? Maybe it will help if I add a requirements to LRN's list: 9) The ability to render part or all of the effects stack destructively onto the original. You know, essentially the only difference between your proposal and LRN's is that your proposal uses a stack to store every level of the effects stack, while LRN's only stores the bottom and the top. I like LRN's solution better, simply because it's simpler. And by the way, I agree with you that the distinction between "stackable" and "unstackable" effects is something that should be avoided. I see no reason that any implementation including the one LRN proposed should need to have this. And lastly, I hope I'm not one of those people you were describing in the last paragraph of your message. I'm trying to listen and think of solutions that fit the opinions of those more heavily involved in the project than I. -- Jorge Rodriguez Matrieya Studios, LLC Email: jro...@ma... Phone: (919) 757-3066 |