Jump to content
IGNORED

Offline attenuation


Recommended Posts

Currently I am using a MiniDSP Studio, not only for Dirac, but also as 'preamp', or rather digital (DSP) attenuator, as the resulting SQ is much better than I expected, and pretty transparant. However, SQ and attenuation are still inversely proportional: i.e. less attenuation gives better SQ. So to experiment I ordered two Rothwell XLR line attenuators to put between the DAC and the power amp. These will reduce the volume by 10 dB.

 

But another thought: would it be an idea to offline apply attenuation to some of these very loud but cherished albums? When playing back the attenuated versions, the SQ in such a system should improve. (Maybe not so crazy as it sounds as some of us also practice offline upsampling.)

Has anyone done this? And which software would best/easiest to use for this purpose?

 

audio system

 

Link to comment
1 hour ago, bodiebill said:

But another thought: would it be an idea to offline apply attenuation to some of these very loud but cherished albums?

 

Assumed the digital attenuation of MiniDSP is "decent", applying the attenuation offline (thus to the file and output the lower level version to play back) would come down to the very same issue.

But if you don't like the attenuation of MiniDSP, then personally I wouldn't like the DSP part (Xovers, Roomcorrection etc.)  much, because filtering as such (as involved here) is nothing less than attenuating, though in a more complex fashion.

 

Digital attenuation done well is quite hard to find. Compare with XXHighEnd's attenuation (I recall you used that ?).

Lush^3-e      Lush^2      Blaxius^2.5      Ethernet^3     HDMI^2     XLR^2

XXHighEnd (developer)

Phasure NOS1 24/768 Async USB DAC (manufacturer)

Phasure Mach III Audio PC with Linear PSU (manufacturer)

Orelino & Orelo MKII Speakers (designer/supplier)

Link to comment
27 minutes ago, PeterSt said:

Digital attenuation done well is quite hard to find. Compare with XXHighEnd's attenuation (I recall you used that ?).

 

Yes I did use that, and to great effect, but it perished when I steered away from computers. Now using an RPi4/Pi2AES. "Vloeken in de kerk?" :-)

 

So how did you achieve quality attenuation? (Of course I do not want to open a can of worms, but still interested.)

 

27 minutes ago, PeterSt said:

Assumed the digital attenuation of MiniDSP is "decent", applying the attenuation offline (thus to the file and output the lower level version to play back) would come down to the very same issue.

 

Thanks, that is useful information.

 

audio system

 

Link to comment

Attenuation of digital domain is almost always lossy conversion: original file information cannot be recovered fully from attenuated file, by the information loss caused by rounding error. It is okay to experiment to create attenuated file from offline conversion but it is important to keep original file as is

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment
1 hour ago, PeterSt said:

But if you don't like the attenuation of MiniDSP, then personally I wouldn't like the DSP part (Xovers, Roomcorrection etc.)  much, because filtering as such (as involved here) is nothing less than attenuating, though in a more complex fashion.

 

On a side note: I think that where Dirac shines is in the time domain, where its corrections make the soundstage 'lock' -- dead center. Once experienced, I would not want too miss that anymore, and even gave up my preference for higher resolutions (including DSD) for that.

 

audio system

 

Link to comment

Set Audacity to 32-bit floating point. Load a regular 16/44.1 track. Attenuate by -30dB. Amplify by +30dB. Compare to original. Here are the results from DeltaWave:

 

Phase offset=0ms (0 samples)
Difference (rms) = -400dB [-400dBA]
Correlated Null Depth=300dB [300dBA]
Clock drift: 0 ppm

 

Digital attenuation is 100% transparent if implemented properly 🙂.

 

Edit: Results for -48dB/+48dB:

 

Phase offset=0ms (0 samples)
Difference (rms) = -400dB [-400dBA]
Correlated Null Depth=300dB [300dBA]
Clock drift: 0 ppm

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment
10 minutes ago, manisandher said:

Set Audacity to 32-bit floating point. Load a regular 16/44.1 track. Attenuate by -30dB. Amplify by +30dB. Compare to original. Here are the results from DeltaWave:

 

Phase offset=0ms (0 samples)
Difference (rms) = -400dB [-400dBA]
Correlated Null Depth=300dB [300dBA]
Clock drift: 0 ppm

 

Digital attenuation is 100% transparent if implemented properly 🙂.

 

Mani.

 

Interesting, thanks for that!

@PeterSt what is your take on this?

 

If it can be done 100% transparent offline, I would expect it is also possible on the fly?

But I guess not, as nobody is doing that?

 

audio system

 

Link to comment
2 minutes ago, bodiebill said:

 

Interesting, thanks for that!

 

If it can be done 100% transparent offline, I would expect it is also possible on the fly?

But I guess not, as nobody is doing that?

 

It's 100% transparent on the fly too. (I use Roon, which works at 64 bit.)

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment

I've never used MiniDSP, so really don't know.

 

But I listen to music whilst working in my office a lot. I usually have the volume set to at around -50dB or so for low-level background music (the DAC in my office has a high output). The loudness of the music in the room vs. the ambient noise is such that there's no way I'd be able to hear any loss in SQ, even if there were any (which the measurements tell me there isn't).

 

All my experience tells me that there's way more to be worried about than the integrity of the digital signal during processing. For example, exactly what happens at the point of D-to-A conversion. But others are more qualified to talk about such things, and probably no-one more so than @PeterSt. (Hi Peter, by the way.)

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment
13 minutes ago, manisandher said:

The loudness of the music in the room vs. the ambient noise is such that there's no way I'd be able to hear any loss in SQ, even if there were any (which the measurements tell me there isn't).

 

It is not that I consciously hear degradation when I listen at my lowest level -- which is -35 dB for serious listening (highest level being -15 dB). Of course I hear more micro detail when I turn up the volume, but it is hard to tell which part is due to the volume and which to decreased degradation (if any).

Tomorrow I hope to be able to test that when I have the -10 dB line attenuators. 

 

audio system

 

Link to comment

It's easier to do lossy digital attenuation so that's what gets used most often.

 

Standard analog volume control is done by potentiometer and that degrades the sound too, at least through most of the volume range. And it's cheap to implement.

 

I just bought a preamp that uses an analog non-degrading volume control and the difference is noticeable.

 

BTW, remember that your ears' sensitivity to both bass and treble changes as the volume changes (Fletcher Munson curve).

 

 

Link to comment

I have always found digital attenuation to work fine, starting with the Yamaha CD player I bought in the mid 1980s; right up to current active speakers I use - by contrast, analogue controls so often degrade; once you learn the signature of this artifact, you can't unhear it. Only the most severe loss of resolution from discarding bits of a digital signal, with the effective gain then wound right up, allows me to hear anything that is disturbing, or makes me think "I can't hear what's going on", in the recording. Poor overall transparency of digital systems, however, is extremely common - literally half the content of a track goes missing completely, IME, when the execution is poor - for someone who knows what the recording should sound like, this is quite bizarre to hear ... ;).

Link to comment
9 hours ago, manisandher said:

Set Audacity to 32-bit floating point. Load a regular 16/44.1 track. Attenuate by -30dB. Amplify by +30dB. Compare to original. Here are the results from DeltaWave:

 

Phase offset=0ms (0 samples)
Difference (rms) = -400dB [-400dBA]
Correlated Null Depth=300dB [300dBA]
Clock drift: 0 ppm

 

Digital attenuation is 100% transparent if implemented properly 🙂.

 

Edit: Results for -48dB/+48dB:

 

Phase offset=0ms (0 samples)
Difference (rms) = -400dB [-400dBA]
Correlated Null Depth=300dB [300dBA]
Clock drift: 0 ppm

 

Mani.

 

I tested it 😁 On Audacity version 3.1.0, it is necessary to disable dither on Edit→Preference, default is "Shaped" and it causes LSB upset (Fig.1 and Fig.2)

 

And I think, with your example (-30dB then +30dB and -48dB then +48dB) the original data can be recovered only when

  • Original PCM file bit depth is 16bit and attenuated PCM file bit depth is 24bit or 32bit
  • Original PCM file bit depth is 24bit and attenuated PCM file bit depth is 32bit


AudacitySettings.thumb.png.82e7df8bcab9cb0ce9a0b209f76902ef.png

Fig.1

 

 

08StirlingInspectData.thumb.png.908769f196fffe0b3932e52a5fbd2b8c.png

Fig.2 data difference caused by shaped dither. red colored byte data is different.

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment
46 minutes ago, yamamoto2002 said:

And I think, with your example (-30dB then +30dB and -48dB then +48dB) the original data can be recovered only when

  • Original PCM file bit depth is 16bit and attenuated PCM file bit depth is 24bit or 32bit
  • Original PCM file bit depth is 24bit and attenuated PCM file bit depth is 32bit

 

Original AND attenuated/amplified files are both 16/44.1. (I haven't tried 24 bit files).

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment
2 hours ago, manisandher said:

 

Original AND attenuated/amplified files are both 16/44.1. (I haven't tried 24 bit files).

 

Mani.

 

This thread is about offline attenuation: the scenario is, attenuated file is stored as different file. Please refer the original post.

 

If original 1644 file is attenuated and stored as different file as 1644, most certainly some information is lost and original data cannot be recovered from attenuated file.

 

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment

OK, I did some experiments with Audacity 3.1.0.

 

44.1kHz 16bit mono PCM→ -10dB attenuated to save it as 44.1kHz 16bit mono file, open it and +10dB amplified to save it as 44.1kHz 16bit mono file : different (Fig.2)

 

44.1kHz 16bit mono PCM→ -1dB attenuated to save it as 44.1kHz 16bit mono file, open it and +1dB amplified to save it as 44.1kHz 16bit mono file : different (Fig.3)

 

44.1kHz 16bit mono PCM→ -0.1dB attenuated to save it as 44.1kHz 16bit mono file, open it and +0.1dB amplified to save it as 44.1kHz 16bit mono file : different (Fig.4)

 

Original WAV data contains white noise, it was generated with WaveGene 1.50E (Fig.1)

00WG.png.0c12c85790a55a1813f103e6686f20fd.png

Fig.1 WaveGene signal generation settings

 

On the following images, red colored byte data is different.

 

M10_P10.thumb.png.19306def93cd52a3de01b87ee514a1ad.png

Fig.2 : 1644 file -10dB → save it as 1644 and open it → +10dB, save it as 1644

 

 

M1_P1.thumb.png.9251dd6e5d2d32c48def51dc496f8811.png

Fig.3 : 1644 file -1dB → save it as 1644 and open it → +1dB, save it as 1644

 

 

M01_P01.thumb.png.3e3c872b049e6acfe24b1e692b7e97b8.png

Fig.4 : 1644 file -0.1dB → save it as 1644 and open it → +0.1dB, save it as 1644 

Sunday programmer since 1985

Developer of PlayPcmWin

Link to comment
1 hour ago, yamamoto2002 said:

If original 1644 file is attenuated and stored as different file as 1644, most certainly some information is lost and original data cannot be recovered from attenuated file.

 

Yes. If you're going to store the attenuated file, with the intention of replaying in a lossless manner, then you're going to need to store as a 32-bit floating point file.

 

But really, what is the point? Just attenuate in real time. Any software player worth its salt will attenuate losslessly, up to at least -50dB.

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment
31 minutes ago, manisandher said:

Just attenuate in real time. Any software player worth its salt will attenuate losslessly, up to at least -50dB.

 

Why do most SW volume controls (Volumio, Moode, JRiver, Audirvana etc.) sound so bad then? Some are otherwise great players with great SQ at 0 dB level.

 

Today I received and discarded the Rothwell -10 dB inline XLR attenuators as they clearly degrade the sound. So I prefer playing without them at -25 dB than with them at -15 dB.

(Or am I too hasty and do these also have to be broken in?)

 

audio system

 

Link to comment
22 minutes ago, bodiebill said:

Why do most SW volume controls (Volumio, Moode, JRiver, Audirvana etc.) sound so bad then? Some are otherwise great players with great SQ at 0 dB level.

 

Today I received and discarded the Rothwell -10 dB inline XLR attenuators as they clearly degrade the sound. So I prefer playing without them -25 dB than with them at -15 dB.

(Or am I too hasty and do these also have to be broken in?)

 

I spent a LOT of time comparing all sorts of attenuation methods a few years ago (Audio Synthesis passive, Pass Labs active, Rothwell inline & software). Software attenuation was clearly the best... and totally transparent to my ears. I just don't worry about it now.

 

Why are your hearing what you're hearing with software attenuation? Not sure. But maybe your DAC performs better at higher output levels?

 

(I would discard the Rothwells.)

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment

I spent a LOT of time comparing all sorts of attenuation methods a few years ago (Audio Synthesis passive, Pass Labs active, Rothwell inline & software). Software attenuation was clearly the best... and totally transparent to my ears. I just don't worry about it now.

 

Why are your hearing what you're hearing with software attenuation? Not sure. But maybe your DAC performs better at higher output levels?

 

(I would discard the Rothwells.)

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment
3 minutes ago, manisandher said:

Why are your hearing what you're hearing with software attenuation? Not sure. But maybe your DAC performs better at higher output levels?

That cannot be the explanation as attenuating the volume with the MiniDSP Studio does not give that kind of degradation. 

 

3 minutes ago, manisandher said:

(I would discard the Rothwells.)

Did you also experience degradation with them?

 

audio system

 

Link to comment
1 minute ago, hopkins said:

In what world is 50db attenuation lossless ?

 

Huh?

 

As I wrote, if you save the attenuated file at 32-bit resolution, it will remain lossless.

 

1 minute ago, hopkins said:

How have you verified this claim ?

 

By doing it!!! Pretty trivial... if you try.

 

Here you go...

 

-2dB white noise 16/44.1 file -> attenuated by -50dB -> saved as 32/44.1 -> amplified by +50dB -> compared to original in DeltaWave:

 

DeltaWave v2.0.1, 2021-11-09T12:32:46.7001978+00:00
Reference:  White Noise 16_44.1.flac[L] 1323000 samples 44100Hz 16bits, mono, MD5=00
Comparison: White Noise 16_44.1 _ -50dB _ 32-bit _ +50dB _ 16-bit.flac[L] 1323000 samples 44100Hz 16bits, mono, MD5=00
Settings: 
    Gain:False, Remove DC:False
    Non-linear Gain EQ:False    Non-linear Phase EQ: False
    EQ FFT Size:2097152, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -160dB
    Correct Non-linearity: False
    Correct Drift:False, Precision:30, Subsample Align:True
    Non-Linear drift Correction:False
    Upsample:False, Window:Kaiser
    Spectrum Window:Kaiser, Spectrum Size:4194304
    Spectrogram Window:Kaiser, Spectrogram Size:65536, Spectrogram Steps:2048
    Filter Type:FIR, window:Kaiser, taps:65536, minimum phase=False
    Dither:False
    Trim Silence:False
    Enable Simple Waveform Measurement: False

Discarding Reference:  Start=0s, End=0s
Discarding Comparison: Start=0s, End=0s

Initial peak values Reference: -1.938dB   Comparison: -1.938dB
Initial RMS values Reference: -6.705dB   Comparison: -6.705dB

Null Depth=300dB
X-Correlation offset: 0 samples

Trimmed 0 samples ( 0.00ms) front, 0 samples ( 0.00ms end)

Gain matching disabled.
Phase offset=0ms (0 samples)
Difference (rms) = -400dB [-400dBA]
Correlated Null Depth=300dB [300dBA]

Clock drift: 0 ppm


Files are a bit-perfect match at 16 bits


---- Phase difference (full bandwidth): 0°
    0-10kHz: 0.00°
    0-20kHz: 0.00°
    0-24kHz: 0.00°
Timing error (rms jitter): 0sec
PK Metric (step=400ms, overlap=50%):
RMS=-∞dBFS
Median=-∞
Max=-∞

99%: -∞
75%: -∞
50%: -∞
25%: -∞
1%: -∞

gn=1, dc=0, dr=0, of=0

DONE!

Signature: 25be457376690cb7a3d9412416976fd2

RMS of the difference of spectra: NaNdB

 

Want to come off that high horse of yours now?

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment
2 minutes ago, bodiebill said:

Did you also experience degradation with them?

 

Yep. They were terrible.

 

The Audio Synthesis passive (balanced) was pretty good; better than the Pass Labs X1 active pre. But software attenuation was by far the best. As I said, totally transparent to my ears, in that I didn't/don't hear any change in the quality of the sound at different settings... other than the loudness, of course.

 

This was all at least 6-7 years ago. And I've never looked back.

 

Mani.

Main: SOtM sMS-200 -> Okto dac8PRO -> 6x Neurochrome 286 mono amps -> Tune Audio Anima horns + 2x Rotel RB-1590 amps -> 4 subs

Home Office: SOtM sMS-200 -> MOTU UltraLite-mk5 -> 6x Neurochrome 286 mono amps -> Impulse H2 speakers

Vinyl: Technics SP10 / London (Decca) Reference -> Trafomatic Luna -> RME ADI-2 Pro

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...