Hello!
Well, after many tries w/ not so good results in using EQ plugins for RIAA compensation, I have now implemented a solution of my own ... a RIAA reproduction filter to be used when turntable is connected into soundcard
without hardware RIAA stage in signal path.
All I can say so far, is that the results I get are really qood but, since I have only one set of hardware to try it with, I would like you to evaluate this too. This 'demonstration' filter,
(
.. Sorry 'bout the visual outlook but ... don't laugh, it should work)
which I have linked below, is prepared only for you. It is optimized for 44.1/48 kHz audio (any bit depth can be used) and it can be used through Cycling74 Max/MSP runtime enviroment only. ASIO, MME, DS, etc. are supported as well as Windows XP and MAC OS/X 10.3.9-> (there is a runtime for both systems available). For this "evaluation" version, I have included a rumble filter (Subsonic) w/ ability to set the cutoff frequency (5-30Hz) and Q (0.1-1.41). It's allways ON and
not very well implemented (see below).
As mentioned, these filters are for 44.1 or 48 kHz data only. What it means is that the mathematical model is matched for amount of this much samples (sample accurate processing). Biquad method used in this filter uses three samples to get the new output value calculated (current sample and two previous samples). What happens if you set samplerate to other than 44.1kHz for 44.1kHz filter as for an example ... samples becomes processed wrong --> quality becomes bad.
44.1kHz version:
Here are the needed software:
RIAA Filter (for 44.1kHz) DEMO.rar (~16kB)
Mirror 1
Mirror 2
"
Max/MSP 4.6.2 Runtime" enviroment (PC/MAC) (~4.5MB) -
Asio4All -
http://www.asio4all.com (free)
48kHz version (improved functionality):
I prepared another evaluation version ... now it's fixed for 48kHz instead of 44.1kHz, it can be used without preamplifier too (in most cases) and it's possible to record the output to a 16-/24-/32-/32f-bit wav file (though, this needs another plugin being installed, see below).
I also added a "reset to defaults" button so It's possible to get everything working much easier. Subsonic filter is not improved ... it still cuts only 6dB/oct instead of 'required' 36dB/oct.
'bout recording the output:
You need to install
Voxengo Recorder VST (free) plugin into the same directory where this RIAA Filter is placed into, to get the recorder working. Actually, you could use any plugin but it needs to be renamed equally to the voxengo recorder .dll. Set the "MME Device" to "Sound Mapper" .. otherwise you may hear some unwanted noises (those are not added into recorded file). Set the "Output To " -> "File". Name the file before recording. Set the bit-depth.
Here are links for the new version.
RIAA Filter (optimized for 48kHz) DEMO.rar
Mirror 1
Mirror 2
NOTE: Filename may become changed by the file service providers system.
-- 3 files included in rar packet (2 pictures (background images) and the filter .pat file)
A picture showing some of the needed settings.
Other possibly needed software:
SRC/dithering Voxengo r8brain (free) -
http://www.voxengo.com/product/r8brain/
----------------------------------------------------------------------------------------------------
Setting everything up (Windows):
- connect the turntable into PC soundcard through a flat pre-amplifier (no RIAA satage in signal path)
- connect your output device (receiver/amplifier/active speakers/headphones)
- install the Max/MSP runtime enviroment
- extract the "RIAA Filter.rar" to your harddisk
- extract the Voxengo Recorder into same directory w/ the Filter softare
Start the RIAA Filter program either by
- starting the runtime enviroment and Open the "RIAA Filter (for 44.1kHz).pat" or double-clicking the "RIAA Filter (for 44.1kHz).pat" (through Windows Explorer -> .pat extention should be associated to Max/MSP runtime then)
In "RIAA Filter (for 44.1kHz)" screen:
- set I/O devices; ASIO recommended (if no sound, remember check settings in mixer software)
- adjust the Subsonic filter by dragging w/ mouse (Hz = 25Hz and Q = 0.71 are good to start from) (see below) or by pressing the "Reset to defaults" button (48kHz version)
- adjust Gain to somewhere near the 0dB mark (128)
- press the Play/Stop button to enable the playback through filter
- readjust the Gain by the signal you get
NOTE: If you can hear audio when Play/Stop is set "OFF" (there should be total silence) then you need to set something in your mixer softwre (maybe monitoring OFF, mute something, etc.) otherwise the unfiltered signal is summed into playback --> brighten sound.
Some notes:
Subsonic filter:
It's a low order highpass filter so the cut is not very sharp/steep ... you can use 25-30Hz as cutoff frequency w/o loosing much from above the 20Hz frequencies. Example on how # of orders effects (this is lowpass filter used in example) :
http://www.kwon3d.com/theory/filteri..._lpass_f02.gif
RIAA filter:
The original filter coefficients (15 decimal accuracy) gives quite accurate de-emphasis curve (±0.23dB (44.1kHz), ±0.15dB (48kHz)) even it's a 2nd order filter (4th order filter would give ±0.0006dB) .. as the Max/MSP enviroment seem to scale and round the given value into 6 decimal value, it may have some negative effect on accuracy. I have compared the orignal 15 decimal data against rounded 7 decimal data and those didn't differ very much by the results (sound/frequency response curve). Some other results from measurements:
Phase:
Harmonic distortion:
Software:
Gain, and Subsonic controllers resets to "0" when filter is loaded into runtime enviroment so, all these needs to be set every time after filter is loaded otherwise you get bad quality audio if at all. If you get rattle in audio, just toggle the Play/Stop or reassign your I/Os. The 48kHz version has a "reset to defaults" feature which makes things easier.
Hmm.. I hope there are no bugs since I can't test (or fix in realtime) because of I'm still using W2k and I do not have Max/MSP which also needs least XP being installed (even the runtime won't get installed in W2k SP4).
Hardware:
You need some pre-amplification for turntable output (in most cases) to get signal levels good enough for soundcard input. As you can gain the signal upto +17dB (44.1kHz version) - +38dB (48kHz version) software wise, it's possible that you can get everything working w/o additional flat pre-amplifier (I have tried this and it seem to work well but, it is card dependent ofcourse) but, also remember that the best connection impedance for cartridge is normally ~47kΩ (-100kΩ) and load capacitance less than 200pF (or by the cartridge specs). Pre-amplifier is recommended in any case.
If you try/use this software, remember to leave some comments here.
jiitee