USB 音频麦克风阵列必须自行描述它连接到的系统。 这意味着描述数组所需的参数必须嵌入到数组设备本身中。 Array geometry information is retrieved from the device by using a GET_MEM request.
必须以标准格式提供有关 USB 音频设备几何图形的信息。 因此,旨在与 Windows Vista USB 音频类驱动程序配合使用的 USB 麦克风阵列必须提供一个描述符,该描述符使用下表中定义的信息格式。
| Offset | Field | Size | Value | Description |
|---|---|---|---|---|
0 |
guidMicArrayID |
16 |
全局唯一标识符 (GUID) |
用于标记内存中麦克风阵列信息的开头的唯一 ID({07FE86C1-8948-4db5-B184-C5162D4AD314} )。 |
16 |
wDescriptorLength |
2 |
Number |
麦克风阵列信息的长度(包括 GUID 和长度字段)。 |
18 |
wVersion |
2 |
二进制编码十进制 (BCD) |
麦克风阵列规范的版本号,后跟此描述符。 |
20 |
wMicArrayType |
2 |
Number |
定义了以下值: 00: Linear. 01: Planar. 02:三维(三维)。 03-FFFF: Reserved |
22 |
wWorkVertAngBeg |
2 |
Number |
工作卷垂直角度的开始。 |
24 |
wWorkVertAngEnd |
2 |
Number |
工作卷垂直角度的末尾。 |
26 |
wWorkHorAngBeg |
2 |
Number |
工作卷水平角度的开始。 |
28 |
wWorkHorAngEnd |
2 |
Number |
工作卷水平角度的末尾。 |
30 |
wWorkFreqBandLo |
2 |
Number |
工作频率范围的下限。 |
32 |
wWorkFreqBandHi |
2 |
Number |
工作频率范围的上限。 |
34 |
wNumberOfMics |
2 |
Number |
后面的单个麦克风定义数。 |
36 |
wMicrophoneType(0) |
2 |
Number |
唯一标识麦克风类型 0 的数字: 00: Omni-Directional 01: SubCardioid 02: Cardioid 03: SuperCardioid 04: HyperCardioid 05:8 形 0F - FF:定义供应商 |
38 |
wXCoordinate(0) |
2 |
Number |
麦克风 0 的 x 坐标。 |
40 |
wYCoordinate(0) |
2 |
Number |
麦克风 0 的 y 坐标。 |
42 |
wZCoordinate(0) |
2 |
Number |
麦克风 0 的 z 坐标。 |
44 |
wMicVertAngle(0) |
2 |
Number |
麦克风 0 的主响应轴(MRA)垂直角度。 |
46 |
wMicHorAngle(0) |
2 |
Number |
麦克风 0 的 MRA 水平角度。 |
... |
... |
... |
... |
麦克风定义 1 到 n-2。 |
34+((n-1)12) |
wMicType(n-1) |
Number |
唯一标识麦克风 n-1 类型的数字: 00: Omni-Directional 01: SubCardioid 02: Cardioid 03: SuperCardioid 04: HyperCardioid 05:8 形 0F - FF:定义供应商 |
|
36+((n-1)12) |
wXCoordinate(n-1) |
Number |
麦克风 n-1 的 x 坐标。 |
|
38+((n-1)12) |
wYCoordinate(n-1) |
2 |
Number |
麦克风 n-1 的 y 坐标。 |
40+((n-1)12) |
wZCoordinate(n-1) |
2 |
Number |
麦克风 n-1 的 z 坐标。 |
42+((n-1)12) |
wMicVertAngle(n-1) |
2 |
Number |
麦克风 n-1 的 MRA 垂直角度。 |
44+((n-1)12) |
wMicHorAngle(n-1) |
2 |
Number |
麦克风 n-1 的 MRA 水平角度。 |
有关如何在 4 元素麦克风阵列的描述符中使用此信息格式的详细示例,请参阅 有关如何为 Windows Vista 白皮书生成和使用麦克风阵列 的附录 A。
Note
在麦克风阵列信息中包含版本号时,它允许在实现原始规范后更新描述符。 版本号是 BCD 值。 例如,当前版本 (1.0) 表示为0x0100。
偏移量和大小值以字节为单位。
所有角度以 1/10000 弧度为单位表示。 例如,3.1416 弧度表示为 31416。 该值的范围可以是从 -31416 到 31416,包括 31416。
X-y-z 坐标以毫米表示。 该值的范围可以是 -32767 到 32767(含)。
有关坐标系角度、轴和正方向的信息,请参阅上述麦克风阵列白皮书中的附录 B。
频率值以 Hz 表示。 The range of frequency values is bounded only by the size of the field from wWorkFreqBandLo to wWorkFreqBandHi.