Difference between revisions of "Proposal Nyquist process effects in Chains"
(→Motivation / Use Cases: Added a selection of actual user cases) |
(→Current status: patch now committed.) |
||
Line 68: | Line 68: | ||
== Current status == | == Current status == | ||
− | + | Comitted in revision 11752. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== To Do == | == To Do == |
Revision as of 20:19, 26 May 2012
Proposal pages help us get from feature requests into actual plans. This proposal page is about adding support for Nyquist effects in Chains. |
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.
Contents
Proposed Feature
To enable support for Nyquist Effects in Chains.
Developer/QA Backing
- Steve
- Edgar
- Leland
- Gale
- Martyn
Motivation / Use Cases
Chains allows multiple effects to be run automatically in sequence and are the only mechanism available in Audacity for batch processing. Currently only the built-in effects shipped with Audacity (at the top of the Effect menu) can be used in Chains. The ten currently shipped Nyquist process effects can't be used in Chains.
Optional Nyquist effects added by the user further complement the built-in effects by providing functionality in Audacity that is otherwise missing. Excluding Nyquist support in Chains thus severely restricts their usefulness. It is not uncommon for Audacity users to be driven to use other software because of this restriction.
The highest rated feature request in the Automation section is "Include features dependent on selecting regions (e.g. trim, fades) (43 votes)". This becomes possible when Nyquist effects are supported by Chains.
Example User Cases
The range of user cases is too broad to list in full, but here are some actual user example cases to illustrate the versatility of this feature:
- Chain to trim off first 25 seconds
- This could be accomplished using the Extract Audio plug-in in a Chain.
- Automatic segmentation/Remove silent sections
- This could be accomplished by modifying Sound Finder to write the detected sounds to files, then using the modified effect to a Chain.
- Decode Morse
- This could be accomplished by modifying Sound Finder to export the duration of sounds and silences to a text file, or with a little mor modification could entirely decode Morse code to text.
- Batch Clipping Detection
- While it is the case that integer format audio files never exceed 0 dB it would be simple to construct a Nyquist effect to scan files and output a list of peak levels.
- Changing the length of silence
- Run a slightly modified version of the Extract Audio plug-in in a Chain.
- Equal loudness normalising of files
- There is an experimental plug-in for Equal Loudness Normalizing
- "I presume that as it is a plugin that one can't use batch processing"
- The usefulness of this plug-in would be substantially increased by batch processing.
- Automating operations in Audacity
- Currently Noise Reduction, Click Removal and the Compressor can be used in batch processing with Chains, but the other major feature requested was simulating stereo. There is an excellent Pseudo-stereo Nyquist plug-in effect available.
- Batch create waveforms
- Any of the Nyquist Generator plug-ins could be applied to a batch of "dummy" files to create a large number of tones. The *scratch* variable could possibly be used to step through a sequence of data, or the data could be read from a simple text file.
- Trimming almost-silence from the beginning and end of a file
- One of the most common potential jobs for a Nyquist plug-in in a Chain.
- Replace one channel of a stereo track with a copy of the other channel
- This could be accomplished using the Channel Mixer plug-in in a Chain.
Related Use Cases outside this proposal
- Extend Chains support to arbitrary VST and LADSPA effect plug-ins added by the user.
- Extend explicit Chains support to built-in items in the Audacity Generate and Analyze menus and to similar plug-ins in Nyquist and VAMP formats.
- These are more suitable for running Chains on the current project than on files, but would be useful even if limited to the current project. Built-in Generate menu items would ideally need support for region selection.
Current status
Comitted in revision 11752.
To Do
Testing and committing
- Steve: Initial testing on svn head Jul 25 2011 has been successful.
- Retested on Linux with Audacity r11238 21st/22nd Aug 2011. Still good
- Martyn: Testing here on 20th August 2011 HEAD also looks good
- Martyn: I also tested the new patch on Win, Linux and Mac and it works for me. Previous one doesn't as it does not call SetXlispPath() at an appropriate time.
- Gale: Testing with build from HEAD 1 Aug 2011 (wx 2.8.12) seemed good but shows excessive width between the columns of commands in the "Select Command" window (that window is now resizeable as at 26 Aug 2011).
- Martyn: Is it resizable on Linux? It isn't for me, and is frustrating me trying to fix it.
- Gale: Yes in HEAD on Ubuntu 10.10 (built with Widgets 2.8.12) the "Select Command" window is resizable on all four edges and all four corners.
- Martyn: But column widths work for me on *nix (appropriate to content) but not win (all the same width as widest col).
- Martyn: Is it resizable on Linux? It isn't for me, and is frustrating me trying to fix it.
- Gale: Tested Nyqchains1 patch 13 Sep 11 on Win 7. Tested:
- mix of Nyquist and non-Nyquist effects in chain
- two commands in chain for the same Nyquist effect with different parameters
- valid text-entered parameters in Nyquist effect that were outside slider range.
- Above was all OK. The only issue I really had is that running a Nyquist effect in a chain resets the parameters of the effect when run from the menu (if those were different). That's worse behaviour than with some of the built-in effects, but some do likewise, as per bug 73.
Credits
Many thanks to Edgar for providing the initial proof of concept and to Leland and Martyn for developing the current patch.