Difference between revisions of "Completed Proposal Import/Export Eq Curves"

From Audacity Wiki
Jump to: navigation, search
(add my support for this - suggest we should plan for multiple curve import/export)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{Proposal_Header|This page is a proposal for importable and exportable preset curves for the Equalization effect.  }}
 
{{Proposal_Header|This page is a proposal for importable and exportable preset curves for the Equalization effect.  }}
  
__NOTOC__
+
== Feature Implemented ==
  
== Proposed Feature ==
+
The 1.3.13 release provided a simple method to import/export curves for the Equalization effect. This allows a "library" of curves to be made available for simple download and installation by any user.
  
To provide a simple method to import/export curves for the Equalization effect.
+
See the <span class="plainlinks">[https://wiki.audacityteam.org/w/index.php?title=Proposal_Import/Export_Eq_Curves&oldid=15111 History]</span> of this page and the [[Talk:Proposal_Import/Export_Eq_Curves|discussion tab]] for previous background and discussion.
This would allow a "library" of curves to be made available for simple download and installation by any user.
 
  
  
 
== Developer/QA Backing ==
 
== Developer/QA Backing ==
  
* Martyn Shaw?
+
* Martyn Shaw
 
* GA
 
* GA
  
== Use Cases ==
 
  
* The Equalization effect is a versatile multi-purpose tool used by most users:
 
:* The current Preset list is dominated by "vinyl equalization" curves. 
 
:* Many other curves that would be useful to many users are excluded.
 
:* What may be a useful set of curves for some users will be irrelevant to other users. A simple method to import "preset" curves will allow users to load the Equalizer effect with the curves that are most useful for them.
 
:* A simple method to export curves will allow users to easily share their custom curves with others and quickly build a library of Equalization settings.
 
  
 +
== Use Cases and problems addressed ==
  
== Background ==
+
Equalization is a popular effect but did not encourage the widest usage.
It has occurred many times on the forum that a user has asked how to achieve a result using Equalization, for example how to simulate the sound of a walkie-talkie, or remove the harshness from a vocal recording. While it is simple to produce suitable Eq settings, passing that information on to the user either requires that they try to copy a screen-capture or manually edit the EQCurves.xml file. Neither of these solutions are convenient or user friendly.
 
  
There has recently been a revised RIAA curve produced. The facility to easily import curves would allow users to immediately make use of this and similar resources.
+
* The Preset list was over-dominated by "gramophone record equalization" curves to exclusion of others.  
 +
* A simple method was needed to export curves so allowing users to share their custom curves with others and quickly build a library of Equalization settings such as "50s Radio", "soften vocals". This previously required the cumbersome solution of copying a screen-capture or manually editing the EQCurves.xml file.
 +
* Exportable curves could have "educational value" for people that are new to audio processing.
  
A selection of "general purpose" settings such as "bass boost/bass cut/treble boost/treble cut/telephone/loudness/rumble filter" would not only be useful to a wide
 
audience but could have "educational value" for people that are new to audio processing.
 
  
 +
== Implementation ==
  
== Proposal ==
+
* Clicking the "Save/Manage Curves..." button brings up a dialog allowing export of the current curve settings to an XML file and import of a curve in correct .xml formatting. This button replaces the previous "Save As" and "Delete" buttons. "Custom" curves are now called "unnamed".
From a user perspective, a simple way to implement import/export of Eq curves would be the addition of 2 buttons on the Equalizer interface.
+
* You can also save unnamed curves to the list of curves, rename, re-order or delete individual or multiple curves.
Clicking the "Export" button would bring up a browser window allowing the '''current curve settings''' to be exported as an XML file.
+
* When you change the curves list, an automatic backup is made to EQBackup.xml, so if you make a mistake you can import that backup file. You can also restore the presets to the default set, which removes any customised curves you saved.
Clicking the "Import" button would bring up a browser window allowing a correctly formatted XML file to be imported and become the current '''Custom curve'''.
 
  
The name of the curve ''could'' be included in the XML file but this poses potential issues of duplicate curve names. Alternatively the curve could unnamed and simply become the "Custom" curve that the user can Save into their preset list in the normal way.
+
=== Ideas rejected in current implementation ===
  
'''Position of the buttons:'''
+
* Retaining the "Save As" and "Delete" buttons with new Import/Export buttons to right of these.  This would have been more intuitive in many ways but meant more clutter on the interface for anyone only wanting the installed presets. Also the "Grid" checkbox would have to be moved down a line and other ways would be needed to do things like reorder the presets list.   
: There are various options but at present I would favour placing the Import/Export buttons after the Save/Delete buttons. The "Grid" checkbox could be moved lower down to the same line as "Preview" button.
+
* Building the default curves into the application as before, to avoid users deleting or corrupting the defaults. Not building in means you can have easy developer updates to the defaults, without re-compile. Also you don't have to have the same frequency spacing for each curve. You could still have this flexibility with a built-in default if you turned the XML into a string and included it in an .h file, but it's more work.
  
  
== Discussion ==
+
== Possible future improvements ==  
  
* '''Gale:''' I think curves would have to be named - the average user will have little idea from a row of figures what the curve is. There should be a dialogue to ask user to choose a new name if an imported curve bears the same name as an existing one. <p>Although we don't want to get too advanced to begin with, clearly the most useful way this feature will develop will be that packages of curves will be available such as "Robots and automatons"; "Radios"; "Genres" etc. So I think we should at least be planning for that at this stage e.g. selecting multiple/all items in the curve list or in the browser window exports/imports a batch of curves as one named xml file.</p>
+
=== Content of default curves ===
 +
 
 +
There is still some concern that a single RIAA curve in the defaults does not reflect the amount of interest in "gramophone record equalization" and will mean extra hunting around for 78 RPM curves. A possible counter argument is that advanced users might get better results by hunting around for a curve that matched the record exactly.
 +
 
 +
=== Reset original presets only ===
 +
 +
There is no direct way to reset the originally supplied presets without losing custom curves that you saved or imported.

Latest revision as of 11:46, 26 January 2019

Proposal pages help us get from feature requests into actual plans. This page is a proposal for importable and exportable preset curves for the Equalization 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.

Feature Implemented

The 1.3.13 release provided a simple method to import/export curves for the Equalization effect. This allows a "library" of curves to be made available for simple download and installation by any user.

See the History of this page and the discussion tab for previous background and discussion.


Developer/QA Backing

  • Martyn Shaw
  • GA


Use Cases and problems addressed

Equalization is a popular effect but did not encourage the widest usage.

  • The Preset list was over-dominated by "gramophone record equalization" curves to exclusion of others.
  • A simple method was needed to export curves so allowing users to share their custom curves with others and quickly build a library of Equalization settings such as "50s Radio", "soften vocals". This previously required the cumbersome solution of copying a screen-capture or manually editing the EQCurves.xml file.
  • Exportable curves could have "educational value" for people that are new to audio processing.


Implementation

  • Clicking the "Save/Manage Curves..." button brings up a dialog allowing export of the current curve settings to an XML file and import of a curve in correct .xml formatting. This button replaces the previous "Save As" and "Delete" buttons. "Custom" curves are now called "unnamed".
  • You can also save unnamed curves to the list of curves, rename, re-order or delete individual or multiple curves.
  • When you change the curves list, an automatic backup is made to EQBackup.xml, so if you make a mistake you can import that backup file. You can also restore the presets to the default set, which removes any customised curves you saved.

Ideas rejected in current implementation

  • Retaining the "Save As" and "Delete" buttons with new Import/Export buttons to right of these. This would have been more intuitive in many ways but meant more clutter on the interface for anyone only wanting the installed presets. Also the "Grid" checkbox would have to be moved down a line and other ways would be needed to do things like reorder the presets list.
  • Building the default curves into the application as before, to avoid users deleting or corrupting the defaults. Not building in means you can have easy developer updates to the defaults, without re-compile. Also you don't have to have the same frequency spacing for each curve. You could still have this flexibility with a built-in default if you turned the XML into a string and included it in an .h file, but it's more work.


Possible future improvements

Content of default curves

There is still some concern that a single RIAA curve in the defaults does not reflect the amount of interest in "gramophone record equalization" and will mean extra hunting around for 78 RPM curves. A possible counter argument is that advanced users might get better results by hunting around for a curve that matched the record exactly.

Reset original presets only

There is no direct way to reset the originally supplied presets without losing custom curves that you saved or imported.