マイク配列ジオメトリ記述子の形式

USB オーディオ マイク配列は、接続されているシステムに対してそれ自体を記述する必要があります。 つまり、配列を記述するために必要なパラメーターは、配列デバイス自体に埋め込む必要があります。 配列ジオメトリ情報は、 GET_MEM 要求を使用してデバイスから取得されます。

USB オーディオ デバイスのジオメトリに関する情報は、標準形式で提供する必要があります。 そのため、Windows Vista USB オーディオ クラス ドライバーで動作することを目的とした USB マイク配列は、次の表に定義されている情報形式を使用する記述子を提供する必要があります。

オフセット フィールド サイズ Value アクリルアミド

0

guidMicArrayID

16

グローバル一意識別子(GUID)

メモリ内のマイク配列情報の先頭を示す一意の ID ({07FE86C1-8948-4db5-B184-C5162D4AD314} )。

16

wDescriptorLength

2

番号

GUID フィールドと長さフィールドを含む、マイク配列情報の長さ (バイト単位)。

18

wVersion

2

2進化10進数(BCD)

マイク配列仕様のバージョン番号。その後にこの記述子が続きます。

20

wMicArrayType

2

番号

次の値が定義されています。

00: リニア。

01: 平面。

02:立体的(3D)。

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: 全方向性

01: SubCardioid

02: カーディオイド

03: SuperCardioid

04: HyperCardioid

05: 8 シェイプ

0F - FF: ベンダー定義

38

wXCoordinate(0)

2

番号

マイク 0 の x 座標。

40

wYCoordinate(0)

2

番号

マイク 0 の y 座標。

42

wZCoordinate(0)

2

番号

マイク 0 の Z 座標。

44

wMicVertAngle(0)

2

番号

メイン応答軸 (MRA) のマイク 0の垂直角度。

46

wMicHorAngle(0)

2

番号

マイク 0の MRA 水平角。

...

...

...

...

マイク定義 1 から n-2。

34+((n-1)12)

wMicType(n-1)

番号

マイクのタイプを一意に識別する番号 n-1:

00: 全方向性

01: SubCardioid

02: カーディオイド

03: SuperCardioid

04: HyperCardioid

05: 8 シェイプ

0F - FF: ベンダー定義

36+((n-1)12)

wXCoordinate(n-1)

番号

マイク n-1 の x 座標。

38+((n-1)12)

wYCoordinate(n-1)

2

番号

マイク n-1 の y 座標。

40+((n-1)12)

wZCoordinate(n-1)

2

番号

マイク n-1 の Z 座標。

42+((n-1)12)

wMicVertAngle(n-1)

2

番号

マイク n-1 の MRA 垂直角度。

44+((n-1)12)

wMicHorAngle(n-1)

2

番号

マイク n-1 の MRA 水平角。

4 要素のマイク配列の記述子でこの情報形式を使用する方法の詳細な例については Windows Vista 用マイク配列を構築して使用する方法 ホワイト ペーパーの付録 A を参照してください。

  

  • マイク配列情報にバージョン番号を含めると、元の仕様が実装された後に記述子を更新できるようになります。 バージョン番号は BCD 値です。 たとえば、現在のバージョン (1.0) は0x0100として表されます。

  • オフセットとサイズの値はバイト単位です。

  • すべての角度は、1/10000 ラジアンの単位で表されます。 たとえば、3.1416 ラジアンは 31416 として表されます。 値の範囲は -31416 ~ 31416 です。値は含まれます。

  • X-y-z 座標はミリメートルで表されます。 値の範囲は -32767 ~ 32767 です。値は含まれます。

  • 座標系の角度の向き、軸、正の方向については、上記のマイク配列ホワイト ペーパーの付録 B を参照してください。

  • 周波数値は Hz で表されます。 周波数値の範囲は、 wWorkFreqBandLo から wWorkFreqBandHi までのフィールドのサイズによってのみ制限されます。