ATEM audio mixer

This is the audio mixer interface present in most of the ATEM switchers. Some of the newer models have Fairlight audio mixing instead.

class pyatem.field.AudioInputField(raw)

Data from the AMIP. Describes the inputs to the atem audio mixer

Offset

Size

Type

Descriptions

0

2

u16

Audio source index

2

1

u8

Input type

3

2

?

unknown

5

1

u8

Index in group

6

1

?

?

7

1

u8

Input plug

8

1

u8

State [0=off, 1=on, 2=afv]

10

2

u16

Channel volume

12

2

i16

Channel balance [-10000 - 10000]

Val

Input type

0

External video input

1

Media player audio

2

External audio input

Val

Plug type

0

Internal

1

SDI

2

HDMI

3

Component

4

Composite

5

SVideo

32

XLR

64

AES/EBU

128

RCA

After parsing: :ivar volume: Master volume for the mixer, signed int which maps [-10000 - 1000] to +10dB - -100dB (inf)

plug_name()

Return the display name for the connector

class pyatem.field.AudioMixerInputPropertiesField(raw)

Data from the AMIP. Settings for a channel strip on legacy audio units.

Offset

Size

Type

Descriptions

0

2

u16

Audio source index

2

1

u8

Type [0: External Video, 1: Media Player, 2: External Audio]

3

3

?

unknown

6

1

bool

From Media Player

7

1

u8

Plug Type [0: Internal, 1: SDI, 2: HDMI, 3: Component, 4: Composite, 5: SVideo, 32: XLR, 64, AES/EBU, 128 RCA]

8

1

u8

Mix Option [0: Off, 1: On, 2: AFV]

9

1

u8

unknown

10

2

u16

Volume [0 - 65381]

12

2

i16

Pan [-10000 - 10000]

14

1

u8

unknown

After parsing: :ivar volume: Master volume for the mixer, signed int which maps [-10000 - 1000] to +10dB - -100dB (inf) :ivar afv: Enable/disabled state for master audio-follow-video (for fade-to-black)

class pyatem.field.AudioMixerMasterPropertiesField(raw)

Data from the AMMO. Settings for the master bus on legacy audio units.

Offset

Size

Type

Descriptions

0

2

u16

Program Gain

2

2

?

unknown

4

1

bool

Follow fade to black

5

1

?

unknown

After parsing: :ivar volume: Master volume for the mixer, unsigned int which maps [? - ?] to +10dB - -100dB (inf) :ivar afv: Wether the master volume follows the fade-to-bloack

class pyatem.field.AudioMixerMonitorPropertiesField(raw)

Data from the AMmO. Settings for the monitor bus on legacy audio units.

Offset

Size

Type

Descriptions

0

1

bool

Monitoring enabled

1

1

?

unknown

2

2

u16

Volume

4

1

bool

Mute

5

1

bool

Solo

6

2

u16

Solo source index

8

1

bool

Dim

10

2

u16

Dim volume

After parsing: :ivar volume: Master volume for the mixer, unsigned int which maps [? - ?] to +10dB - -100dB (inf)

class pyatem.field.AudioMixerTallyField(raw)

Data from the AMTl. Encodes the state of tally lights on the audio mixer

Offset

Size

Type

Descriptions

0

2

u16

Number of tally lights

2

2

u16

Audio Source

4

1

bool

IsMixedIn (On/Off)

Level meters

class pyatem.field.AudioMeterLevelsField(raw)

Data from the AMLv. This contains the realtime audio levels for the audio mixer

Offset

Size

Type

Description

0

2

u16

Number of input channels

2

2

?

padding

4

4

u32

Master left level

8

4

u32

Master right level

12

4

u32

Master left peak

16

4

u32

Master right peak

20

4

u32

Monitor left level

24

4

u32

Monitor right level

28

4

u32

Monitor left peak

32

4

u32

Monitor right peak

?

4

u32

Input left level [These 4 repeat for the number of channels above]

?

4

u32

Input right level

?

4

u32

Input left peak

?

4

u32

Input right peak

After parsing: The levels are tuples in the format (left level, right level, left peak, right peak). :ivar count: Number of channels :ivar master: Master levels :ivar monitor: Monitor levels :ivar input: All input levels as a dict, the key is the channel number and the value a level tuple