Re: [Audacity-devel] Real-time effects stacks
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
|
From: Michael C. <mc...@gm...> - 2008-05-04 16:13:26
|
Jorge, Thanks for the email. It has got me thinking about the long-term structure of my project. I have mixed feelings about non-destructive effect stacks in audio editors. Non-destructive real-time effects stacking is a very useful and fundamental tool in a digital audio workstation like protools or ardour. That being said, I have always thought of audacity as a sample audio editor as opposed a DAW. The purpose of a audio editor leans more towards fast as possible destructive transformation of a small number of input tracks, wheras a DAW is more concerned with non-destructive playback so that the user can take his time to find the best mix between many input tracks. The main reason that audio editors tend to lack this feature is that they have to be very fast on rendering the final audio file, and DAWs are not expected to be fast (bouncing to disk on protools takes forever.) Non-destructive real-time effects rendering comes with the cost of having to recompute the effect when writing the file to disk. One alternative is to keep the "destructive" copy around, but the implementation for this is not trivial - it begins to resemble the on-demand projects we have been talking about. If this is the case then it seems like we should prioritize the functionality for desctructive, on-demand stacks, and then move towards desctuctive real-time effect playback stacks. After that point the non-destructive implementation can be considered. Would other people like to chime in their thoughts on this? Michael 2008/5/4, James Crook <cr...@in...>: > Jorge Rodriguez wrote: > > There have been two things I've always wanted out of Audacity that I > > could never get. The first one is a way to cut out a section of music > > while leaving the rest of it undisturbed. That was implemented > > recently, "Split Delete." (Should be default behavior in my opinion, > > deleting a section of sound shouldn't move other stuff around. But > > anyways!) The other one was real-time effects stacks, or the ability > > to apply effects non-destructively, realtime, during play. This > > transforms Audacity from a powerful sound editing tool into a > > multitrack recording studio. > > > > So, I hear that 1.3.5 is coming out and then is the time to start > > putting new stuff in Audacity and it's important to me that this to be > > one of them, so I'm pretty sure I'm willing to spare a couple of hours > > of my week to make sure that this feature is part of the next Audacity > > release. > > > > Questions. At a high level, what would be required to get this feature > > working? Audacity already supports applying effects, they just need to > > be applied during playback instead of immediately. I think you would > > need a UI for managing effects, and the order that they are processed > > in, and a mechanism for controlling the effects. The current dialogs > > that do this can probably be reused. And then of course, the code for > > applying the effects in realtime instead of destructively. Can someone > > elaborate on exactly what needs to happen? What I specifically want to > > know is even a vague estimate of how many man hours is this going to > > be? I've done things tangentally related to this, but not really the > > same thing, so who is going to help me when I invariably run into a wall? > > > > PS. CVS? > > > > > CVS = http://en.wikipedia.org/wiki/Concurrent_Versions_System > GSoC = http://en.wikipedia.org/wiki/Google_summer_of_code > > How many hours? Lots and lots. It is simply not realistic to attempt > this on two hours a week, with no prior experience of modifying > Audacity. I'd strongly suggest you try out smaller modifications to > Audacity first, just to get the hang of compiling, testing, finding your > way around the code. You'll get to the end goal faster. > > We do have a plan for real time, which is to get there in stages, and > there are ways you can help us get there faster. A first step is one of > the more risky GSoC projects we are doing this year. Have a look at: > Michael Chinen's project on this page: > http://www.audacityteam.org/wiki/index.php?title=GSoC_2008_Projects > > One way you could help is by understanding what is being planned and > why, why we are doing it this way, and when Michael starts coding trying > out his betas, helping to find problems early. If you are understanding > his code, then you may be able to suggest fixes and improvements that > help progress the project - so he'll end up with a more complete > implementation than otherwise by the end of the project - but you'll > only be able to do that at all if you've already got fairly confident > and familiar with the Audacity code - and that takes time. You should > try compiling Audacity from source and making small changes now to be > ready in time. > > For the 'big picture', also have a look at Postfish Integration on > http://www.audacityteam.org/wiki/index.php?title=More_GSoC_Ideas > > That's not going to happen during this GSoC, but it gives you an idea of > why doing real time is not a small simple change and it makes it clearer > why render-on-demand is a first step. We'd certainly appreciate help > with getting there, but you'll need to be up to speed on developing with > Audacity for it to be helpful to us. To get up to speed, pick some > smaller pieces/details of Audacity to work on, where you and we get > something we can use sooner. It doesn't need to be in the audio-path > for it to help you gain experience with the code. If you need any help > compiling Audacity from source just ask here. We expect there to be > some problems at first, and we're well used to giving tips to help sort > out compile issues. > > > Good to hear from you, > > > --James. > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Audacity-devel mailing list > Aud...@li... > https://lists.sourceforge.net/lists/listinfo/audacity-devel > |