Messing around with Deltawave https://deltaw.org/ I found that capturing Alsa output from Squeezelite on RPi-OS I have absolutely bit perfect output from Squeezelite if streaming WAV files from local network.
Sadly results from streaming FLAC where not as joyful and comply with listening observation others have posted. It seem that FLAC is less than 50% accurate with phase issues and artefacts in the upper and lower spectrum, even level values differ from the original.
First I thought this where a Squeezelite issue and with no luck tried to capture output from a Touch to compare. If someone know how to direct stream to file on the Touch please let me know.
Anyway, then it dawn on me I could transcode on the LMS. Sadly this produce similar result as transcoding on the Squeezelite.
Now question is, are the any way to mitigate this? LMS use flac 1.3.4 for the convertion and
'/usr/share/squeezeboxserver/Bin/armhf-linux/flac -d' produce bit perfect wav file in test.
convert.conf changed to '[flac] -dcs $START$ $END$ -- $FILE$' makes no difference. Implying something else in the transcoding is messing up the FLAC stream.
Resolution +/-1 dB
![Name: spectragraph1.jpg
Views: 112
Size: 26.0 KB]()
![Name: spectrum1.png
Views: 95
Size: 19.6 KB]()
![Name: phase1.png
Views: 97
Size: 31.9 KB]()
Sadly results from streaming FLAC where not as joyful and comply with listening observation others have posted. It seem that FLAC is less than 50% accurate with phase issues and artefacts in the upper and lower spectrum, even level values differ from the original.
First I thought this where a Squeezelite issue and with no luck tried to capture output from a Touch to compare. If someone know how to direct stream to file on the Touch please let me know.
Anyway, then it dawn on me I could transcode on the LMS. Sadly this produce similar result as transcoding on the Squeezelite.
Now question is, are the any way to mitigate this? LMS use flac 1.3.4 for the convertion and
'/usr/share/squeezeboxserver/Bin/armhf-linux/flac -d' produce bit perfect wav file in test.
convert.conf changed to '[flac] -dcs $START$ $END$ -- $FILE$' makes no difference. Implying something else in the transcoding is messing up the FLAC stream.
Resolution +/-1 dB
Code:
DeltaWave v2.0.4, 2022-12-02T11:27:32.1514377+01:00
Reference: 01 - Scuttle Buttin'.flac[L] 3362184 samples 44100Hz 16bits, stereo, MD5=00
Comparison: fromFLAC.wav[L] 3604557 samples 44100Hz 16bits, stereo, MD5=00
Settings:
Gain:True, Remove DC:True
Non-linear Gain EQ:True Non-linear Phase EQ: True
EQ FFT Size:65536, EQ Frequency Cut: 0Hz - 0Hz, EQ Threshold: -500dB
Correct Non-linearity: False
Correct Drift:True, Precision:30, Subsample Align:True
Non-Linear drift Correction:False
Upsample:True, Window:Kaiser
Spectrum Window:Kaiser, Spectrum Size:32768
Spectrogram Window:Hann, Spectrogram Size:4096, Spectrogram Steps:2048
Filter Type:FIR, window:Kaiser, taps:262144, minimum phase=False
Dither:False bits=0
Trim Silence:True
Enable Simple Waveform Measurement: False
Discarding Reference: Start=15s, End=20s
Discarding Comparison: Start=15s, End=20s
Initial peak values Reference: -0,224dB Comparison: -1,62dB
Initial RMS values Reference: -19,195dB Comparison: -20,586dB
Null Depth=9,423dB
Trimming 0 samples at start and 0 samples at the end that are below -90,31dB level
X-Correlation offset: -114066 samples
Trimming 0 samples at start and 0 samples at the end that are below -90,31dB level
Drift computation quality, #1: Excellent (0μs)
Trimmed 35651 samples ( 808,412698ms) front, 32042 samples ( 726,575964ms end)
Final peak values Reference: -0,224dB Comparison: -0,224dB
Final RMS values Reference: -19,222dB Comparison: -19,222dB
Gain= -1,3957dB (0,8516x) DC=0,00002 Phase offset=-2586,530612ms (-114066 samples)
Difference (rms) = -99,74dB [-102,25dBA]
Correlated Null Depth=103,33dB [96,54dBA]
Clock drift: 0 ppm
Files are NOT a bit-perfect match (match=42,98%) at 16 bits
Files match @ 50,0162% when reduced to 15,78 bits
---- Phase difference (full bandwidth): 0,0513013542315364°
0-10kHz: 0,04°
0-20kHz: 0,05°
0-24kHz: 0,05°
---- Variable Group Delay. Frequency matched from 0Hz to 0,0kHz:
1kHz = 114,2ps (0,00°)
2kHz = 114,1ps (0,00°)
4kHz = 114ps (0,00°)
8kHz = 113,8ps (0,00°)
16kHz = 113,4ps (0,00°)
Timing error (rms jitter): 4ns
PK Metric (step=400ms, overlap=50%):
RMS=-110,7dBFS
Median=-110,7
Max=-108,1
99%: -108,86
75%: -110,16
50%: -110,73
25%: -111,22
1%: -112,89
gn=1,17431189829828, dc=1,78881024144389E-05, dr=0, of=-114066
DONE!
Signature: a77d13611bafce8db5c57b48f5a8f361
RMS of the difference of spectra: -134,491321809717dB
DF Metric (step=400ms, overlap=0%):
Median=-83,3dB
Max=-79,4dB Min=-87,6dB
1% > -85,97dB
10% > -84,95dB
25% > -84,15dB
50% > -83,32dB
75% > -82,58dB
90% > -81,96dB
99% > -79,69dB
Linearity 26,2bits @ 0.5dB error