The Wolfson Sound Card Noise Gate and 24 bit Data

Recently I did some measurements on the Wolfson card to get an idea of the dynamic range. When playing a 24bit file @ -100dBfs there was no output from the card.

This was perplexing, as the noise floor is some 20-30dB below that.

I set about making an amplitude sweep test file, sweeping from -60dBfs to -144dBfs and then playing that back on the Wolfson. At -90dB the output would vanish!

So we have a card capable of playing 24bit files but seemingly limited to < CD dynamic range.

After some experiments with the old driver, I reached out to the developer of the updated driver and he pointed out there is a noise gate that by default is turned on and set to -90dB. See here for details.

This seemed a likely candidate for the problem!

Fortunately, the noise gate settings can be changed, either by disabling the noise gate or changing the threshold. To display the current setting, use the following command: –

amixer -c RPiCirrus sget "Noise Gate"  

To turn it off use this command: –

amixer -c RPiCirrus sset "Noise Gate" off  

If for some reason you want to play with the threshold, you can use the following command to set the threshold from -102dB to -60dB in 6 dB steps: –

amixer -c RPiCirrus sset "Noise Gate Threshold" -- "-102dB"  

For the playback of HD music files I suggest just turning the noise gate off, the setting seems to be sticky between reboots on the systems I’ve tried it on.

Here’s a video showing the effect of the noise gate on the measured results: –

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *