You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A quick proof of concept has been authored by changing the UAC1 device descriptors to “microphone array” and adding the GET_MEM request as documented. These changes are described below. When done so the Windows host correctly does the GET_MEM request as documented.
Some thought would be required to enable a user to describe their own mic array geometries in the (variable size) descriptor – if they are capable of just authoring the raw bytes then this is relatively simple. Or, do we want to somewhat generate based on channel count? I think traditionally customers would be expected to program a byte array into an external memory.
The example app tested was the MC audio board using the line inputs as “mics”. Running a 2 in/2 out UAC1 device @16kHz.
In conclusion this is a relatively simple extension to the UA code base and we could support it with not too much effort, and a demo could be provided imminently.
Description of how to modify lib_xua for the quick proof of concept demo:
Set input wTerminalType to 0x205 - microphone array, host processing (currently UAC1 descriptors set to 0x201 - microphone). This will cause windows to do the GET_MEM request as documented (so far only tried with UAC1) i.e.
- 0x01, 0x02, /* Type - streaming in, mic */
+ 0x05, 0x02, /* Type - streaming in, mic */
Add an example 2 mic array descriptor as an array:
Described here: https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/microphone-array-geometry-property
A quick proof of concept has been authored by changing the UAC1 device descriptors to “microphone array” and adding the GET_MEM request as documented. These changes are described below. When done so the Windows host correctly does the GET_MEM request as documented.
Some thought would be required to enable a user to describe their own mic array geometries in the (variable size) descriptor – if they are capable of just authoring the raw bytes then this is relatively simple. Or, do we want to somewhat generate based on channel count? I think traditionally customers would be expected to program a byte array into an external memory.
The example app tested was the MC audio board using the line inputs as “mics”. Running a 2 in/2 out UAC1 device @16kHz.
In conclusion this is a relatively simple extension to the UA code base and we could support it with not too much effort, and a demo could be provided imminently.
Description of how to modify lib_xua for the quick proof of concept demo:
Set input wTerminalType to 0x205 - microphone array, host processing (currently UAC1 descriptors set to 0x201 - microphone). This will cause windows to do the GET_MEM request as documented (so far only tried with UAC1) i.e.
Add an example 2 mic array descriptor as an array:
Add response to GET_MEM request into xua_ep0_uacreqs.xc
Questions:
Things left to do:
The text was updated successfully, but these errors were encountered: