QUOTE(Funkstar De Luxe @ May 14 2008, 12:56)

I was wondering if there is some kind of software alternative to a RIAA circuit. I do have one installed in my EMU 1820m, but I was thinking that software may give me a higher quality solution.
I have programmed one as standalone using demos for Max/MSP and SynthMaker and the other as VST/Standalone using Delphi.
Here's the MaxMSP version 1.0 you can try (and instructions/coefficients for one sample rate
version for Synth Maker).
This RIAA Filter software works now @ 44.1, 48, 88.2 and 96 kHz and the recording (if done as I have set it up) can be done using 16-, 24-, 32- or 32f-bit resolution to a wav file. It's also possible to extent the software to use other type of processing tools through VST/DX plug-ins but, you'll need to modify the project file a bit to load some VST/DX chainer (ACON Digital's EffectChainer as for an example) or certain plug-ins (check the KVR database for some) ... stereo to surround conversion, HRTF, restoration (de-Click, etc.), EQ, etc. comes into mind 1st.
Alternative DL links for RIAA Filter 1.0:
http://jiiteepee.fortunecity.com/riaafilter/index.htmlSetting it up.
Needed components:
- download the
Max/MSP Runtime (or trial version, if you like to examine/edit the filter software by your self) -
- download and extract the RIAA Filter 1.0.zip (there's an attachment linked in this post) EDIT April 1st . : new, final version v. 1.0 attached.
Additional components:
- download the
Voxengo Recorder and Voxengo SPAN, extract those into same directory w/ RIAA_Filter (or install using the installer)
Hardware setup:
- connect your turntable w/o RIAA stage to your PC audio interface (either through a flat preamp or directly (this filter can be used to gain the weak signal up to 36dB if needed))
- set the audio interface for recording (i have tried recording through analog only so I can't be sure if everything works well through S/PDIF too)
On RIAA Filter software:

- open the RIAA_Filter.pat into Max/MSP enviroment
- open the I/O settings dialog and configure driver (samplerate, latency, etc.) and I/O ports properly
- start the engine by pressing the Start/Stop -button
- reset the Filter
- select Filter sample rate (needs to be equal w/ driver sample rate because of, these four filters are fixed for certain sample rates)
Extra options:
You'll get the SPAN and Recorder called by pressing the Open buttons. If nothing happens, move the VST .dll files into same directory with the filter software. These VST's are connected parallel so you can adjust the recording level by the SPAN output graphics/data.
If you like to edit the project file, you need least the trial version of Max/MSP. Editing is enabled through menu option View -> Edit. You can save the project ans use it even after the trial period through Max/MSP runtime.
Issues?
If no audio ... maybe you need to use ASIO drivers, try by resetting the filter, set the subsonic filter parameters (drag with mouse). If still no audio or no filter added (i.e. bassless/bright audio coming out) then, check your connections, levels, check the HW monitoring state, etc.). I found E-MU 0404 USB troublesome when changing sample rate "on-the-fly". If the filter freezes, just kill the MaxRT or Max process through task manager (ctrl-alt-del).
I probably prepare a better subsonic filter someday and maybe add a selection for to link those slider moves.
By setting up Electri-Q for Chebyshev I, HP Filter 36dB/oct @ 20Hz / BW20 it's possible to get quite steep subsonic/rumble filter (lighter line on graph):

Schematic for this filter project:
As seen in picture, I have multiplied the gain coefficients by 10. This gains the filter output signal over +30dB. Harmonic distortion stays still under -100dB but, if you feel it's gained too much then, just change those three first values on each RIAA filter. By dividing values by 10 you'll get the original level (~0dB @ 1kHz (as seen in the background image of tis filter software)). Do not touch into those two last filter coefficients !!
QUOTE
RIAA Filter software specs:
44.1kHz
Maximum error from 0.00 Hz to 20000.00 Hz = ~0.224dB
Maximum phase error from 0.00 Hz to 20000.00 Hz = ~+/- 30 degrees
where the "phase error" is computed after a constant delay is added or subtracted to make the phase error equiripple
48kHz
Max error from 0.00 Hz to 20000.00 Hz = ~0.14dB
Max phase error from 0.00 Hz to 20000.00 Hz = ~+/- 24 degrees
88.2kHz
Maximum error from 0.00 Hz to 20000.00 Hz = ~0.0082dB
Maximum phase error from 0.00 Hz to 20000.00 Hz = ~+/- 3 degrees
96kHz
Maximum error from 0.00 Hz to 20000.00 Hz = ~0.0057dB
Maximum phase error from 0.00 Hz to 20000.00 Hz = ~+/- 2.4 degrees
There's also commercial software for this (
Diamond Cut DC7).
Also, I have prepared a
preset for ddfm:IIEQ which is quite accurate too.
Juha