Help - Search - Members - Calendar
Full Version: RIAA Equalization Emulation
Hydrogenaudio Forums > Hydrogenaudio Forum > General Audio
Funkstar De Luxe
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.

pdq
QUOTE(Funkstar De Luxe @ May 14 2008, 05: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.

On the contrary, software emulation is likely to give you much worse quality. Without hardware equalization your sound card would need a much greater dynamic range, making it more likely that you get clipping, or excess noise, or both.

The main problem is that the recorded groove encodes amplitude as displacement, with a little preemphasis added. The phono cartridge, on the other hand, produces an amplitude that is a function of velocity rather than displacement, so high frequencies produce strong signals but low frequencies produce very weak signals. The RIAA equalization compensates for this effect plus the preemphasis.
2Bdecided
It's OK at 20-bits. You may have to let large clicks and pops clip - most restoration software won't mind.

I used the FFT filter in Cool Edit Pro (Adobe Audition), programming it with whatever curve I wanted (mostly to get the correct curve for pre-RIAA records). There are probably better dedicated software options out there now.

I agree with pdg though - it's not going to give you better quality, unless the existing RIAA circuit is broken.

Cheers,
David.
Axon
That said, some people do record flat, with good results. (Two software packages - DC6 and Pure Vinyl - are built around it. The Pure Vinyl guy actually went so far as to write an AES preprint dismissing the dynamic range issue as a red herring.)
Juha
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.html


Setting 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:

IPB Image

- 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):

IPB Image


IPB Image



Schematic for this filter project:

IPB Image

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
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.