Custom spatial-sound format registration + object metadata in APOs

Sephiroth_FF 0 Reputation points
2026-10-13T05:06:36.9633333+00:00
  1. Is there any supported path for a third-party ISpatialAudioClient implementation (own CLSID + format GUID, registered under HKLM\...\Multimedia\Audio\Spatial\Encoder) to appear in the Settings > Sound > Spatial sound format list? A 1.5GB ProcMon trace of opening that dropdown shows zero reads of third-party Encoder keys, suggesting the list is closed to non-inbox formats. Confirm?
  2. Can SFX/MFX/EFX APOs ever observe spatial-audio object metadata, or is the object→channel mix strictly upstream of all APO stages by architecture? Our reading of the APO architecture page (SFX pre-mix per-stream, MFX per-mode post-mix, EFX post-mix post-conversion) says objects never reach APOs, but explicit confirmation would settle third-party spatial-roadmap planning.

Context: clean-room independent spatial renderer (own SOFA/HRTF/room DSP, no

vendor code); seeking only the supported integration surface, if any exists.

Windows development | Windows API - Win32
0 comments No comments

1 answer

Sort by: Most helpful
  1. Taki Ly (WICLOUD CORPORATION) 5,710 Reputation points Microsoft External Staff Moderator
    2026-10-13T06:53:01.7066667+00:00

    Hello @Sephiroth_FF ,

    Thanks for the detailed question and for sharing the ProcMon data. I went through the public Microsoft documentation on both points. Below is what I found.

    1. Adding a third-party format to the "Spatial sound format" list

    I couldn't find any documented, supported way for a third-party ISpatialAudioClient renderer or encoder to register itself so that it appears in Settings > Sound > Spatial sound format. I also didn't find the ...\Audio\Spatial\Encoder registry location documented anywhere as an extension point. Your ProcMon result fits what I'm seeing.

    From the public API surface, the list looks closed and based on a partner model:

    For your planning, I'd assume the list is not open to independent formats through any public mechanism. If you want to explore becoming a format provider, I'd recommend reaching out to Microsoft directly through the partner channel (Partner Center). I'm not able to commit to platform or roadmap changes here on the forum.

    2. Can SFX, MFX, or EFX APOs see spatial audio object metadata?

    From what I can see in the documentation, the APO contract has no mechanism for an APO to receive per-object metadata such as position or gain:

    • Implementing Audio Processing Objects says "The APO must have one input and one output connection. These connections are audio buffers and can have multiple channels" and "An APO can modify only the audio data that is passed to it through APOProcess."
    • Audio Processing Object Architecture places SFX per stream before the mix, MFX after the mix for a given mode, and EFX after the mix of all modes. I read it the same way you do.
    • The Windows 11 CAPX additions (Windows 11 APIs for APOs) add timestamps (APO_CONNECTION_PROPERTY_V2), AEC reference input, settings, notifications, logging, and threading. I didn't see any of them carrying object data.
    • On the metadata side, ISpatialAudioMetadataClient ties the metadata format to what the current render endpoint / spatial format supports. That tells me the metadata is consumed by the active format's renderer, not by the APO chain.

    One caveat, the docs don't explicitly describe where object-to-channel rendering sits relative to each APO stage. So the most accurate thing I can say is that no documented or supported interface exposes object metadata to APOs. I can't point you to an official statement that it is architecturally impossible. For roadmap planning, though, I'd assume APOs only see channel-based PCM.

    Supported options I'd consider for an independent renderer

    1. App or middleware level: render your own SOFA/HRTF and room model inside the app or audio middleware, then output stereo or multichannel through WASAPI (IAudioClient). The Spatial Sound page describes this middleware pattern.
    2. System-wide on channel-based audio: ship your DSP as an APO, for example to virtualize a 7.1 or 7.1.4 channel bed to binaural. APOs are packaged and registered with the audio driver (componentized APO install), so in practice this means working with an IHV or OEM, plus a Hardware Support App for settings. You would also only get channel-based input, not objects.
    3. Becoming a listed spatial sound format: as far as I can tell, this is only possible through a direct engagement with Microsoft, as described in section 1.

    I hope this helps with your planning. If you found my response helpful or informative, I would greatly appreciate it if you could follow the instruction here so others experiencing similar behavior can benefit from it as well.

    Thank you.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.