This plug-in arose from the 'Adding Features to Audacity' section of the forum.
For the background, see http://forum.audacityteam.org/viewtopic.php?f=20&t=33824&start=0
The Equaliser effect in the latest Audacity nightly builds http://wiki.audacityteam.org/index.php?title=Nightly_Builds
, has a feature which allows EQ curves to be imported or exported as xml files. This raises the possibility that the EQ curves for playback of 78rpm records could be made available as presets in the Equaliser. However the number of EQ curves which exist for 78's (each record label had its own EQ curve) made inputting them a huge task, so I decided to see if it could be automated; hence the plug-in.
This wiki page http://wiki.audacityteam.org/wiki/78rpm_playback_curves
gives a long list of 78 EQ curves.
The EQ Curve Generator creates the EQ curve from the given parameters, and writes it to a file in a format that can be read by Audacity's Equalisation effect.How it Works
All 78rpm EQ curves are defined by two parameters; a Bass Turnover Frequency and a 10kHz Rolloff value. These two parameters define a bass boost curve with a 'corner frequency' or 3dB frequency at the Bass Turnover point, and a treble cut curve which reduces the gain above a certain frequency, so that the gain at 10kHz is at the required value.
(Note that some 78 EQ curves have a 10kHz Rolloff of zero, i.e. they are flat at treble frequencies)
The principal inputs to the plug-in are the Bass Turnover and 10kHz Rolloff parameters and, from them, the bass boost and treble cut filter curves are calculated and summed. Inevitably, the curves overlap to some extent, which gives incorrect results at the two defined points, so a second pass re-calculates the curves to take account of the interaction between them, and produces the combined curve.
Now, the 78rpm EQ curves, according to their definition, have a bass response which increases without any limit as the frequency gets lower, so that sub-sonic frequencies, turntable rumble etc. would be greatly amplified. To avoid this, I have introduced a Bass Shelving component to the curve. This flattens the curve below a selected frequency. The default setting is 50Hz, but it can be changed as required. I should point out that the only basis I have for this addition is common sense and a gut feeling (plus the fact that it is explicitly included as a component in the RIAA curve which replaced the multiplicity of EQ curves in the 1950's), so if anyone can point me to some factual information on this element, I would be grateful.
As an option, I have included the ability to normalise the curve to 0dB at 1kHz.
Once the curve is calculated the values are displayed on screen, and written to an xml file called 78EQCurves.xml in a directory chosen in the initial input window (default is /Program Files/Audacity). The name to be given to the curve is also typed in the input window, and is included in the xml file. (Note that, as the plug-in is currently written, each time it is run, the 78EQCurves.xml file gets over-written with the new curve data.)
Once the xml file has been written, the data can be imported from it into the Equaliser effect, and saved as a preset using the 'Save/Manage Curves' feature.
The plug-in also has a Help screen, which outlines the background and operation.
When installed, it appears as '78rpm EQ Curve' in the 'Generate' menu.
Comments or suggestions for improvement are welcome.