Microphones with different bit ‘depth’

Hello all,

I have a model for an ESP-EYE which features a microphone with 24 bit depth.

If I want to change the microphone to one with 18 bit depth what changes should I make to the model/ deployed code?

Many thanks!

Hi @electronicconsult1_g,

If you trained your model using 24-bit depth audio samples, but are now recording 18-bit samples for inference, you can pad 0s to the end of each sample to make it 24 bits (i.e. keep the 18 most significant bits and pad 0s to the least significant bits).

If you trained on 18-bit samples but are now recording in 24 bits for inference, you can simply drop the last (i.e. least significant) 6 bits, as they don’t have much information.

The most accurate option is to use something like e.g. dithering, but it’s probably not necessary considering we don’t care to upsample/downsample to try to recreate a recording; we just care about the overall shape of the sound waves when it comes to audio/keyword classification.

1 Like


A follow up question to this…

I understand it’s possibly to constrain models using ‘Space’ in the EON tuner settings but is it possible to increase the capacity of models? E.g. instead of accepting a 16 bit input sound accepting 24 bit?

I understand it probably won’t increase the accuracy of the model, it’s more to understand what’s possible.