Can Vero do bit-perfect playback?


#1

The answer seems to be yes. It has been reported that devices based on AMLogic S905* chips will not output 24-bit audio. Some tests were done to investigate.

Equipment

Vero4k (using S905X SoC).
HDMI to audio (TOSlink and analogue) converter, supporting HDMI1.4b
USB soundcard with TOSlink input, supporting up to 192k/24 capture.
Win10 desktop, running soundcard setup software and Audacity.

Method

Generate test signal files as 24-bit or 16-bit triangular wave wavs with peak levels -90.34dB with a range of sampling rates and a range of channel numbers, eg:

sox -c2 -r 192k -b24 -n 4k-90.3dBtri192kc2b24.wav synth 10 tri 4000 gain -90.34

Connect converter to Vero HDMI out and screen HDMI in. Set the converter EDID switch to PASS.

Connect converter S/PDIF out to soundcard S/PDIF in. Set soundcard to 24-bits. Set audacity to capture S/PDIF-in with 32-float format.

Play test signals with kodi and record into audacity. Amplify all recorded tracks by 20dB so that individual sample values can be seen. Here is a selection of results for:
• 4kHz triangular wave, 24-bit, 44.1kHz sampling rate, stereo file
• 4kHz triangular wave, 24-bit, 48kHz sampling rate, stereo file
• 4kHz triangular wave, 24-bit, 48KHz sampling rate, 8 channel file (only FL/FR are output on TOSlink)
• 4kHz triangular wave, 24-bit, 192kHz sampling rate, 8 channel file
• 4kHz triangular wave, 16-bit, 192kHz sampling rate, stereo file

It can be seen that the amplitude of the displayed waveforms is about 0.0003. The captured waveform was 20dB below that, which is about 0.00003 as expected. Therefore the entire waveform is contained in the lowest 8 bits of 24 and the detail is all there. The 16-bit file shows the dithering introduced by sox trying to make sense of creating a -90dB file in only 16 bits.

Is it bit-perfect?

Yes. A 6kHz triangular wave was generated at 192kHz sampling rate so it has 32 samples per period. The amplitude -90dB corresponds to FFh in the lowest 8 bits of 24 bits, so the samples generated are 00h, 20h, 40h, 60h, 80h, 9Fh, BFh, DFh and FFh. With Kodi volume set at 100%, output PCM, Best match, and no up- or down-mixing, the captured signal, when saved as a 32-bit wav, looks like this:

Looks perfect to me - each sample is 8 bytes (4 left, 4 right) and you can see the expected values for the positive samples. If I’ve made a mistake, let me know!


24-bit output
Audio setup and information
#3

Good job.

This might interest @wesk05 and @Theetjuh

Sam


#4

16-bit quantization limit is 96.32 (6.02 x 16). I would like to see the results with with a -97dBFS or lower signal.


#5

That file I analysed in the screenshot was made at -90.3dB. 0dB is 7FFFFF.


#6

-90.3dB is still within 16-bit quantization.


#7

Where in that hexdump above do you see anything other than 00 in the top 16 bits?

Anyway, I showed you the output from your -100dB signal in the other thread.


#8

Yes, I know that. That is why I didn’t question those results.

So, did you also test HDMI output? It’s not clear to me from the first post.


#9

Yes. They are through HDMI.


#10

To convince me that the HDMI output is 24-bit, I definitely need to see the output of -97dBFS signal.


#11

Amplified in audacity by 27dB


#12

Can you read the peak value? Is it 0.0003419 or 0.0003162?


#13

audacity doesn’t give that info to that precision. I can save it as a wav and paste a hexdump. What are you trying to establish?


#15

A 1 sec. of your captured wav is what would be helpful. I asked for that precision to verify the actual dBFS amplitude.

Do you mind telling me what HDMI audio de-embedder and USB audio capture device that you are using.


#16

I can’t directly post a wav here, but this is what the hexdump looks like (unamplified)

The amplitude is 76h (edited - the capture I did first I had the soundcard set to 48k so audacity was interpolating, apologies).

The HDMI splitter is the cheapest I could find but is obviously getting 24 bits out which is all that’s needed. https://www.amazon.co.uk/Neoteck-Extractor-Converter-Splitter-DAC-PS4-Upgraded-4K/dp/B01KLBKQBK/ref=pd_sbs_504_7?_encoding=UTF8&pd_rd_i=B01KLBKQBK&pd_rd_r=8bc02483-8d08-11e8-bc0c-f936d40ca87b&pd_rd_w=v3q7z&pd_rd_wg=WAsEl&pf_rd_i=desktop-dp-sims&pf_rd_m=A3P5ROKL5A1OLE&pf_rd_p=5179604776422437276&pf_rd_r=PWSNJREGNX4XSATKR338&pf_rd_s=desktop-dp-sims&pf_rd_t=40701&psc=1&refRID=PWSNJREGNX4XSATKR338

The soundcard is a Maplin 7.1 (no longer sold, of course, if you know the name Maplin).


#17

You can put the WAV on https://collab.osmc.tv if it helps and share the URL.

Sam


#19

Don’t have a scooby what you lot are on about but it ‘sounds good’ :slight_smile:


#20

For those who care about bit-depth and bit-perfection, apparently this is important. The rest of us just enjoy the music :smile:


#22

https://people.xiph.org/~xiphmont/demo/neil-young.html

Yes I know, I am …
The Devil’s Advocate :smiling_imp:


#24

I don’t think they’ve repealed the laws of physics since he wrote that.


#25

@wesk05 you had a look yet at the files @grahamh uploaded to the location @sam_nazarko suggested?
would be nice you two are on one line concerning this :slight_smile: