hi,

I am fighting around with setting a property on sound device via registry edit.

I know its located at

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{ab701278-c48d-41cd-b68c-8466465f06e4}\FxProperties]

i found that the setting is

 "{fc52a749-4be9-4510-896e-966ba6525980},3"=hex:0b,00,8f,f0,01,00,00,00,ff,ff,00,00

what changes is ff,ff to 00,00, that is ok,

but also the 3rd, and 4th value change, but i did not discover the logic...sometimes the same, sometimes like random

0b,00,f5,02,01,00,00,00,ff,ff,00,00

Can someone bring some light into this, what do the 3rd,4rd hex data mean? I did not change anything else, so it should be relatively static.
and i need som vbscript to detect the device ID, but thats not a problem.

cheers

Dani AI

Generated

Short answer and context: is seeing exactly the behaviour many others report — the binary blob under a device's FxProperties is not a single on/off byte, it is a driver/endpoint property structure Windows and the audio driver populate, and parts of that blob change when the system or driver rewrites the endpoint state. 's intuition is useful: the values are driver/device-specific and can be re-generated by Windows or the vendor driver rather than being a fixed constant. See Microsoft documentation on how drivers populate FX property keys and how the Loudness Equalization DSP is modelled. PKEY_FX_StreamEffectClsid. Loudness Equalization DSP overview.

Practical path forward (workable at scale): do not try to reverse‑engineer individual changing bytes. Instead capture the complete FxProperties set from a known-good machine with Loudness Equalization enabled, then programmatically apply that full set to the correct device subkey on targets. Workflow: (1) find the correct Render subkey by searching each device's Properties values for the friendly device name, (2) back up that device's FxProperties, (3) import/set the full FxProperties values you captured, and (4) restart the Windows audio stack so the change takes effect. A simple PowerShell pattern to locate a device key is to enumerate the Render keys and string-search each key's Properties blob for your device name, then import the saved registry blob into that subkey. Test on one machine first and keep an exported backup. Community scripts do the same approach rather than trying to compute single bytes.

Deploying with GPO: push the change as a startup script or scheduled task running with system privileges so it can edit HKLM and restart audio services (or restart the audio services from the script). Expect that driver updates or device re‑enumeration will often clear or rewrite these values, so either run the script at each logon/startup or build it to detect and reapply whenever the device GUID changes. Several community threads and tools show this pattern (they import the full FxProperties blob and restart audio). [example community reg approach / discussion].

Safety notes: back up the original FxProperties key, test thoroughly in a lab, and prefer a driver/INF-based solution from the vendor when possible — editing endpoint registry blobs is essentially an unsupported workaround and may be undone by Windows updates or driver installs.

Recommended Answers

All 2 Replies

Sorry not really. But a long time ago I used some neurons about something else. That registry entry may be specific to the sound card or device in each PC. This means unless you field identical hardware across the fleet, my bet is this will be inconsistant.

I'm finding PC vendors to no longer be more than a packager of goods. If you find a bug in a driver, there's a high probability it may never get fixed. This also means the PC maker often does not have access to source so no one can (dumpster?) dive into the code to see what they do in the registry.

Hi, thank you for you reply. I will put the login in some vbs script, so if any pc has itw own unique value, it does not make a problem, as long as I know how to calculate the data.
The PCs are the same model and have the same brand usb sound card / headset, and done from the same image.
strange is that even when switching it on and off the values on the same PC change (3rd and 4th hex value, the ff and 00 is still the same).
Off | On
8f 0f | 63 00
00 01 | 68 02
68 02 | 00 01
6c fb | d5 d3
00 01 | 68 02
00 01 | 79 02
68 02 | 00 01
00 01 | 8f f0

I might try experimenting:)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.