Die Anwendung des AES-24 ID Entwurfs auf Audiogeräte
Vortrag zur Tonmeistertagung 1994
Beschreibung der Geräte-Spezifikation
Die Schönheit dieses Protokolls liegt in seiner Simplizität, die mit nur wenigen Vorgaben auskommt. Die Schlüsselideen werden wir durch die Anwendung auf den o.g. Entzerrer erarbeiten. Lassen Sie uns nun zuerst die zu steuernden Parameter festlegen. Bei dem zu entwerfenden Gerät handelt es sich um einen 2-kanaligen graphischen Terzband-Entzerrer.
- 28 Terzband ISO-Bandpassfilter, die jeweils um +/- 10dB in 0,5 dB-Schritten justierbar sind
- Ein zwischen 1kHz und 20kHz frei einstellbares Tiefpassfilter mit Ein/Aus-Schalter
- Ein zwischen 10 Hz und 200 Hz frei einstellbares Hochpassfilter mit Ein-/Aus-Schalter
- Eingangspegel zwischen +12 dB und -12 dB in 1 dB Schritten einstellbar
- Ausgangspegel zwischen +12 dB und -12 dB in 1 dB Schritten einstellbar
- Eingangspegel Spitzenwertmesser mit einer Integrationszeit von 1 bzw. 10 ms
- Ausgangspegel Spitzenwertmesser mit einer Integrationszeit von 1 bzw. 10 ms
- Bypass-Schalter zur direkten Leitung des Eingangssignales auf den Ausgang
- 2 unabhängige Kanäle mit jeweils den o.g. Ausstattungsmerkmalen
- 16 Preset-Speicher mit STORE und RECALL. Jedes Preset enthält den Zustand jeder Kontrolle, wie oben beschrieben.
- Taster/Schalter zur Rückführung aller Bänder eines Kanales in die „O dB-Position“.
- Copy-Funkion, um die Einstellungen eines Kanals auf den anderen zu übertragen.
- „Remote Switch Interface“ (RSI), das mit einem externen vierpoligen Schalter verbunden ist, um Speicherinhalte abzurufen.
- Auswahlvorrichtung zur Festlegung, ob der RSI mit einem 4-Bit Binärschalter (z.B. einem Drehschalter mit 16 Positionen) oder vier Tastern verbunden ist.
Das Gerät wird mit den folgenden Arten von Befehlssätzen ferngesteuert bzw. überwacht:
- Audio Parameter Access: Diese Befehle fragen nach dem Status eines bestimmten Audioparameters bzw. bestimmen dessen Änderung. Die Audioparameter dieses Gerätes lauten: EQ-Bänder, Hoch- und Tiefpassfilter, Verstärkung, Anzeigen und „Bypass“.
- Non-Audio Parameter Access: Diese Befehle fragen das Gerät nach dem Status der anderen Parameter bzw. deren Änderung. Die „Non-Audio“ Parameter dieses Gerätes sind die RSI-Schalter bzw. deren Schaltzustände.
- Group Access: Diese Befehle fordern das Gerät dazu auf, den Status einer Gruppe von Parametern zu melden bzw. diese zu ändern. Im allgemeinen erfolgt die Festlegung von Gruppen willkürlich und umfasst sowohl Audio wie auch „Non-Audio“-Parameter. Das besprochene Gerät enthält folgende Parametergruppen: Die Anzeigen der Kanäle 1 und 2 (sie wurden zusammengefasst, damit sie von einem externen Kontrollfeld aus periodisch als Datenblock abgefragt werden können, um den Datenaustausch des Netzwerkes nicht zu behindern); Entzerrung Kanal 1 und Entzerrung Kanal 2 (zur Gruppe zusammengefasst, um eine komplette Entzerrung als einzigen Datenblock senden zu können); Memory Presets.
- Utility Functions: Diese Befehle führen die anwendungsspezifischen Funktionen des Gerätes aus (0 dB Stellung aller Regler und Copy).
- Device Manager: Diese Befehle unterstützen die verschiedenen „Manager“ des AES-24 Device-Modells.
In den nachfolgenden Abschitten werden die Ausstattungsmerkmale und Befehle den Objekten und Methoden des AES-24 ID Dokumentes zugeordnet. Leider bedingt die Kürze des Vortrages eine recht unvollständige Ausführung dieses Vorhabens. Wir hoffen jedoch, dem geneigten Leser einige Anhaltspunkte und Anregungen vermitteln zu können. An dieser Stelle machen wir noch einmal darauf aufmerksam, daß dieses Protokoll als Informationsdokument zu verstehen ist. Eine endgültige Version liegt leider noch nicht vor. Die AES SC-10-3 Arbeitsgruppe ist für Anregungen und Verbesserungsvorschläge jeder Art dankbar.
Das AES-24 Objektmodell
Dieser Abschnitt ordnet die Ausstattungsmerkmale, wie unter 2 beschrieben, dem jeweiligen Objektmodell der AES-24 zu. In diesem Modell wird jedes „Objekt“ des Equalizers durch seinen Namen, seine Klasse und die Objekt-ID (Identifikationsnummer) dargestellt. In unserem Beispiel wurden die Objekt IDs willkürlich gewählt und jedem Objekt zugeordnet:
Name | Klasse | Objekt ID |
---|---|---|
Chan 1, 31,5 Hz, EQ-Band | KFO | 1 |
Chan 1, 40 Hz, EQ-Band | KFO | 2 |
Chan 1, 50 Hz, EQ-Band | KFO | 3 |
Chan 1, 63 Hz, EQ-Band | KFO | 4 |
Chan 1, 80 Hz, EQ-Band | KFO | 5 |
Chan 1, 100 Hz, EQ-Band | KFO | 6 |
Chan 1, 125 Hz, EQ-Band | KFO | 7 |
Chan 1, 160 Hz, EQ-Band | KFO | 8 |
Chan 1, 200 Hz, EQ-Band | KFO | 9 |
Chan 1, 250 Hz, EQ-Band | KFO | 10 |
Chan 1, 315 Hz, EQ-Band | KFO | 11 |
Chan 1, 400 Hz, EQ-Band | KFO | 12 |
Chan 1, 500 Hz, EQ-Band | KFO | 13 |
Chan 1, 630 Hz, EQ-Band | KFO | 14 |
Chan 1, 800 Hz, EQ-Band | KFO | 15 |
Chan 1, 1 kHz, EQ-Band | KFO | 16 |
Chan 1, 1,25 kHz, EQ-Band | KFO | 17 |
Chan 1, 1,6 kHz, EQ-Band | KFO | 18 |
Chan 1, 2 kHz, EQ-Band | KFO | 19 |
Chan 1, 2,5 kHz, EQ-Band | KFO | 20 |
Chan 1, 3,15 kHz, EQ-Band | KFO | 21 |
Chan 1, 4 kHz, EQ-Band | KFO | 22 |
Chan 1, 5 kHz, EQ-Band | KFO | 23 |
Chan 1, 6,3 kHz, EQ-Band | KFO | 24 |
Chan 1, 8 kHz, EQ-Band | KFO | 25 |
Chan 1, 10 kHz, EQ-Band | KFO | 26 |
Chan 1, 12,5 kHz, EQ-Band | KFO | 27 |
Chan 1, 16 kHz, EQ-Band | KFO | 28 |
Chan 1, LPF | KFO | 29 |
Chan 1, HPF | KFO | 30 |
Chan 1, Input Level | Gain | 31 |
Chan 1, Output Level | Gain | 32 |
Chan 1, Input Meter | Sensor | 33 |
Chan 1, Output Meter | Sensor | 34 |
Chan 1, Bypass | Schalter | 35 |
Chan 1, Meter Cont. | Container | 36 |
Chan 1, Container | Container | 37 |
Chan 1, RSI | frei wählbar | 38 |
Group BDM | 508 | |
Device Manager | 510 |
Name | Klasse | Objekt ID |
---|---|---|
Chan 2, 31,5 Hz, EQ-Band | KFO | 43 |
Chan 2, 40 Hz, EQ-Band | KFO | 44 |
Chan 2, 50 Hz, EQ-Band | KFO | 45 |
Chan 2, 63 Hz, EQ-Band | KFO | 46 |
Chan 2, 80 Hz, EQ-Band | KFO | 47 |
Chan 2, 100 Hz, EQ-Band | KFO | 48 |
Chan 2, 125 Hz, EQ-Band | KFO | 49 |
Chan 2, 160 Hz, EQ-Band | KFO | 50 |
Chan 2, 200 Hz, EQ-Band | KFO | 51 |
Chan 2, 250 Hz, EQ-Band | KFO | 52 |
Chan 2, 315 Hz, EQ-Band | KFO | 53 |
Chan 2, 400 Hz, EQ-Band | KFO | 54 |
Chan 2, 500 Hz, EQ-Band | KFO | 55 |
Chan 2, 630 Hz, EQ-Band | KFO | 56 |
Chan 2, 800 Hz, EQ-Band | KFO | 57 |
Chan 2, 1 kHz, EQ-Band | KFO | 58 |
Chan 2, 1,25 kHz, EQ-Band | KFO | 59 |
Chan 2, 1,6 kHz, EQ-Band | KFO | 60 |
Chan 2, 2 kHz, EQ-Band | KFO | 61 |
Chan 2, 2,5 kHz, EQ-Band | KFO | 62 |
Chan 2, 3,15 kHz, EQ-Band | KFO | 63 |
Chan 2, 4 kHz, EQ-Band | KFO | 64 |
Chan 2, 5 kHz, EQ-Band | KFO | 65 |
Chan 2, 6,3 kHz, EQ-Band | KFO | 66 |
Chan 2, 8 kHz, EQ-Band | KFO | 67 |
Chan 2, 10 kHz, EQ-Band | KFO | 68 |
Chan 2, 12,5 kHz, EQ-Band | KFO | 69 |
Chan 2, 16 kHz, EQ-Band | KFO | 70 |
Chan 2, LPF | KFO | 71 |
Chan 2, HPF | KFO | 72 |
Chan 2, Input Level | Gain | 73 |
Chan 2, Output Level | Gain | 74 |
Chan 2, Input Meter | Sensor | 75 |
Chan 2, Output Meter | Sensor | 76 |
Chan 2, Bypass | Schalter | 77 |
Chan 2, Meter Cont. | Container | 78 |
Chan 2, Container | Container | 79 |
Speicher Manager | 507 | |
Signalfluß Manager | 509 | |
Device Container | 511 |
BCM = BroadCast Manager
RSI = Remote Switch Interface
LPF = Low Pass Filter
HPF = High Pass Filter
KFO = Klassisches Filter Objekt
Das Device-Modell
Das vorgeschlagene AES-24 Device-Modell wird in der folgenden Abbildung weitgehend graphisch veranschaulicht.
Auszug aus dem AES-24 ID Dokument:
Ein Device (Gerät) soll durch einen Container dargestellt werden, welcher die folgenden vier Hauptkomponenten enthält:
a) Einen Device Manager, der eine Anzahl von Object Creators enthält. Ein Object Creator erzeugt Objekte wie z.B. Verstärkung, Schalter, Filter, etc. Einmal erzeugt, erscheinen diese Objekte auch innerhalb des Devices.
b) Einen Signalfluß Manager, der bei Abfrage Informationen über die Verbindung von Objekten innerhalb eines Devices zurücksendet. Diesem Objekt kann auch die Möglichkeit gegeben werden, nach Anweisung neue Verbindungen zwischen softwaregestützten Objekten, also z. B. DSP-Algorithmen herzustellen.
c) Einen Group Broadcast Manager, der einem Container entspricht, der mit Group Broadcast Trancseivern ausgestattet ist. Jeder Group Broadcast Nummer ist genau ein Transceiver zugeordnet. In jedem Device soll mindestens ein Objekt einem Transceiver zugeordnet sein. Jeder Transceiver soll die Liste von Objekten enthalten, die Nachrichten empfangen, welche an ihre Group Broadcast Nummer gesandt wurden.
d) Keine oder mehrere Audio und „Non-Audio“ Objekte, die Verstärker, Schalter, Filter, etc. enthalten. „Non-Audio“ Objekte sollen Speicher, Zeitcode. etc. enthalten.
Graphische Darstellung des strukturellen Aufbaus der Objektklassen
Der strukturelle Aufbau der Objektklassen mit seiner streng hierarchischen Ordnung ist von erheblicher Bedeutung für das Verständnis des Steuerungskonzeptes. Leider ist auch hier eine ausführliche Behandlung nicht möglich. Daher sei noch einmal auf das jederzeit verfügbare Informationsdokument AES-24 ID verwiesen.
Die graphische Darstellung soll einen Einblick in den Aufbau vermitteln. Wichtig zu wissen ist, daß das Objekt von oben nach unten hierarchisch gegliedert ist und alle nachfolgenden Klassen alles von der vorhergehenden „erben“. Hinweis: Dieser Aufbau ist nur durch den Einsatz verteilter Intelligenz möglich, da das Objekt selbst nicht nur Informationen weitergeben, sondern auch Aktionen bei untergeordneten Klassen starten und anweisen kann.
Objekte und Befehle (Objects & Methods)
In den folgenden Sektionen werden die Befehlsnummern der Objekte tabellisiert. Den Befehls-IDs wurden willkürliche Nummern zugeordnet, um die Erstellung eines Prototypen zu ermöglichen. Da die ersten vier Befehls-ID-Nummern in einem 1-Byte ASN.1 Datenwort untergebracht werden können, wurden sie den gebräuchlichsten Befehlen zugeordnet, um die Bandbreite des Netzwerkes so wenig wie möglich einzuschränken (diese Befehlsnummern wurden schraffiert dargestellt).
Hinweis: Die Ordnung der nachfolgenden Tabellen ist hierarchisch von oben nach unten gegliedert.
Konventionelles Filter Objekt (Objekt IDs: 1 – 30, 43 – 72)
Die Anweisungen (Befehle), die von der Eltern-Klasse (Actuator) „geerbt“ werden, lauten:
Befehl | Befehls-ID | Notizen |
---|---|---|
GetClasslD | 32 | Request |
SetClasslD | 31 | Antwort |
GetPanelName | 30 | z. B. Schalter |
GetRole | 29 | Funktion in einem System |
SetRole | 28 | Funktion in einem System |
GetLock | 27 | Kann ich dich kontrollieren? |
SetLock | 26 | Ja/Nein |
Ein KFO (Konventionelles Filter Objekt) kennt 16 weitere Befehle:
Befehl | Befehls-ID | Notizen |
---|---|---|
GetType | 16 | Die Befehlssequenzen können sowohl an konventionelle, analoge wie auch an digitale Filter gesandt werden. |
SetType | 15 | |
GetOrder | 14 | |
SetOrder | 13 | |
GetShape | 12 | |
SetShape | 11 | |
GetShapeParam | 10 | |
SetShapeParam | 9 | |
GetQ | 8 | |
SetQ | 3 | |
GetDesignFreq | 7 | |
SetDesignFreq | 2 | |
GetRefGain | 6 | |
SetRefGain | 5 | |
GetRelGain | 4 | |
SetRelGain | 1 |
Gain (Objekt IDs: 31, 32, 73, 74)
Befehl | Befehls-ID | Notizen |
---|---|---|
GetClasslD | 32 | Request |
SetClasslD | 31 | Antwort |
GetPanelName | 30 | z. B. Eingangspegel |
Get Role | 29 | Funktion in einem System |
SetRole | 28 | Funktion in einem System |
GetLock | 27 | Kann ich dich kontrollieren? |
SetLock | 26 | Ja/Nein |
Gain kennt 6 weitere Befehle:
Befehl | Befehls-ID | Notizen |
---|---|---|
GetRefGain | 4 | |
SetRefGain | 3 | |
GetRelGain | 2 | |
SetRelGain | 1 | |
GetResolution | 5 | |
SetResolution | 6 |
Pegelanzeige (Objekt IDs: 33, 34, 75, 76)
Befehl | Befehls-ID | Notizen |
---|---|---|
GetClasslD | 32 | Request |
SetClasslD | 31 | Antwort |
GetPanelName | 30 | z. B. Eingangspegelanzeige |
Get Role | 29 | Funktion in einem System |
SetRole | 28 | Funktion in einem System |
GetLock | 27 | Kann ich dich kontrollieren? |
SetLock | 26 | Ja/Nein |
Pegelanzeige kennt 19 weitere Befehle:
Befehl | Befehls-ID | Notizen |
---|---|---|
GetType | 5 | Was bist Du? |
SetType | 6 | Du wirst zu… |
GetDetValue | 1 | Nenne Deinen Wert! |
GetDetMethod | 7 | Wie lautet Dein Befehlssatz? |
SetDetMethod | 8 | Dein neuer Befehlssatz lautet… |
GetDetParam | 9 | |
SetDetParam | 10 | |
GetUpThresh | 11 | |
SetUpThresh | 3 | |
GetLowThresh | 12 | |
SetLowTresh | 4 | |
GetRiseHyst | 13 | |
SetRiseHyst | 14 | |
GetFallHyst | 15 | |
SetFallHyst | 16 | |
GetReportRate | 17 | Messungen/Nachrichten pro Sekunde |
SetReportRate | 2 | Messungen/Nachrichten pro Sekunde |
GetRptMsgCnt | 18 | Get Report Message Count |
SetRptMsgCnt | 19 | Set Report Message Count |
Schalter, Meter Container, RSIs, Memory Manager, Group Broadcast Manager, Signalfluß Manager und Device Manager
Die Tabellen für o. g. Befehlssätze sind entsprechend den bereits gelisteten strukturiert. Da es sich bei diesem Ansatz um willkürlich festgelegte Befehls-IDs handelt, ersparen wir uns, den noch verbleibenden Rest hier aufzulisten.