Open Standards in Pro Audio: AES70 Conrad Bebbington Focusrite - - PowerPoint PPT Presentation

open standards in pro audio aes70
SMART_READER_LITE
LIVE PREVIEW

Open Standards in Pro Audio: AES70 Conrad Bebbington Focusrite - - PowerPoint PPT Presentation

Open Standards in Pro Audio: AES70 Conrad Bebbington Focusrite Pro Audio Studio Live Sound Theatre Broadcast House of Worship Audio Network Devices Microphones Preamplifiers Mixers Effects Interfaces Amplifiers Speakers Motivations


slide-1
SLIDE 1

Open Standards in Pro Audio: AES70

Conrad Bebbington Focusrite

slide-2
SLIDE 2

Pro Audio

Studio Live Sound Theatre Broadcast House of Worship

slide-3
SLIDE 3

Audio Network Devices

Microphones Preamplifiers Mixers Effects Interfaces Amplifiers Speakers

slide-4
SLIDE 4
slide-5
SLIDE 5

Motivations

Equipment location In recording room On/around the stage Poor integration between proprietary control protocols Hardware controllers + custom controllers Complement AES67 with a control protocol

slide-6
SLIDE 6

AES70 and OCA

OCA - framework + protocols for controlling audio devices AES70 - standard documents for OCA

slide-7
SLIDE 7

Areas Covered By AES70

Control framework (OCF) Object class structure (OCC) Communication protocols (OCP)

slide-8
SLIDE 8

Framework

Object Oriented Devices composed of objects Single inheritance

slide-9
SLIDE 9

Classes

Methods, properties and events All classes inherit from OcaRoot Class id numbering based on class hierarchy (eg. OcaGain Class Id: 1,1,1,5) Optional proprietary subclasses

slide-10
SLIDE 10

Example: OcaGain

Class Id: 1 Class Id: 1,1 Class Id: 1,1,1,5 Class Id: 1,1,1

slide-11
SLIDE 11

Methods

Retrieve properties or perform actions Single inheritance means every method has a level in the hierarchy Method calls indicate a level and a method number

slide-12
SLIDE 12

Example: OcaGain

GetClassIdentification(), GetLockable(), Lock() ... GetEnabled(), SetEnabled() ... GetGain(), SetGain()

slide-13
SLIDE 13

Example: OcaGain

GetClassIdentification(), GetLockable(), Lock() ... GetEnabled(), SetEnabled() ... GetGain(), SetGain() To call set gain, call method 04m02

slide-14
SLIDE 14

OcaRoot

Base class for everything Object number Role - name string Class Identification Property Change Notification Locking

slide-15
SLIDE 15
slide-16
SLIDE 16

Built In Classes

Workers - signal processing Sensors - Measure signals Actuators - Process signals Blocks, Matrices - Grouping Managers - device housekeeping Agents - non-signal processing controls

slide-17
SLIDE 17

Sensors

Boolean Sensor Int8 Sensor etc Level Sensor String Sensor Bit String Sensor

slide-18
SLIDE 18

Actuators

Boolean Actuator Int8 Actuator etc Gain Switch Delay Filters (Classical, FIR, Parametric, Polynomial)

slide-19
SLIDE 19

Blocks

For logical grouping Contain other workers (including blocks) Provide enumeration of contents Describe signal flow Mandatory root block (object number 100)

slide-20
SLIDE 20

Signal flow

Workers may have ports Input Output Containing block provides a list of connections between workers

slide-21
SLIDE 21

Managers

Mandatory Device - Model information, overall state Firmware - Firmware version information, may allow updates Subscription - Allows controllers to subscribe to events Network - Information on network interfaces and configuration

slide-22
SLIDE 22

Managers

Optional Security - Authentication and security controls Power - Monitors power supplies Media Clock - Controls clocking/synchronization Audio Processing - Provides global parameters for audio processing Library - Stores and recalls presets Device Time - Local clock settings

slide-23
SLIDE 23

Agents

Mandatory Stream Network - connections to control and media networks

slide-24
SLIDE 24

Agents

Optional Grouper - groups controls so they can be changed together Ramper - affects a control over a time period Observers - watch a parameter and report when it hits a value Media Clock - describes the media clock used by the device Event Handler - receives notifications from other devices

slide-25
SLIDE 25

Event handling

OCA controllers are also OCA devices Controllers implements Event Handler agents Controllers subscribe to object events using the Subscription Manager When object values change, the controlled device sends a notification Notifications are method calls to the Event Handler

slide-26
SLIDE 26

Protocols

Defined in OCP Currently only 1 protocol OCP.1 TCP/IP More planned UDP USB

slide-27
SLIDE 27

OCP.1

Discovery Message format Optional TLS Heartbeat mechanism

slide-28
SLIDE 28

Discovery

DNS-SD and mDNS _oca._tcp plaintext OCA _ocasec._tcp encrypted OCA TXT records contain protocol versions txtvers version of the TXT record protovers version of OCA

slide-29
SLIDE 29

Message Format

Binary format Message types Command Command Requiring Response Notification Response Keep Alive Data marshalling rules

slide-30
SLIDE 30

Organisations

AES handles standardisation and technical discussion OCA Alliance promotes adoption and handles discussion of practical implementation

slide-31
SLIDE 31

Adoption - Current OCA Alliance Members

1602 Group AEQ Archwave Technologies Atlas Sound, LP/Innovative Electronic Designs, LLC Attero Tech Bittner Audio Int. GmbH Bosch Communications Systems CB Electronics d&b audiotechnik GmbH Deuso GmbH FBT Focusrite Harman Professional Group Rational Acoustics, LLC Salzbrenner Stagetec Mediagroup TC Group TOA Corporation THAT Corporation The Telos Alliance Yamaha Commercial Audio

slide-32
SLIDE 32

Implementations

Oca Micro Embedded Sample implementation OCA.js Javascript implementation Controller applications

slide-33
SLIDE 33

Benefits

Specialised protocol for audio control Open standard allows interop OO structure is extensible Custom integrations possible Can be used with AES67 for fully open audio networking

slide-34
SLIDE 34

More Information

http://ocaalliance.com http://www.aes.org/publications/standards https://github.com/DeutscheSoft/OCA.js http://ocaalliance.com/oca-microdemo-download/