That is already supported with installing USBAUDIO package. It adds the necessary SPI info so that MMPM can understand this new Samplerate/numchannels/bit depth format.
Here is a list of what formats have been added by now:
/* additional Subtypes for DATATYPE_WAVEFORM:*/
#define WAVE_FORMAT_32M16 0x0011L /* 32.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_48M16 0x0012L /* 48.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_64M16 0x0013L /* 64.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_882M16 0x0014L /* 88.2kHz , Mono, 16-bit*/
#define WAVE_FORMAT_96M16 0x0015L /* 96.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_1764M16 0x0016L /* 176.4kHz , Mono, 16-bit*/
#define WAVE_FORMAT_192M16 0x0017L /* 192.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_3528M16 0x0018L /* 352.8kHz , Mono, 16-bit*/
#define WAVE_FORMAT_384M16 0x0019L /* 384.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_32S16 0x001AL /* 32.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_48S16 0x001BL /* 48.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_64S16 0x001CL /* 64.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_882S16 0x001DL /* 88.2kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_96S16 0x001EL /* 96.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_1764S16 0x001FL /* 176.4kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_192S16 0x0020L /* 192.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_3528S16 0x0021L /* 352.8kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_384S16 0x0022L /* 384.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_32M24 0x0023L /* 32.0kHz , Mono, 24-bit*/
#define WAVE_FORMAT_4M24 0x0024L /* 44.1kHz , Mono, 24-bit*/
#define WAVE_FORMAT_48M24 0x0025L /* 48.0kHz , Mono, 24-bit*/
#define WAVE_FORMAT_64M24 0x0026L /* 64.0kHz , Mono, 24-bit*/
#define WAVE_FORMAT_882M24 0x0027L /* 88.2kHz , Mono, 24-bit*/
#define WAVE_FORMAT_96M24 0x0028L /* 96.0kHz , Mono, 24-bit*/
#define WAVE_FORMAT_1764M24 0x0029L /* 176.4kHz , Mono, 24-bit*/
#define WAVE_FORMAT_192M24 0x002AL /* 192.0kHz , Mono, 24-bit*/
#define WAVE_FORMAT_3528M24 0x002BL /* 352.8kHz , Mono, 24-bit*/
#define WAVE_FORMAT_384M24 0x002CL /* 384.0kHz , Mono, 24-bit*/
#define WAVE_FORMAT_32S24 0x002DL /* 32.0kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_4S24 0x002EL /* 44.1kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_48S24 0x002FL /* 48.0kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_64S24 0x0030L /* 64.0kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_882S24 0x0031L /* 88.2kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_96S24 0x0032L /* 96.0kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_1764S24 0x0033L /* 176.4kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_192S24 0x0034L /* 192.0kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_3528S24 0x0035L /* 352.8kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_384S24 0x0036L /* 384.0kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_32M32 0x0037L /* 32.0kHz , Mono, 32-bit*/
#define WAVE_FORMAT_4M32 0x0038L /* 44.1kHz , Mono, 32-bit*/
#define WAVE_FORMAT_48M32 0x0039L /* 48.0kHz , Mono, 32-bit*/
#define WAVE_FORMAT_64M32 0x003AL /* 64.0kHz , Mono, 32-bit*/
#define WAVE_FORMAT_882M32 0x003BL /* 88.2kHz , Mono, 32-bit*/
#define WAVE_FORMAT_96M32 0x003CL /* 96.0kHz , Mono, 32-bit*/
#define WAVE_FORMAT_1764M32 0x003DL /* 176.4kHz , Mono, 32-bit*/
#define WAVE_FORMAT_192M32 0x003EL /* 192.0kHz , Mono, 32-bit*/
#define WAVE_FORMAT_3528M32 0x003FL /* 352.8kHz , Mono, 32-bit*/
#define WAVE_FORMAT_384M32 0x0040L /* 384.0kHz , Mono, 32-bit*/
#define WAVE_FORMAT_32S32 0x0041L /* 32.0kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_4S32 0x0042L /* 44.1kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_48S32 0x0043L /* 48.0kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_64S32 0x0044L /* 64.0kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_882S32 0x0045L /* 88.2kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_96S32 0x0046L /* 96.0kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_1764S32 0x0047L /* 176.4kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_192S32 0x0048L /* 192.0kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_3528S32 0x0049L /* 352.8kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_384S32 0x004AL /* 384.0kHz , Stereo, 32-bit*/
#define WAVE_FORMAT_12M16 0x004BL /* 12.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_16M16 0x004CL /* 16.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_24M16 0x004DL /* 24.0kHz , Mono, 16-bit*/
#define WAVE_FORMAT_12S16 0x004EL /* 12.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_16S16 0x004FL /* 16.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_24S16 0x0050L /* 24.0kHz , Stereo, 16-bit*/
#define WAVE_FORMAT_8M24 0x0051L /* 8.0kHz , Mono, 24-bit*/
#define WAVE_FORMAT_8S24 0x0052L /* 8.0kHz , Stereo, 24-bit*/
#define WAVE_FORMAT_8M32 0x0053L /* 8.0kHz , Mono, 32-bit*/
#define WAVE_FORMAT_8S32 0x0054L /* 8.0kHz , Stereo, 32-bit*/
Additionally, of course, the sound driver has to understand the format. For the USB audio drivers, Wim implemented a (lengthy) routine to convert sample rate/num channels/bit depth to the closest match of what the USB audio HW supports. Works perfectly.
As far as I can tell UNIAUD typically supports 8000 Hz, 11025 Hz, 22050 Hz, 44100 Hz, 48000 Hz (cannot remember what bit depths are typically supported). The support depends on the actual audio HW as UNIAUD is a generic driver covering all sorts of different audio HW.