Difference between revisions of "Avbutil"

From musings of k8
Jump to navigation Jump to search
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                | Version | .0 | .1 | .2 | .3 | .4 | .5 | .6 | .7
 
----------------- | ------- | -- | -- | -- | -- | -- | -- | -- | --
 
macOS Big Sur    | 11.0    | | 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.
+
## AVDECC Entity Controller
  
## AVDECC Entity Controller
+
The AVDECC Entity Controller is used to see the available AVB devices on the network, and to see (and in some cases alter) their active configurations.
  
The AVDECC Entity Controller can be started from the *Terminal*.
+
The controller is started by opening [[Terminal]], and calling the `avbutil` command.
  
 
```
 
```
 
$ 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.
 +
 
 +
[[File:AVDECC_Entity_Controller.png|955px|alt=AVDECC Entity Controller]]
  
{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 below, 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.
+
## AVDECC Connection Matrix
 +
 
 +
The AVDECC Connection Matrix shows what AVB streams are patched where. This tool is used to patch [[AVB Talker]]s and [[AVB Listener]]s with each other.
 +
 
 +
The matrix is started by first starting the AVDECC Entity Controller (see above), then opening the AVDECC Connection Matrix from the Window menu, or by typing Cmnd-4. Talkers are listed across the top, and Listeners across the left.
 +
 
 +
[[File: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
 +
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
  
{AVDECC Connection Matrix}
+
[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 to [[Avnu Milan]] specifications. The libraries are available at https://github.com/L-Acoustics/avdecc.
  
## Pivitec AVDECC Controller
+
[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.
[Pivitec](http://www.pivitec.com/) once produced AVB hardware that interfaced with the Avid S3L console. It is still possible to download their [AVDECC Controller](http://www.pivitec.com/avdecc-controller/), although it has not been updated since mid-2015.
 
  
  
 
[[Category:macOS]]
 
[[Category:macOS]]
 
[[Category:AVB]]
 
[[Category:AVB]]

Revision as of 22:14, 15 November 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 is used to see the available AVB devices on the network, and to see (and in some cases alter) their active configurations.

The controller is started by opening Terminal, and calling the `avbutil` command.

``` $ 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. AVDECC Connection Matrix

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

The matrix is started by first starting the AVDECC Entity Controller (see above), then opening the 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 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 to Avnu Milan specifications. 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.