Maybe you can also find it here https://linearaudio.net/downloads when you scroll down to "Test waveforms for Scott Wurcer's digital RIAA article in Volume 10". At least the optimizing script itself is there somewhere.
I'm sure all cutters rolled off somewhere. There is a rumour that Neumann used a simple first-order roll-off with 3.18 us time constant for that, but that is complete nonsense according to Wikipedia. It would be pretty stupid anyway, because you get a much better response in the audio band with a higher-order Butterworth filter. In any case, a digital implementation can only rise up to the Nyquist frequency, and in this case, the purpose of the filter is just to correct for the undesired RIAA playback correction in milwaukeeshellac's cartridge and preamplifier.
I'm sure all cutters rolled off somewhere. There is a rumour that Neumann used a simple first-order roll-off with 3.18 us time constant for that, but that is complete nonsense according to Wikipedia. It would be pretty stupid anyway, because you get a much better response in the audio band with a higher-order Butterworth filter. In any case, a digital implementation can only rise up to the Nyquist frequency, and in this case, the purpose of the filter is just to correct for the undesired RIAA playback correction in milwaukeeshellac's cartridge and preamplifier.
This has me wondering if you can stack three or four biquads and have the output be, say, inverse RIAA with 250 Hz turnover and 8.5 dB rolloff at 10 kHz with only the necessary gain changes.
This seems like it could be an extremely useful Audacity Nyquist plugin, and the coding wouldn't be that heavy of a lift. You could input sampling frequency, what type of preamp you're using, desired rolloff and turnover, and the output would be identical to or better than an analog archival preamp with 1% components. Gary Galo is working tirelessly to work something up for iZotope and Ozone, but it seems like a much-easier solution is possible in Audacity with a very simple program. A few "if" functions and nested biquads with a toggle switch of sorts would do it.
I will have to ask on the Audacity forum.
Yes, by cascading biquads, you can combine the inverse RIAA correction with whatever historic playback correction is needed for the record. The chain then converts RIAA correction into the required historic correction. Scott Wurcer published biquad coefficients for a whole bunch of historic playback corrections for 48 kHz and 96 kHz sample rate, see the Linear Audio downloads webpage.
Thank you. You were correct -- it is a brute-force search optimization. There are faster methods, but they may not be quite as accurate.Maybe you can also find it here https://linearaudio.net/downloads when you scroll down to "Test waveforms for Scott Wurcer's digital RIAA article in Volume 10".
That is exactly the story that I heard -- 50 kHz 1st-order rolloff. Perhaps it was just audio lore.I'm sure all cutters rolled off somewhere. There is a rumour that Neumann used a simple first-order roll-off with 3.18 us time constant for that, but that is complete nonsense according to Wikipedia.
And in a 96 kHz context, a 50 kHz LPF is meaningless. But why amplify signals that can only cause problems? I might start the rolloff an octave below that. It would be pretty easy to make a linear-phase FIR filter to add to the biquad stack.In any case, a digital implementation can only rise up to the Nyquist frequency,
Sure, but why would you? Ultrasonic signals may still be useful for audio restoration algorithms - for example, the late Michael Gerzon proposed using tape recorder bias residues to correct for speed variations (although that doesn't apply to records made before the invention of tape recorders) - and nowadays people pay lots of money for digital audio recordings including signals that are supposed to be outside the human auditory range.
Scott Wurcer explains in the article that there are many local optima. A brute force optimizer doesn't get stuck in those.
This is the ultrasonic error (magnitude in dB and phase in degrees for frequencies from 20 kHz up to the Nyquist frequency) of the two-biquad version based on Scott Wurcer's coefficients:
Scott Wurcer explains in the article that there are many local optima. A brute force optimizer doesn't get stuck in those.
This is the ultrasonic error (magnitude in dB and phase in degrees for frequencies from 20 kHz up to the Nyquist frequency) of the two-biquad version based on Scott Wurcer's coefficients:
Last edited:
It all depends upon the intended use. If you're not restoring but only playing, then the only advantage of keeping the ultrasonics is to satisfy the "people who pay lots of money for digital audio recordings including signals outside the human auditory range". Not likely to be a lot of information there on an old 78.Sure, but why would you? Ultrasonic signals may still be useful for audio restoration algorithms - for example, the late Michael Gerzon proposed using tape recorder bias residues to correct for speed variations (although that doesn't apply to pre-tape recorder records) - and nowadays people pay lots of money for digital audio recordings including signals outside the human auditory range.
The ultra-high frequencies are definitely totally irrelevant for 78s. With most material with which I work, even 10 kHz is borderline-irrelevant and is mostly microphonic distortion. It can still very much be hifi with careful restoration.
I'm going to have a lot of fun optimizing the Soundsmith Strain Gauge when it comes. I have an assortment of 1930s-1950s frequency records and will compare the response of a conventional setup to the Strain Gauge. It definitely deviates from RIAA several magnitudes more than these curves do, but the time-domain response will probably be a lot better than a moving magnet cartridge. It will be interesting to see which matters more: time-domain response or frequency response accuracy. We don't even know the exact curves used for early electrically-recorded 78s, anyway. They change from record to record based on the whims of the engineer and the behavior of the equipment.
I'm going to have a lot of fun optimizing the Soundsmith Strain Gauge when it comes. I have an assortment of 1930s-1950s frequency records and will compare the response of a conventional setup to the Strain Gauge. It definitely deviates from RIAA several magnitudes more than these curves do, but the time-domain response will probably be a lot better than a moving magnet cartridge. It will be interesting to see which matters more: time-domain response or frequency response accuracy. We don't even know the exact curves used for early electrically-recorded 78s, anyway. They change from record to record based on the whims of the engineer and the behavior of the equipment.
It originated with Allen Wright's Tube PreAmp Cookbook. It has been comprehensively refuted by Doug Self by reference to Neumann schematics in his Electronics for Vinyl book.Perhaps it was just audio lore.
I'm working now on setting up curves in a spreadsheet for the other various EQs. Making an Audacity widget might be more trouble than it's worth. One thing at a time.
The Linear Audio stick is probably going to be a birthday present in a few days...
I'm working off the assumption that if I normalize the various curves for 1 kHz - 0dB unity. that it will put the curve in the correct spot...so if I transferred something with -5dB rolloff and later need to set it at -8.5, I would run both an inverted -5dB curve and a -8.5dB curve in cascade. I keep second-guessing myself because some of the curves aren't by themselves at 0dB at 1kHz and that some of the middle frequencies are acted upon by both the turnover curve and rolloff curve. That shouldn't matter if the "opposing force" is correct.
The Linear Audio stick is probably going to be a birthday present in a few days...
I'm working off the assumption that if I normalize the various curves for 1 kHz - 0dB unity. that it will put the curve in the correct spot...so if I transferred something with -5dB rolloff and later need to set it at -8.5, I would run both an inverted -5dB curve and a -8.5dB curve in cascade. I keep second-guessing myself because some of the curves aren't by themselves at 0dB at 1kHz and that some of the middle frequencies are acted upon by both the turnover curve and rolloff curve. That shouldn't matter if the "opposing force" is correct.
Good to know. Thank you.It originated with Allen Wright's Tube PreAmp Cookbook. It has been comprehensively refuted by Doug Self by reference to Neumann schematics in his Electronics for Vinyl book.
As a matter of fact what Wright described, and illustrated graphically, was a zero, not a pole, although he didn't actually use either term, and being a DC to daylight guy he thought it should be corrected (with another zero). He did claim to find '3.18uS' in a Neumann manual, but Self showed that this refers to a 2nd-order Butterworth filter. (Whether Wright knew the difference is another question.)
So how it became the 'Neumann pole' is another mystery.
So how it became the 'Neumann pole' is another mystery.
I've been testing Scott Wurcer's non-RIAA curves, and I think something is wrong or I'm missing some sort of obvious error I may have made. Does anyone see any errors in the below biquad tables? The -5dB at 10k biquad normalized for 1kHz is below. When I apply it to the below track, it attenuates the entire frequency band instead of stopping at around 3 kHz like I should. The below frequency plot shows the ideal test track with -5 rolloff next to the same track processed using the below Nyquist biquad. The -5 curve has a gain of 10.07 dB, so I just multiplied the 'b' coefficients by (10^(-10.07/20)).
From what I can tell at this early stage of testing, the bass curves are correct.
https://docs.google.com/spreadsheets/d/1PtUPwUjSnOGTgrhcB-NJH5and5KLBht_HbmThYnr7rM/edit?usp=sharing
From what I can tell at this early stage of testing, the bass curves are correct.
10 kHz Attenuation | |||||||||
-5dB | ALL GAINS POSITIVE | NORMALIZED AT 1KHZ UNITY | |||||||
1 | -0.2973142 | -0.22004364 | a0, a1, a2 | Gain at 1kHz | 1 | -0.2973142 | -0.22004364 | ||
1 | 0.52540994 | 0.03021438 | b0, b1, b2 | 10.07268562 | 0.3135925374 | 0.1647646363 | 0.009475004091 | ||
STANDARD BIQUAD | (biquad-m track 3.135925374e-01 1.647646363e-01 9.475004091e-03 1.0000000e+00 2.973142e-01 -2.2004364e-01) |
https://docs.google.com/spreadsheets/d/1PtUPwUjSnOGTgrhcB-NJH5and5KLBht_HbmThYnr7rM/edit?usp=sharing
Your a1 coefficient is -0.2973142 in the first row of the table, but it's +0.2973142 in the "biquad-m track" entry.
Thanks! 🤦♂️I'd forgotten I transcribed the first few by hand before I realized that scientific notation is, in fact, a number format. It works now. I'll leave the sheet up for anyone who stumbles upon this brilliant thread in the future. Extremely useful for anyone with vintage records and who would rather not buy a special preamp.
- Home
- Source & Line
- Analog Line Level
- Digital IIR Inverse RIAA filter 1kHz @ 0 dB Audacity Nyquist