|
|||||||
![]() |
|
|
LinkBack (5) | Thread Tools |
|
|
#1
|
|
DriverHeaven Addict
Join Date: Apr 2005
Location: FI
Posts: 392
Rep Power: 0 ![]() |
Turntable->PC (RIAA EQ done by software filter ..)
[COLOR=Magenta]I HAVE UPDATED THIS SOFTWARE FOR RIAA EQ + PREPARED EQ PRESETS FOR ddmf FREEWARE VST PLUGINS IIEQ/SmallEQ. GO TO POST #9 TO GET THE LATEST SOFTWARE.[/COLOR]
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 Last edited by jiiteepee; Oct 4, 2008 at 02:21 AM. |
|
|
|
|
|
#2 |
|
Apple Fanboy?
|
this will be really useful with travelrec's hardware preamp - it requires a software EQ curve.
http://www.electricstart.de/site/liphoamp.htm
__________________
Chris - The Aussie Super Mod
Driverheaven Rules - Sig Request Thread How you can help DriverHeaven by using Digg! Driverheaven Super-Moderator |
|
|
|
|
|
#3 |
|
DriverHeaven Addict
Join Date: Apr 2005
Location: FI
Posts: 392
Rep Power: 0 ![]() |
.. and the resulting RIAA EQ reproduction magnitude is quite good even with these 44.1 and 48kHz filters I give away as a 'software' version. Especially the 48kHz version is fully usable because of added recording capability up to 32f-bit wav files.
(If you search commercial hardware RIAA stages as accurate as the 48kHz filter is (0.15dB (20Hz-20kHz)), you'll notice that you need to put some cash over the desk before getting as good as this is). Are there any measured specs for that travelrecs pre-amplifier available? jiitee |
|
|
|
|
|
#4 |
|
Apple Fanboy?
|
not that i am aware of - i think he designed the circuit - and hoped someone would be able to program an EQ for the kX DSP - though if i have the time i might build one, providing i can source the components
btw my turntables have their own preamp built in, so i can switch between line level and phono level out, to do a comparison in perceived quality
__________________
Chris - The Aussie Super Mod
Driverheaven Rules - Sig Request Thread How you can help DriverHeaven by using Digg! Driverheaven Super-Moderator |
|
|
|
|
|
#5 |
|
DriverHeaven Addict
Join Date: Apr 2005
Location: FI
Posts: 392
Rep Power: 0 ![]() |
Hope he noticed this thread - Need help with filter implementation
Do you mean you could route the line-level signal through PC to the same output device you have connected your turntables through normal way? If yes then, if you have some spare time to make few comparisons, I could e-mail you a better quality RIAA Filter either as a VST plugin + setting-up guide or as a similiar construction as those evaluation versions but w/ a step better quality. Maybe you should test if you get the above 48kHz filter working w/ your setup 1st. jiitee |
|
|
|
|
|
#6 |
|
Apple Fanboy?
|
i meant playing a record i know well via line level, and then the phono output - preamp through the filter - i know it's not the most scientific method, but it's the best i have atm, and it uses the best possible piece of equipment we have - our ears
__________________
Chris - The Aussie Super Mod
Driverheaven Rules - Sig Request Thread How you can help DriverHeaven by using Digg! Driverheaven Super-Moderator |
|
|
|
|
|
#7 |
|
DriverHeaven Addict
Join Date: Apr 2005
Location: FI
Posts: 392
Rep Power: 0 ![]() |
Did you already tried the RIAA Filter in action?
In generally, when trying this RIAA Filter w/o pre-amp and you can't get levels high enough for decent playback then you could also try this: - download the Max/MSP Trial software - open the Filter into it, and switch to Edit mode - drag those objects (background image, etc.) to get those two biquad~objects available http://img231.imageshack.us/img231/6205/riaapatnn8.png There are five numerical values stored in those biquad~ boxes, just after the ADC~ object, for both left and right channels ... by multiplying those 3 first values by - 5 you'll get ~+14dB more gain from filter (filter gain i sthen ~27dB), - 10 you'll get ~+20dB (filter gain is then ~+33dB), - etc., ... so, If you copy these (these are for 48kHz only) biquad~ 10, -7.555521, -1.646257113 -1.7327655 0.734553444 values and paste them over those old values in those biquad~ boxes (check also that everything matches there) ... do you start get better output levels? If results are not good yet then just multiply those original w/ 15 etc., or if you start getting distortion then use smaller multiplier. NOTE: Adding gain worses the Harmonic Distortion level but, w/ +33dB gain it should still be well below -100dB. You should also be able to save the changes you made (the Max/MSP trial is valid for 30 days but, after that you should be able to use the fixed Filter w/ Max/MSP Runtime w/o limitations). jiitee Last edited by jiiteepee; Oct 4, 2008 at 02:15 AM. |
|
|
|
|
|
#8 |
|
Apple Fanboy?
|
i haven't had a chance to test yet, no pre
but i'm hesitant to test that method, as adding that much gain via software will boost the noise floor considerably - so any tests i do won't be a true perceptive test, as the added noisefloor will colour the sound and i won't be able to give an accurate comparison
__________________
Chris - The Aussie Super Mod
Driverheaven Rules - Sig Request Thread How you can help DriverHeaven by using Digg! Driverheaven Super-Moderator |
|
|
|
|
|
#9 |
|
DriverHeaven Addict
Join Date: Apr 2005
Location: FI
Posts: 392
Rep Power: 0 ![]() |
Re: Turntable->PC (RIAA EQ done by software filter ..)
Hi!
Sorry 'bout the long post. 'bout a 1,5 year ago I started this thread (and somewhere else) regarding a software based solution for RIAA EQ needed for vinyl playback on computer based audio setup when no RIAA stage available. I've been so busy since last summer so not much happening on that front. Now, when testing the method using E-MU 0404 USB Interface, I prepared another filter by using some dedicated tools (quite easy to prepare this type of filters in this programming enviroment). Looks like the filter works so, I decided to give the project file out so if there are people around who would like to try it out or needs this type software. If anybody likes to extent/improve it's functionality, I don't mind. There are now three "implementations" available: 1. for Max/MSP 4.x runtime 2. for Max/MSP 5.x runtime 3. Presets for ddmf IIEQ/SmallEQ VST (freeware) plug-ins [COLOR=DeepSkyBlue]1. Max/MSP 4.x VERSION:[/COLOR] Updated the RIAA EQ Filter software to the final version v.1.0: - more readable information fields - selection for subsonic filter (enable/disable) - four RIAA filters I probably prepare a better subsonic filter someday and maybe add a selection for to link those slider moves. 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 and 32float 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. Setting it up is similar as mentioned on 1st post. Needed components: - download the Max/MSP 4.x Runtime (or trial version, if you like to examine/edit the filter software by your self) - download and extract the RIAA Filter 1.0 (Rapidshare link) 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). --------------------------------- 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: http://img135.imageshack.us/img135/9...erscemazi2.jpg As seen in picture there, 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 !! RIAA Filter software specs:[COLOR=DeepSkyBlue]2. Max/MSP 5 VERSION:[/COLOR] ---------------------------------------------- I'v also updated this RIAA Reproduction filter to version 1.6 which works only w/ Max/MSP 5.x. (Runtime and 30 day Demo). Project file can be downloaded from Rapidshare. ![]() Some new features added. Input stage: - input level meters - file stream input(WAVE, AIFF, SND) RIAA filter stage: - adjustable filter gain multiplier (0.1x - 10x) ... both, slider and the value box below the slider (drag w/ mouse) can be used for to change the 'gain' - output level meters (RIAA filter + Subsonic filter) Subsonic filter stage: - chained four 6dB/oct HP filters (dunno the quality) Output stage: - output level meters - sliders can be linked to work simultaneous (sorry, but only equal values atm) - gain meteringin +/- dB from source (ADC/File) gain level [COLOR=DeepSkyBlue]3. ddmf IIEQ/SmallEQ SOLUTION:[/COLOR] ------------------------------------- Here is a VST EQ solution which is maybe easier to use than those two filters and can also be used for different samplerate settings. As additional software, you just need some VST Host application like Hermann Seib's VSTHost or SAVIHost (and Sonalksis FreeG for additional gain if you connect the turntable w/o decent flat pre-amp). ddmf has good free EQ alternatives for this. ![]() ddfm SmallEQ is technically ~same than ddfm:IIEQ (same link). ![]() RIAA EQ Presets: (error: avg. under ±0.05dB (0Hz- ~ 18.2kHz) and from ±0.1dB to -1.6dB (~18.2kHz - 20kHz) @ 44.1kHz): NOTE: These RIAA EQ Presets given here does not work correctly w/ other ddfm EQ's (meaning LP10 and IIEQ Pro) and maybe nor @ other sample-rates than 44.1kHz. [COLOR=#ccffff]Preset for IIEQ v. 1.12[/COLOR] (freeware)[COLOR=#ccffff] [COLOR=#ff0000]DISCONTINUED PRODUCT[/COLOR][/COLOR] Preset for SmallEQ (freeware) : It's just as accurate as shown on picture below. [COLOR=Red]UPDATE:[/COLOR] Preset for IIEQ v. 1.21 (freeware). Works w/ the Morcky IIEQ aswell. (Not measured teh accuracy) If you prefer to tweak the preset to become more accurate, it's easiest to do by using Cristian Budde's Plugin Analyzer. As the linked preset files are maybe not available after some period, here are the same as HEX code (though, you see all needed settings in (IIEQ) picture already): Quote: For IIEQ 43636E4B000000E0678436B000000019494551000000010000 02C496E69740 3100002840FF00076FD00E7294200F29420080A61401F7EB85 23F000000D4C CCCC3F170A3DEEB85203D6147AFF1333333EFFFFFEE16C16C3 F27AE113EB5C 2913E8BD027EE6666A3E23D709EF2EA643F0147ADE9C28F63F 0E38E4F0F5C2 93E28F5C4F3258C03F07AE14E851EB83F501235DA3D70A3C23 D70AF8000003 ED47AE0F0000003F80000000000003ED9E12BF0000003F8000 003F8000003F 800000F8000003F800000F8000003F800000F8000003F80000 0F8000000000 002B for SmallEQ: 43636E4B000000E44678436B00000001353834630000000100 00002D496E69 74203100009054D8005077D700E7294200EF29420080A6ED00 3F7EB8523F00 00003D428F5B3F170A3D3EEB85203D6147AF3F1333333EFFFF FE3E11A2B43F 27AE113EB5C2913E8642063EE6666A3E23D7093EE9B3183F01 47AD3E9C28F6 3F08C8413F0F5C293E28F5C43F2B86383F07AE143E851EB83F 481C0A3DA3D7 0A3C23D70A3F76353F3ED47AE03F0000003F76353F00000000 3EEDE59B3F00 00003F8000003F8000003F8000003F8000003F8000003F8000 003F8000003F 8000003F8000003F8000000000002B0000002C for IIEQ 1.21/Morcky: 43636E4B000000E04678436B00000001494945510000000100 00002C496E69 742031000050DFE600F076D700E7294200EF29420080A6ED00 3F7EF9DB3EFD 70A33D3C6A7E3F1851EA3EE5A1CE3D6147AF3F128F5B3F0041 873E15BB493F 274BC33EB5C2913E862E5C3EE6666A3E23D7093EE9B3183F01 47AD3E9C28F6 3F08D8A23F0F5C293E28F5C43F2B900C3F07AE143E851EB83F 4810623DA3D7 0A3C2C08313F7624DD3ED47AE03EFE76C83F7624DE00000000 3ED3094C3F00 00003F8000003F8000003F8000003F8000003F8000003F8000 003F8000003F 8000003F8000003F8000000000002B Just enter/paste HEX data into a HEX editor and then save as "ddmf-<version>-RIAA EQ.FXP". !! W/ these presets, In any case, use 24-bit/44.1kHz resolution only (I have not tested if the preset works well @ higher sample-rates). Here is a comparison showing the linked ddmf:IIEQ/SmallEQ RIAA preset accuracy compared to RIAA curve @ 44.1kHz: ![]() BLUE = standard RIAA curve, RED = ddmf:IIEQ/SmallEQ RIAA preset. The IIEQ/SmallEQ VST preset for RIAA EQ is adjusted visually (by the results got from a filter build using Orbans coefficients) on VST Plugin Analyzer ... so it's basically as accurate as you be able to zoom the graph to get the curve fitted/data resolution (Hz, Q, Gain) on IIEQ/SmallEQ. It's possible to export the plot result from "VST Plug-in Analyzer" (my graphs were made w/ it) but, as it's not accurate plot (only 4096 points). I did compare the results between a Delphi implementation of VST filter prepared using Orbans coefficients and IIEQ/SmallEQ version @ 44.1kHz ... error: avg. under ±0.05dB (0Hz- ~ 18.2kHz) and from ±0.1dB to -1.6dB (~18.2kHz - 20kHz) @ 44.1kHz). I think you need to prepare an unique preset for each sample-rate as well. As I don't have the sample accurate data for "exact" RIAA curve other than what those Orban coefficients gives (though, those should be accurate because of being calculated using 1:1 same 'components' which the original RIAA curve is based/defined of), I can't exactly compare the software implementation results against hardware RIAA EQ results. EDIT: Here is the comparison for Delphi VST (2 pole) vs ddfm:IIEQ/SmallEQ VST (it's a 2MB HTML page so it may load slowly on a slow speed connection). I have ~20 versions of EQ presers for IIEQ so I can't say if this is the most accurate (I don't use ddfm:IIEQ/SmallEQ for RIAA so ...). If you prefer a RAR packed version then here it is. As those Orban coefficients gives a gained filter, in my Delphi implementation, I have adjusted the 1kHz @ 0dB "visually" so, the Delphi filter might be gained or de-gained a bit (though, not much). EDIT2: I prepared a .svg page showing graphically the difference. The red line there is the 'reference' (~0.2dB wide) and the blue line is what IIEQ outputs (0.1dB wide). jiitee |
|
|
|
![]() |
| Bookmarks |
| Thread Tools | |
|
|
LinkBacks (?)
LinkBack to this Thread: http://www.driverheaven.net/audio-general-technical-discussion/133293-turntable-pc-riaa-eq-done-software-filter.html
|
||||
| Posted By | For | Type | Date | |
| Taringa! - Nunca Visto en Taringa pasa tu disco de vinilo!! | This thread | Refback | Mar 26, 2009 06:03 PM | |
| Taringa! - Nunca Visto en Taringa pasa tu disco de vinilo!! | This thread | Refback | Feb 22, 2009 11:43 PM | |
| Charlie Hall's Forum - Analogue to PC | This thread | Refback | Dec 14, 2008 04:12 PM | |
| Charlie Hall - Analogue to PC | This thread | Refback | Dec 13, 2008 06:10 AM | |
| HooSeek - recherche Web | This thread | Refback | Mar 1, 2008 11:26 AM | |