Mikrofonarray-Geometriedeskriptorformat
Ein USB-Audiomikrofonarray muss sich für das System beschreiben, an das es angeschlossen ist. Dies bedeutet, dass die Parameter, die zum Beschreiben des Arrays erforderlich sind, in das Arraygerät selbst eingebettet werden müssen. Arraygeometrieinformationen werden mithilfe einer GET_MEM-Anforderung vom Gerät abgerufen.
Informationen zur Geometrie von USB-Audiogeräten müssen in einem Standardformat bereitgestellt werden. Daher müssen USB-Mikrofonarrays, die für die Verwendung mit dem Windows Vista-USB-Audioklassentreiber vorgesehen sind, einen Deskriptor bereitstellen, der das in der folgenden Tabelle definierte Informationsformat verwendet.
Offset | Feld | Size | Wert | BESCHREIBUNG |
---|---|---|---|---|
0 |
guidMicArrayID |
16 |
Globally Unique Identifier (GUID) |
Eine eindeutige ID, die den Anfang der Mikrofonarrayinformationen im Arbeitsspeicher markiert ( {07FE86C1-8948-4db5-B184-C5162D4AD314} ). |
16 |
wDescriptorLength |
2 |
Number |
Die Länge in Bytes der Mikrofonarrayinformationen, einschließlich der FELDER GUID und Länge. |
18 |
wVersion |
2 |
Binärcodierte Dezimalstellen (BCD) |
Die Versionsnummer der Mikrofonarrayspezifikation, gefolgt von diesem Deskriptor. |
20 |
wMicArrayType |
2 |
Number |
Die folgenden Werte werden definiert: 00: Linear. 01: Planar. 02: 3-dimensional (3D). 03-FFFF: Reserviert |
22 |
wWorkVertAngBeg |
2 |
Number |
Der Beginn des vertikalen Winkels des Arbeitsvolumens. |
24 |
wWorkVertAngEnd |
2 |
Number |
Das Ende des vertikalen Winkels des Arbeitsvolumens. |
26 |
wWorkHorAngBeg |
2 |
Number |
Der Anfang des horizontalen Winkels des Arbeitsvolumens. |
28 |
wWorkHorAngEnd |
2 |
Number |
Das Ende des horizontalen Winkels des Arbeitsvolumens. |
30 |
wWorkFreqBandLo |
2 |
Number |
Die Untergrenze des Arbeitsfrequenzbereichs. |
32 |
wWorkFreqBandHi |
2 |
Number |
Die Obergrenze des Arbeitsfrequenzbereichs. |
34 |
wNumberOfMics |
2 |
Number |
Die Anzahl der einzelnen Mikrofondefinitionen, die folgen. |
36 |
wMicrophoneType(0) |
2 |
Number |
Eine Zahl, die den Typ des Mikrofons 0 eindeutig identifiziert: 00: Omni-Directional 01: SubCardioid 02: Nieren 03: SuperCardioid 04: HyperCardioid 05: 8 Form 0F – FF: Anbieter definiert |
38 |
wXCoordinate(0) |
2 |
Number |
Die x-Koordinate des Mikrofons 0. |
40 |
wYCoordinate(0) |
2 |
Number |
Die y-Koordinate des Mikrofons 0. |
42 |
wZCoordinate(0) |
2 |
Number |
Die Z-Koordinate des Mikrofons 0. |
44 |
wMicVertAngle(0) |
2 |
Number |
Der Standard vertikalen Winkel des Mikrofons 0 (Response Axis, MRA). |
46 |
wMicHorAngle(0) |
2 |
Number |
Der horizontale MRA-Winkel des Mikrofons 0. |
... |
... |
... |
... |
Mikrofondefinitionen 1 bis n-2. |
34+((n-1)12) |
wMicType(n-1) |
Number |
Eine Zahl, die den Typ des Mikrofons n-1 eindeutig identifiziert: 00: Omni-Directional 01: SubCardioid 02: Nieren 03: SuperCardioid 04: HyperCardioid 05: 8 Form 0F – FF: Anbieter definiert |
|
36+((n-1)12) |
wXCoordinate(n-1) |
Number |
Die x-Koordinate des Mikrofons n-1. |
|
38+((n-1)12) |
wYCoordinate(n-1) |
2 |
Number |
Die y-Koordinate des Mikrofons n-1. |
40+((n-1)12) |
wZCoordinate(n-1) |
2 |
Number |
Die z-Koordinate des Mikrofons n-1. |
42+((n-1)12) |
wMicVertAngle(n-1) |
2 |
Number |
Der vertikale MRA-Winkel des Mikrofons n-1. |
44+((n-1)12) |
wMicHorAngle(n-1) |
2 |
Number |
Der horizontale MRA-Winkel des Mikrofons n-1. |
Ein ausführliches Beispiel zur Verwendung dieses Informationsformats in einem Deskriptor für ein 4-Element-Mikrofonarray finden Sie unter Anhang A des Whitepapers Erstellen und Verwenden von Mikrofonarrays für Windows Vista .
Hinweis
Wenn Sie eine Versionsnummer in die Mikrofonarrayinformationen einschließen, kann der Deskriptor aktualisiert werden, nachdem die ursprünglichen Spezifikationen implementiert wurden. Die Versionsnummer ist ein BCD-Wert. Beispielsweise wird die aktuelle Version (1.0) als 0x0100 dargestellt.
Die Offset- und Größenwerte sind in Bytes.
Alle Winkel werden in Einheiten von 1/10000 Bogenmaßen ausgedrückt. Beispielsweise wird 3,1416 Bogenmaße als 31416 ausgedrückt. Der Wert kann zwischen -31416 und einschließlich 31416 liegen.
X-y-Z-Koordinaten werden in Millimetern ausgedrückt. Der Wert kann zwischen -32767 und einschließlich 32767 liegen.
Informationen zur Ausrichtung, den Achsen und den positiven Richtungen der Winkel des Koordinatensystems finden Sie unter Anhang B im oben erwähnten Whitepaper zu Mikrofonarray.
Frequenzwerte werden in Hz ausgedrückt. Der Bereich der Häufigkeitswerte wird nur durch die Größe des Felds von wWorkFreqBandLo bis wWorkFreqBandHi begrenzt.