Difference between revisions of "Avbutil"

From musings of k8
Jump to navigation Jump to search
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
# macOS avbutil Command
+
`avbutil` is used for the management of [[AVB]] features and settings. It enables control of AVB entities using the [[AVDECC]] (IEEE 1722.1) protocol.
  
The `avbutil` command is included in macOS since macOS Sierra (needs verification).
+
Typically, the [[Audio MIDI Setup]] application is enough for most users to manage their audio interfaces, including routing audio to/from an AVB audio interface. For those users needing more control over the AVB routing, or for those users who are simply curious about the deeper workings of AVB on macOS, the `avbutil` command is for them.
  
## Known avbutil versions
+
The `avbutil` command is included in [[macOS]] since [[macOS Sierra]], which was the first macOS release supporting AVB. Coincidentally, it was also the first macOS release that supported [[Thunderbolt]], which happens to be a corresponding requirement for supporting AVB on Mac hardware.
  
OS                | Release | Version
 
----------------- | ------- | -------
 
macOS Sierra      | 10.12.6 | 506.1
 
macOS High Sierra |        |
 
macOS Mojave      |        | 740.1
 
macOS Mojave      | 10.14.6 | 760.6
 
macOS Catalina    | 10.15.2 | 800.17
 
  
 
## AVDECC Entity Controller
 
## AVDECC Entity Controller
  
The AVDECC Entity Controller can be started from the *Terminal*.
+
The AVDECC Entity Controller window is used to see the available AVB devices on the network, and to see (and in some cases alter) their active configurations.
 +
 
 +
{{Tip|The controller window is started by opening [[Terminal]], and calling the `avbutil` command.}}
 +
 
 +
Direct method
 +
 
 +
```
 +
$ avbutil --controller launch
 +
```
 +
 
 +
Indirect method
  
 
```
 
```
 
$ avbutil
 
$ avbutil
avbutil 740.1
+
avbutil 900.12
  
 
avbutil> controller
 
avbutil> controller
avbutil>
 
 
```
 
```
  
Once the controller is started, the AVDECC Entity Controller window should open. This provides general information about the available AVB streams.
+
Once started, a window will appear that lists all the available AVB devices on the network. Here you can see three different [[MOTU]] audio interfaces that are currently connected.
 +
 
 +
[[Image:AVDECC_Entity_Controller.png|955px|alt=AVDECC Entity Controller]]
 +
 
 +
 
 +
## AVB Audio Entity Configuration
 +
 
 +
The AVB Audio Entity Configuration window shows the active configuration of an AVB audio entity.
 +
 
 +
{{Tip|The configuration window is opened by selecting Audio Entity Configuration from the Window menu, or by typing Cmnd-1.}}
 +
 
 +
[[Image:AVB_Audio_Entity_Configuration.png|450px|alt=AVB Audio Entity Configuration]]
 +
 
 +
Entities can be selected by clicking on their names. In the image above, the MOTU 16A is currently selected. By default, no entities are selected.
 +
 
 +
 
 +
## Simple Virtual Audio Entity Configuration
 +
 
 +
The Simple Virtual Audio Entity Configuration window allows the AVB capable Ethernet interfaces of the system to become active AVB entities on the network.
 +
 
 +
Once enabled, audio can be routed to/from the Mac as though it were an audio interface. This makes it possible for two Mac computers to exchange audio with one another over the network, and for one Mac to remotely manage the AVB connections of another mac using the AVDECC Entity Controller.
 +
 
 +
{{Tip|The configuration window is opened by selecting Simple Virtual Audio Entity Configuration from the Window menu, or by typing Cmnd-2.}}
 +
 
 +
[[Image:Simple_Virtual_Audio_Entity_Configuration.png|450px|alt=Simple Virtual Audio Entity Configuration]]
 +
 
 +
 
 +
## AVDECC Connection Matrix
 +
 
 +
The AVDECC Connection Matrix window shows what AVB streams are patched where. This tool is used to patch [[AVB Talker]]s and [[AVB Listener]]s with each other.
 +
 
 +
{{Tip|The matrix window is opened by selecting AVDECC Connection Matrix from the Window menu, or by typing Cmnd-4.}}
 +
 
 +
Talkers are listed across the top, and Listeners across the left.
 +
 
 +
[[Image:AVDECC_Connection_Matrix.png|600px|alt=AVDECC Connection Matrix]]
 +
 
 +
In the image above, one can see that the Stream 1 and 2 outputs of the [[MOTU 24Ai]] device are patched to the Stream 1 and 2 inputs of both the [[MOTU 16A]] and [[MOTU 24Ao]] devices. This means that both the 16A and 24Ao devices will receive exactly the same signals. (To note, MOTU AVB streams are 8 channels wide, so this example demonstrates the routing 16 channels of audio.)
 +
 
 +
The settings demonstrated can also be achieved using the [[MOTU Pro Audio Control]] user interface. Any changes made in the MOTU UI will also be reflected in real-time on the connection matrix UI.
 +
 
 +
 
 +
## Appendix
 +
### Known avbutil versions
 +
 
 +
OS                | Version | .0    | .1    | .2    | .3 | .4    | .5 | .6    | .7    |
 +
----------------- | ------- | ------ | ------ | ------ | -- | ----- | -- | ----- | ----- |
 +
macOS Big Sur    | 11.0    | 900.12 | 900.12 |        |    |      |    |      |      |
 +
macOS Catalina    | 10.15  |        |        | 800.17 |    |      |    |      | 850.1 |
 +
macOS Mojave      | 10.14  |        |        |        |    | 740.1 |    | 760.6 |      |
 +
macOS High Sierra | 10.13  |        |        |        |    |      |    |      |      |
 +
macOS Sierra      | 10.12  |        |        |        |    |      |    | 506.1 |      |
 +
 
 +
(*) v740.1 needs to be verified.
 +
 
 +
### Alternative AVDECC Controllers
 +
 
 +
[L-Acoustics](https://www.l-acoustics.com/) provide a set of open source libraries for controlling AVB entities using the [[AVDECC]] protocol that is compliant with the [[Milan]] specifications of the [[Avnu Alliance]]. The libraries are available at https://github.com/L-Acoustics/avdecc.
 +
 
 +
[Pivitec](http://www.pivitec.com/) once produced AVB hardware that interfaced with the [[Avid S3L]] console. They provided their own AVDECC Controller to manage the hardware. It is still possible to download their [AVDECC Controller](http://www.pivitec.com/avdecc-controller/), although it has not been updated since mid-2015.
  
<<AVDECC Entity Controller>>
 
  
To see what streams are patched where, open the AVDECC Connection Matrix from the Window menu (or by typing Cmnd-4). **This tool can be used to patch Talkers and Listeners with each other.** Talkers are listed across the top, and Listeners across the left. In the image, the one patched connection [X] below reflects that the [[Avid:E3 Engine]] output stream for channels 1-8 is patched to a [[MOTU:Stage-B16]] input stream.
+
[[Category:macOS]]
 +
[[Category:AVB]]

Latest revision as of 13:42, 23 December 2020

`avbutil` is used for the management of AVB features and settings. It enables control of AVB entities using the AVDECC (IEEE 1722.1) protocol.

Typically, the Audio MIDI Setup application is enough for most users to manage their audio interfaces, including routing audio to/from an AVB audio interface. For those users needing more control over the AVB routing, or for those users who are simply curious about the deeper workings of AVB on macOS, the `avbutil` command is for them.

The `avbutil` command is included in macOS since macOS Sierra, which was the first macOS release supporting AVB. Coincidentally, it was also the first macOS release that supported Thunderbolt, which happens to be a corresponding requirement for supporting AVB on Mac hardware.


    1. AVDECC Entity Controller

The AVDECC Entity Controller window is used to see the available AVB devices on the network, and to see (and in some cases alter) their active configurations.

<tbody bgcolor="lightblue"></tbody>
💡Tip:The controller window is started by opening Terminal, and calling the `avbutil` command.

Direct method

``` $ avbutil --controller launch ```

Indirect method

``` $ avbutil avbutil 900.12

avbutil> controller ```

Once started, a window will appear that lists all the available AVB devices on the network. Here you can see three different MOTU audio interfaces that are currently connected.

AVDECC Entity Controller


    1. AVB Audio Entity Configuration

The AVB Audio Entity Configuration window shows the active configuration of an AVB audio entity.

<tbody bgcolor="lightblue"></tbody>
💡Tip:The configuration window is opened by selecting Audio Entity Configuration from the Window menu, or by typing Cmnd-1.

AVB Audio Entity Configuration

Entities can be selected by clicking on their names. In the image above, the MOTU 16A is currently selected. By default, no entities are selected.


    1. Simple Virtual Audio Entity Configuration

The Simple Virtual Audio Entity Configuration window allows the AVB capable Ethernet interfaces of the system to become active AVB entities on the network.

Once enabled, audio can be routed to/from the Mac as though it were an audio interface. This makes it possible for two Mac computers to exchange audio with one another over the network, and for one Mac to remotely manage the AVB connections of another mac using the AVDECC Entity Controller.

<tbody bgcolor="lightblue"></tbody>
💡Tip:The configuration window is opened by selecting Simple Virtual Audio Entity Configuration from the Window menu, or by typing Cmnd-2.

Simple Virtual Audio Entity Configuration


    1. AVDECC Connection Matrix

The AVDECC Connection Matrix window shows what AVB streams are patched where. This tool is used to patch AVB Talkers and AVB Listeners with each other.

<tbody bgcolor="lightblue"></tbody>
💡Tip:The matrix window is opened by selecting AVDECC Connection Matrix from the Window menu, or by typing Cmnd-4.

Talkers are listed across the top, and Listeners across the left.

AVDECC Connection Matrix

In the image above, one can see that the Stream 1 and 2 outputs of the MOTU 24Ai device are patched to the Stream 1 and 2 inputs of both the MOTU 16A and MOTU 24Ao devices. This means that both the 16A and 24Ao devices will receive exactly the same signals. (To note, MOTU AVB streams are 8 channels wide, so this example demonstrates the routing 16 channels of audio.)

The settings demonstrated can also be achieved using the MOTU Pro Audio Control user interface. Any changes made in the MOTU UI will also be reflected in real-time on the connection matrix UI.


    1. Appendix
      1. Known avbutil versions

OS | Version | .0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 |


| ------- | ------ | ------ | ------ | -- | ----- | -- | ----- | ----- |

macOS Big Sur | 11.0 | 900.12 | 900.12 | | | | | | | macOS Catalina | 10.15 | | | 800.17 | | | | | 850.1 | macOS Mojave | 10.14 | | | | | 740.1 | | 760.6 | | macOS High Sierra | 10.13 | | | | | | | | | macOS Sierra | 10.12 | | | | | | | 506.1 | |

(*) v740.1 needs to be verified.

      1. Alternative AVDECC Controllers

[L-Acoustics](https://www.l-acoustics.com/) provide a set of open source libraries for controlling AVB entities using the AVDECC protocol that is compliant with the Milan specifications of the Avnu Alliance. The libraries are available at https://github.com/L-Acoustics/avdecc.

[Pivitec](http://www.pivitec.com/) once produced AVB hardware that interfaced with the Avid S3L console. They provided their own AVDECC Controller to manage the hardware. It is still possible to download their [AVDECC Controller](http://www.pivitec.com/avdecc-controller/), although it has not been updated since mid-2015.