Completed: Proposal Real Time Adjustment
|Proposal pages help us get from feature requests into actual plans. This proposal page is about adding a feature that allows changes in audio to be heard immediately as you vary the parameters of an effect.|
Proposal pages are used on an ongoing basis by the Audacity development team and are open to edits from visitors to the wiki. They are a good way to get community feedback on a proposal.
- Note: Proposals for Google Summer of Code projects are significantly different in structure, are submitted via Google's web app and may or may not have a corresponding proposal page.
This Proposal was completed and released in Audacity 2.1.0.
Real Time Adjustment means that when adjusting the parameters of an effect, you can do so AS you are listening - imagine playing with a graphic equalizer as you are listening to a sound - today you have to make a change, preview it, and then make another change.
There are also related changes elsewhere. For example with loop-play you could vary the end points of the loop as the loop was playing.
At the moment there is very limited real time adjustment. You can change panning, amplification and mute/solo as the audio plays.
- Many. Ask on audacity-devel.
- Nearly all users of Audacity for Audio.
...From Feature Requests
Equalization in particular would benefit enormously from real time processing.
Such a feature would allow you to define the length of the loop (default all of the selected part of the track). In general one would want both slider and textual data entry - the former is easier to 'play with' the latter is sometimes more convenient when you KNOW what number you want. Of course the two would be synchronised.....
Another example as to why RealTimeAdjustment would be so useful is the following: Imagine you have a voice recording that you want to alter the eq of. At the moment, the preview function will only playback a small portion of the total recording (and as it's a vocal, there's a good chance some of it will be silent). Thus it's a bit hit-and-miss. With RTA, you can fiddle as you go, giving you a significantly improved workflow!
Use of MIDI controllers for real time adjustment would be cool, too.
6/9/05 Extension: effects should be stackable, and non-obtrusive to the original audio. This would increase effect flexibility tremendously, by allowing for different effect orders, and eliminating the need for many backup copies of original and intermediate/trial audio files
There is a definition LADSPA_IS_REALTIME in LADSPA_Properties structure. If a plug-in has it, then it can be treated as real-time ready plug-in automatically--Prokoudine 00:06, 10 February 2006 (PST)
Leland Lucius has (Jun 2014) created an experimental real time implementation for VST effects. He demoed this at the AU14 unconference. Effect parameters can be tweaked whilst listening to the audio. Multiple effects can be layered in this way, i.e. several effect dialogs are open at the same time. The complete set of effects can then be applied to commit them.
- These real time effects are built using an abstract base class.
- The plug ins provide sophisticated plug-in-effect drawn GUIs.
James Crook has (Jun 2014) produced an experimental plug-for Audacity to test various changes to the TrackPanel. It includes selection of multiple regions. Playing is looped by default, across all regions. The regions boundaries can be adjusted in real time as the audio is playing. To avoid clicks he added a 0.01s micro-fade in/out as we reach the end of a region and start a new one. The experiment confirms that real time adjustment of the selection whilst playing makes fine selection of boundaries much easier and that it is very desirable whether or not we have full real time. It does raise a few questions about further choices.
- The micro fades affect about 400 samples at the ends of selection regions. It is not clear whether cuts and pastes should also introduce those micro-fades or not.
- Being able to modify the selection region whilst playing it leads to apparent need for further enhancement to selections. For example with a multiple selection it is desirable to have control of the order of the spans, and not (only) to play them from left to right. It suggests we want to number the spans. Also effects applied whilst playing will affect all the spans being played since they are all selected. There seems to be a need to 'park' the playing spans and make a new set for where the effects are applied, so that effects can be applied to just part of the playing audio.