Testing Phantom Power

I’m the proud owner of an Earthworks M30 30kHz measurement microphone, which I use it to measure and calibrate sound systems using Smaart v8 from Rational Acoustics, along with a MOTU UltraLite mk3 audio interface.

Background

A few of years ago, I was attempting to measure a system, but had the strange behavior that after 15s or so, the signal from the microphone faded away completely, making it impossible to calibrate the system. I eventually realized that by swapping the 10m XLR cable I was using for a 3m cable, the problem went away.

As I’d used the setup without issue in the past, I assumed the issue was the with the particular XLR cable itself, but eventually realized that the longer cables produced hit-and-miss results, and that I needed to dig deeper into the problem. I also realized that I had always connected the mic through the console of the system I was measuring (to ensure I was calibrating the full path), but on this occasion I was calibrating directly with the interface as customers were expected to provide their own console, and only the system was a fixed installation.

As my father has decades of experience in audio, he was my first source for troubleshooting. He suggested that the mic had a high impedance, and that the 10m cable would cause issues with such a high impedance. Contacting MOTU, they also suggested that the mic might be the issue. The M30 model I own is a 600Ω impedance model which I’ve owned for 7y+.

With this information, I contacted Earthworks directly. After some discussion of the issue via email, Earthworks suggested that the impedance of the older M30 models might only be part of the issue, and that my audio interface might not be capable of maintaining 48V phantom with the longer cables. They provided me with a test procedure which I could use to verify my setup experimentally.

Testing

Phantom power test procedure

To perform the tests, I needed to build a cable. As I didn’t have a 47Ω resistor, I used a 50Ω resistor instead as it was close enough.

Rather than only check my UltraLite mk3, I set about testing the phantom power every XLR mic inputs that I had available to me at home at the time. I studied Physics in university, and doing experiments like this interest me!

The results below are based on the various document sections of the test procedure.
1.A. Measure voltage between pins 1 (neg) and 2 (pos). Expect 48V DC (±1V).
1.B. Measure voltage between pins 1 (neg) and 3 (pos). Expect 48V DC (±1V).
2.B. Measure current between resistor and pin 2. (47Ω resistor across pins 1 & 3; 47Ω resistor from pin 1). Expect >= 6.2 mA.
2.C. Measure voltage from above. Expect close to 48V DC.

1.A (V)1.B (V)2.B (mA)2.C (V)
Avid S3L-X E3 Engine48.2548.28747.59
M-Audio ProFire 610 (FireWire)49.4849.49748.17
Mackie 802VLZ447.3347.34746.8
MotU 828mk348.0148.01541.8
MotU UltraLite mk3 (FireWire)48.348.31541.5
MotU UltraLite mk3 (external)48.348.31542.16
MotU UltraLite AVB4949.05631.8

Results

The clear result was that none of my MotU devices were not capable of providing phantom power necessary to drive my Earthworks M30 mic.

After presenting the results to Earthworks, they informed me that they offer replacement circuity for the M30 to convert it from 600Ω to 150Ω. I chose to keep the microphone in its original state, and I instead purchased the ART Phantom II Pro that was recommended in the testing document. With the inclusion of that device, I have had no further problems with my setup, and I continue to use the MOTU UltraLite mk3 successfully for measurement and calibration.

As a follow-up, I contacted MOTU with the results of my tests. It turns out that all of the devices are somewhat older, and that their newer devices apparently have fixes for this particular issue. I haven’t had a chance to verify the results experimentally though.

Avid S3L Remote Power On

The ICF recording studio where I do mixing for live video and internet broadcasts for is, shall we say, small. Due to its small size and the presence of multiple large screens, it can become quite warm, despite fans to help cool it.

ICF Recording Booth

To remove a source of heat generation, I moved the Avid E3 Engine outside and on top of the booth, a change that both made it quieter and much cooler. (Note, we use a separate console for recording our bands in the studio, so the E3 fan noise doesn’t cause any problems as it is normally powered off.)

Placing the device outside though means I cannot as easily flip the power switch to power it on. To get around this limitation, I did some research and found that I can power the device on using the Ethernet Wake-on-LAN protocol.

Avid E3 Engine

To remotely wake the E3 engine, you need three things:

  1. A computer that is connected to the same Ethernet network as the E3 engine. If VLANs are in use, they must be on the same VLAN.
  2. The MAC address for the engine. The MAC address is available under the Options > Devices tab and right-clicking on the E3 engine image.
  3. The IP subnet address of the network. (Optional,  depending on the software used.)

Software for remotely waking the E3 engine.

There are several software packages available to send the special Wake-on-LAN Magic Packet.

Mac

  • Wake On Lan by Depicus (Mac App Store, $1.99)
  • Remote Desktop  (Apple, $79.99) – Also useful for controlling the S3L-X remotely.

Windows

Command-line

For those comfortable with the command-line, a short Python script will also do the job. Save this script somewhere as wakeonlan.py and make it executable with chmod +x. Myself, I keep a copy of the script in my ~/usr/bindirectory.

#!/usr/bin/env python
# https://apple.stackexchange.com/questions/95246/wake-other-computers-from-mac-osx

import socket
import sys

if len(sys.argv) < 3:
    print "Usage: wakeonlan.py <ADR> <MAC>     (example: 192.168.1.255 00:11:22:33:44:55)"
    sys.exit(1)

mac = sys.argv[2]
data = ''.join(['FF' * 6, mac.replace(':', '') * 16])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(data.decode("hex"), (sys.argv[1], 9))

To wake my system, I call the  script like below, where 172.16.0.255 is the subnet of my network, and 00:90:fb:4a:13:9e the MAC address of my E3 engine.

~/usr/bin/wakeonlan.py 172.16.0.255 00:90:fb:4a:13:9e

Avid Stage 16

Unfortunately, the Stage 16 Box cannot be remotely power cycled without additional equipment. I haven’t set this up yet, but my plan would be to use one of the devices below to enable remote power on/off of the device.

HyperDeck multi-mono audio to surround

I recently made a recording with a Blackmagic Design HyperDeck 12G from an HDMI source which had 5.1 audio. Unfortunately, the HyperDeck recorded 16 independent mono channels, which meant that everything was on the center channel when I imported it into Final Cut Pro X. In addition, the C and LFE channels were swapped in the same manner that Media Express swaps them.

To fix the issue, I was able to use a similar command to what I used for fixing recordings from Media Express (see my post on that issue). The one change was using “-map 0:1” as the HyperDeck stores the video as Stream #0. This command has the nice side-effect of stripping the extra unused audio channels from the file, which also reduces the file size.

ffmpeg -i input.mov \
-c:v copy \
-filter_complex \
"pan=6c|c0=c0|c1=c1|c2=c3|c3=c2|c4=c4|c5=c5[out1]" \
-map 0:1 -map [out1] -c:a pcm_s24le \
output.mov

I also have some 7.1 sources, and for them I’ll be using a slightly modified version of the command.

ffmpeg -i input.mov \
-c:v copy \
-filter_complex \
"pan=8c|c0=c0|c1=c1|c2=c3|c3=c2|c4=c4|c5=c5|c6=c6|c7=c7[out1]" \
-map 0:0 -map [out1] -c:a pcm_s24le \
output.mov

Media Express C/LFE channel swap

Media Express by Blackmagic Design incorrectly swaps the C (Center) and LFE (low-frequency effects) channels on 5.1 surround material. This can be fixed using the ffmpeg command.

TL;DR

I recently purchased a Blackmagic Design UltraStudio 4K to do some recording from HDMI sources. Recordings must be made using the provided Media Express software, which is fine, except for the fact that the C and LFE audio channels are swapped in 5.1 material. As you can see in this screenshot, the spoken word coming through the center channel is on channel #4 instead of channel #3.

For reference

  • The standard 5.1 channel order for Wave files is: L, R, C, LFE, Ls, Rs
  • The non-standard Media Express 5.1 channel order is: L, R, LFE, C, Ls, LR

After significant troubleshooting, I found a solution using ffmpeg from the command-line to swap the C and LFE channels. The remaining steps require a working ffmpeg installation. I haven’t found a standalone version for macOS, but it is available via Homebrew.

HOWTO: Swap C and LFE channels on .mov file written by Media Express. Replace the input.mov and output.mov filenames as appropriate. The actual magic happens with the c2=3|c3=2 part of the –filter_complex flag.

ffmpeg -i input.mov \
-filter_complex "pan=6c|c0=c0|c1=c1|c2=c3|c3=c2|c4=c4|c5=c5[out1]" \
-map 0:0 -c:v copy \
-map [out1] -c:a pcm_s24le \
output.mov

If by chance you’ve already worked on a broken file with Final Cut Pro and want to fix the channel ordering on the exported file, the command is only slightly different—change the -map 0:0 to -map 0:1. FCP writes video as stream #0 and audio as stream #1, whereas ME writes audio as stream #0.

ffmpeg -i input.mov \
-filter_complex "pan=6c|c0=c0|c1=c1|c2=c3|c3=c2|c4=c4|c5=c5[out1]" \
-map 0:1 -c:v copy \
-map [out1] -c:a pcm_s24le \
output.mov

References

  • [Blackmagic Forum] Audio: LFE and Center channels being switched. I made a post on Jan 19, 2019 with similar information to that above.

My quest to get MIDI working on the Avid S3L

During large productions, my team uses QLab to play various sound effects, and to trigger snapshots changes on our Avid D-Show mixing console. I’d like to make use of the same triggers on the Avid S3L we use for our video mix, but unlike the D-Show it doesn’t have built-in MIDI.

According to the Avid Knowledge Base, the Roland UM-One MK 2 is officially supported, but that other class-compliant USB MIDI interfaces should also work. I don’t have the Roland, so over time I’ll try out various interfaces that I come across to see what I can get working.

If you know of a MIDI interface that works with the S3L-X, leave a comment and I’ll add it to the list.

Device Works? Tested Notes
MOTU 828mk3 No 2018-11-18
MOTU Stage-B16 No 2018-11-18
MOTU UltraLite-mk3 Hybrid No 2018-11-18 USB mode requires external power.

McDSP VENUE 6.4.0.15+ plug-ins don’t work on Avid S3L-X

I tried installing the latest versions of the McDSP VENUE plug-ins on my Avid S3L-X today, but they don’t work. The announcement says they are for the S6L, but all past versions have also worked on the S3L, so I’d hoped they would continue working. Alas, they don’t. Stick with the older 6.3.0.11 release.

The specific behaviour I see is that the plug-ins install successfully, as I’d expect, but when I open a show file using one of the plug-ins, they appear with the yellow/red triangle and are listed as “not available”. Plug-ins that I don’t have loaded in the current show file don’t even appear in the tree of available plug-ins, although they are listed on the plug-ins install page.

To get back to working plugins, I downgraded my plug-ins to the previously working version of the VENUE 6.3.0.11 bundle installer.


[Update: 2019-03-03] McDSP released a new VENUE S6L Installer v6.5.0.12. I tried it, and it doesn’t work. They continue not listing support for the S3L, so I’m saddened, but not surprised.

[Update: 2018-10-16] I fixed the link to the VENUE 6.3.0.11 bundle installer. I had incorrectly pointed to a nonexistent 6.4.0.11 version.

[Update: 2018-09-06] McDSP released a new 6.5.0.3 plug-in version for Windows that supports iLok Cloud. I tried this version (via manual install), and it also does not work.

[Update: 2018-09-04] I noticed today that the term “S3L” was removed from the VENUE installer on the McDSP Downloads page, and only the S6L is listed as supported for the 6.4.0.15 release. I’m guessing they have unofficially dropped support for the S3L, although I can’t find any other confirmation to that effect.

[Update: 2018-09-01] I tried manually downloading and installing the 6.4.0.14 version of the EC300 and NR800 plug-ins on a separate Windows machine, copied the installed plug-ins to a USB stick, and installed them on my S3L-X. This also did not work. (I’ve successfully used this method in the past to install the SA-2 Dialog Processor before it was included in the VENUE bundle installer, so I know it works.)

My Audioquest DragonFly Red works on macOS High Sierra again!

I don’t know what Apple is doing with audio timing in macOS High Sierra, but they have serious quality control issues in this area. See my post on Avid S3L-X, AVB, and macOS High Sierra for other troubles I’m having.

When Apple released 10.13.2, my Audioquest DragonFly Red started having strange issues. Similar to the clicking issue with AVB, I was having strange timing issues that sounded like phasing, almost like the individual waveform samples were being triggered at a different clock rate than the audio device. It wasn’t constant, but frequent and annoying enough that I gave up using the device. I wasn’t the only one having the issue.

In any case, 10.13.4 fixed my Dragonfly issues, so I’m again happy.

Avid VENUE S3L-X, AVB, and macOS High Sierra

Long story short, if you need use an Avid S3L-X with macOS and playback via AVB, do not install macOS High Sierra. macOS Mojave works fine, as does the older macOS Sierra, but High Sierra has clocking issues that manifest as constant clicking during playback, rendering the audio unusable.

If all you need to do is record via AVB, macOS High Sierra works without issue.

References

Note, all versions of macOS High Sierra through 10.13.6 are affected.

[Update 2019-03-03] I continue to have no problems with macOS Mojave (currently 10.14.3).
[Update 2018-09-29] Preliminary testing with macOS Mojave (10.14.0) and 64-channel recording and playback indicates that the AVB problems have been fixed.
[Update 2018-07-28]
Increased affected versions to 10.13.6.
[Update 2018-06-05]
Increased affected versions to 10.13.5.
[Update 2018-03-31]
Increased affected versions to 10.13.4.

Booting an Avid S3L-X remotely with Wake-on-LAN

E3 Engine

The E3 engine can be remotely powered on and started using the Wake-on-LAN protocol.

To remotely wake the E3 engine, you need three things:

  1. A computer that is connected to the same Ethernet network as the E3 engine.
  2. The MAC address of the engine. You can get the MAC address by going to the Options > Devices tab and right-clicking on the E3 engine image.
  3. The IP subnet address of the network. (Optional, depending on the software used.)

To shut the E3 engine down, use the VENUE Options > System > Shutdown button.

Software to wake the E3 engine

There are several software packages available to send the special Wake-on-LAN Magic Packet.

Mac

  • Wake On Lan by Depicus (Mac App Store, $1.99)
  • Remote Desktop (Apple, $79.99) – Also useful for controlling the S3L-X remotely.

Windows

  • MagicPacket by DecaTec (Microsoft Store, Free)
  • Wake On Lan by Sepiro Ltd (Microsoft Store, Free)

Command-line

For those comfortable with the command-line, a short Python script will also do the job. Save this script somewhere as wakeonlan.py and make it executable with chmod +x.

#!/usr/bin/env python
# https://apple.stackexchange.com/questions/95246/wake-other-computers-from-mac-osx

import socket
import sys

if len(sys.argv) < 3:
 print "Usage: wakeonlan.py <ADR> <MAC> (example: 192.168.1.255 00:11:22:33:44:55)"
 sys.exit(1)

mac = sys.argv[2]
data = ''.join(['FF' * 6, mac.replace(':', '') * 16])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
sock.sendto(data.decode("hex"), (sys.argv[1], 9))

Myself, I keep a copy of the script in my ~/usr/bin directory. To wake my system, I call the command like this, where 172.16.0.255 is the subnet of my network, and 00:90:fb:4a:13:9e the MAC address of my E3 engine.

$ ~/usr/bin/wakeonlan.py 172.16.0.255 00:90:fb:4a:13:9e

Stage 16 Box

The Stage 16 Box cannot be remotely power cycled without additional equipment. Some suggestions include:

  • Furman CN-1800S + Furman BB-RS232 giving control via Ethernet.
  • Furman M-8S (US) or the Furman PS-8RE III (Europe) connected to the GPIO connection from the E3 engine, along with an event (saved in the default show) to latch a GPIO when the system is started. Attempt only if you feel comfortable with electronics. If you would like me to build this setup and demonstrate it, send me an email.