Формат дескриптора геометрии массива микрофона
Массив аудиомикрофона USB должен описывать себя в системе, к которой он подключен. Это означает, что параметры, необходимые для описания массива, должны быть внедрены в само устройство массива. Геометрические данные массива извлекаются с устройства с помощью запроса GET_MEM .
Сведения о геометрии аудиоустройства USB должны быть предоставлены в стандартном формате. Таким образом, usb-микрофонные массивы, предназначенные для работы с драйвером класса USB Для Windows Vista, должны предоставлять дескриптор, использующий формат сведений, определенный в следующей таблице.
Offset | Поле | Size | Значение | Описание |
---|---|---|---|---|
0 |
guidMicArrayID |
16 |
Глобальный уникальный идентификатор (GUID) |
Уникальный идентификатор, отмечающий начало сведений о массиве микрофона в памяти ( {07FE86C1-8948-4db5-B184-C5162D4AD314}). |
16 |
wDescriptorLength |
2 |
Число |
Длина в байтах сведений о массиве микрофона, включая поля GUID и длины. |
18 |
wVersion |
2 |
Двоичное закодированное десятичное число (BCD) |
Номер версии спецификации массива микрофонов, за которым следует этот дескриптор. |
20 |
wMicArrayType |
2 |
Число |
Определены следующие значения: 00: линейный. 01: Плоска. 02: 3-мерная (трехмерная). 03-FFFF: зарезервировано |
22 |
wWorkVertAngBeg |
2 |
Число |
Начало вертикального угла объема работ. |
24 |
wWorkVertAngEnd |
2 |
Число |
Вертикальный угол окончания рабочего тома. |
26 |
wWorkHorAngBeg |
2 |
Число |
Начало горизонтального угла объема работ. |
28 |
wWorkHorAngEnd |
2 |
Число |
Горизонтальный угол окончания рабочего тома. |
30 |
wWorkFreqBandLo |
2 |
Число |
Нижняя граница диапазона частоты работы. |
32 |
wWorkFreqBandHi |
2 |
Число |
Верхняя граница диапазона частот работы. |
34 |
wNumberOfMics |
2 |
Число |
Количество следующих определений отдельных микрофонов. |
36 |
wMicrophoneType(0) |
2 |
Число |
Число, однозначно определяющее тип микрофона 0: 00: Omni-Directional 01: SubCardioid 02: Кардиоид 03: SuperCardioid 04: HyperCardioid 05: 8 Фигура 0F — FF: определено поставщиком |
38 |
wXCoordinate(0) |
2 |
Число |
Координата x микрофона 0. |
40 |
wYCoordinate(0) |
2 |
Число |
Координата Y микрофона 0. |
42 |
wZCoordinate(0) |
2 |
Число |
Координата z микрофона 0. |
44 |
wMicVertAngle(0) |
2 |
Число |
Вертикальный угол оси ответа (MRA) main микрофона 0. |
46 |
wMicHorAngle(0) |
2 |
Число |
Горизонтальный угол mra микрофона 0. |
... |
... |
... |
... |
Определения микрофона от 1 до n-2. |
34+((n-1)12) |
wMicType(n-1) |
Число |
Число, однозначно определяющее тип микрофона n-1: 00: Omni-Directional 01: SubCardioid 02: Кардиоид 03: SuperCardioid 04: HyperCardioid 05: 8 Фигура 0F — FF: определено поставщиком |
|
36+((n-1)12) |
wXCoordinate(n-1) |
Число |
Координата x микрофона n-1. |
|
38+((n-1)12) |
wYCoordinate(n-1) |
2 |
Число |
Координата Y микрофона n-1. |
40+((n-1)12) |
wZCoordinate(n-1) |
2 |
Число |
Координата z микрофона n-1. |
42+((n-1)12) |
wMicVertAngle(n-1) |
2 |
Число |
Вертикальный угол MRA микрофона n-1. |
44+((n-1)12) |
wMicHorAngle(n-1) |
2 |
Число |
Горизонтальный угол MRA микрофона n-1. |
Подробный пример использования этого формата информации в дескрипторе для массива микрофонов из 4 элементов см. в приложении А к техническому документу Создание и использование массивов микрофонов для Windows Vista .
Примечание
При включении номера версии в сведения о массиве микрофонов дескриптор можно обновлять после реализации исходных спецификаций. Номер версии — это значение BCD. Например, текущая версия (1.0) представлена как 0x0100.
Значения смещения и размера находятся в байтах.
Все углы выражаются в единицах 1/10 000 радиан. Например, 3,1416 радианы выражаются как 31416. Значение может варьироваться от -31416 до 31416 включительно.
Координаты X-Y-Z выражены в миллиметрах. Значение может варьироваться от -32767 до 32767 включительно.
Сведения об ориентации, осях и положительных направлениях углов системы координат см. в приложении B в техническом документе массива микрофонов, упоминаемом выше.
Значения частоты выражаются в Гц. Диапазон значений частоты ограничивается только размером поля от wWorkFreqBandLo до wWorkFreqBandHi.