Yamaha Remote Head-Amp Control: A Saga 20 Years Too Late
29. Aug. 2025
Intro: How we got here
I'm working on kitting out a small local community centre with audio and video equipment. The goal is to be equally usable and comfortable to use for a local dance class, a film night, an award presentation, and a live band.
As part of this goal, I've been setting up a Q-Sys audio and control system (in the shape of a Core 110f). It's just the industry leader in flexible, scriptable control and audio DSP, with custom tablet GUIs, and extensible Lua modules. Great, that will cover the general use cases for connecting a playback device, controlling a projector, mixing a few microphones — that sort of thing. But for live music, a tablet-based mixer, even with all the features present, is just not ideal.
Enter, a fortuitous auction of older gear from a local AV hire outfit downsizing. For less than a second-hand iPad Pro (the minimum one would need for a decent touch-based mixer), I scored a Yamaha LS9-16 mixer in great condition. The LS9 is a highly-regarded workhorse of the industry, released in 2006, and sold for quite some time afterwards (I'm not sure exactly when they ceased). It also came with an MY16-AUD 16x16 Dante card, arguably itself worth a decent chunk of what it cost.
This is a great and capable little mixer, that I'd argue most anyone mixing a band or small musical would be happy to use, with 16 Auxes, 16 matrix outputs, 32 input channels, and built-in record/playback, effects racks and more.
But how do we get inputs and outputs from the console to/from the stage? I didn't have a stagebox/multicore/snake at first. I've since gotten hold of a few, but it's they are either too short, or too few channels. A good second-hand one of these also goes for over a thousand dollars, easily. Are there other options?
The MY16-AUD Dante card is the obvious answer! It supports 16 inputs and outputs, plenty for the application. And, it supports remote head-amp control! Great, so I just need a matching stagebox... ah.
Yikes.GIF
It turns out that the only supported Dante stageboxes for this console are the original Yamaha Rio-D series, the Rio1608-D, Rio3224-D, Ri8-D, and Ro8-D. And these are... veeeery pricey, when you can find them. AU$3000 plus, for the smallest one. That's as much as the entire rest of the project put together! Definitely not happening.
So what do we do? The sensible answer would be "forget using a Dante stagebox, and just use what analog snake you can find."
But I'm not here because I'm sensible. I'm here because of Autism.
The Vision
Fundamentally, we already have the key parts that are needed -- a Dante receiver, a console that supports remotely controlling the preamp (or "head-amp" as Yamaha calls it), and both a set of preamps and Dante transmitter in the Q-Sys Core 110f.
Close your eyes, and breathe in with me. Now out. Picture in your mind, a solution, gluing these three parts together. Uniting them in glorious audio matrimony. It would need to translate the head-amp commands of the LS9 console, into commands to the preamps inside the Q-sys frame, or other Dante preamps.
Imagine if this open-minded celebrant were writ in Lua, couched comfortably in Q-sys' ample bosom?
Imagine if I let this confused and disturbing metaphor die.
Part 1: "AD8HR? Now that's a name I've not heard in many a year."
The LS9 was released before the MY16-AUD Dante card, and before the Rio stageboxes. Which means, from a hardware perspective, it wasn't built with the intention of doing remote head-amp control over Dante (Ethernet) at all.
The folks at Yamaha had recently come out with their AD8HR remote analog to digital converter. This device converts 8 mic/line inputs, with HPF, 48V, and variable gain, to 4 AES3 pairs. Crucially, while it did have a front panel interface, the expectation was that these preamps would be controlled remotely from another device, usually a Yamaha console such as M7-CL, PM5D, etc, over RS422 serial. the AD8HR and consoles of this generation accordingly had DB9 connectors labelled "HA Remote" for this purpose.
This ability to perform local A>D conversion then pipe the digital audio back to the FOH position proved so popular that a number of companies including Optocore made sidecar products designed specifically to tunnel the AD8HR AES outputs and serial connection over fibre, to extend the range. Then this would connect to a dedicated Mini-YGDAI (Yamaha General Digital Audio Interface) card in the console, which neatly plumbed that into the console channels, up to 64 ins and outs depending on the device.
This led to a funny situation though, where the card had to have an external DB9 connector for the serial link, which would connect to the HA Remote port on the same console, via a jumper cable. It looked a bit silly. (See example here)
With the LS9, Yamaha quickly adapted and designated some pins on the Mini-YGDAI port as HA Remote serial pins. Now, cards could connect directly to the console without needing a jumper cable. And there was no longer a need for a separate DB9 connector on the rear of the console.
This variation in consoles leads to the odd set of options on the MY16-AUD card. It has an HA Remote DB9 connector, which supports 4 modes of operation (Copied from the MY16-AUD User Guide):
Mode | Name | Description |
---|---|---|
Mode 1 | Slot ↔ DB9 Active, Network Inactive | HA Remote data is bridged between the host device and the DB9 ('Serial') port on the Dante-MY16-AUD card, but is not transmitted across the Dante network. |
Mode 2 | Slot ↔ Network Active, DB9 Inactive | HA Remote data is bridged between the host device and the Dante network (via the Dante Ethernet ports), but is not bridged to the DB9 ('Serial') port on the Dante-MY16-AUD card. |
Mode 3 | DB9 ↔ Network Active, Slot Inactive | HA Remote data is bridged between the DB9 ('Serial') port on the Dante-MY16-AUD card and the Dante network, but is not bridged to the host device. |
Mode 4 | All Inactive | HA Remote data is not bridged at all. This is the default mode. |
Putting this together, we can see that Mode 1 is basically bypassing the card, and just providing access to the HA Remote serial link that is only available on the slot breakout in the LS9. Mode 2 is what we need to do HA control over Dante! It will somehow convert the HA Remote serial in the slot connector, to go over Dante. Why, we'll get to that. Mode 3 is what's needed for HA control over Dante for consoles without the in-slot HA remote -- hopping out of Dante to the DB9 connector. But from the Dante side, identical.
Of course all this isn't much use, if the much-loved AD8HR doesn't support Dante...
But the MY16-AUD card came out with the hot new thing -- Yamaha's own Dante stage box series, the Rio-Ds! Rio1608-D and Rio3224-D stageboxes, as well as the Ri8-D and Ro8-D single-RU devices that weren't so popular.
Okay, great, now there are Dante stage boxes! But how do we control them from pre-Dante-era consoles? The answer is right there -- the HA Remote serial protocol for the AD8HR.
From the Rio-D series manual again:
Switch | Setting | Description |
---|---|---|
5 ⬆️ 6 ⬆️ | NATIVE | An Rio-native device will control the Rio. |
5 ⬇️ 6 ⬆️ | AD8HR | A non-Rio-native device will control the Rio as AD8HRs. In this case, Rio3224-D and Rio1608-D are recognized as four AD8HRs and two AD8HRs respectively. Set the UNIT ID number between 1 and F. The unit with any other UNIT ID numbers will not be controllable. |
Aha! So the Rio stageboxes present, over the Dante-encapsulated HA Remote protocol, as a set of AD8HRs, to the consoles that only know how to control them. Cool.
There is, of course, zero documentation of this protocol, not even a leaked PDF.
So if we want to replicate this functionality using Q-sys, we should be able to do a bit of reverse-engineering.
Part 2: Reverse Engineering like a game of Telephone
The nicest RE path would be to hook the LS9 up to an AD8HR with a tap on the serial line to record their chatter. Then we could move on to working out how that's encapsulated by the Dante card.
Blocker one: I don't have access to an AD8HR, nobody has seen one round here for ages.
However, while searching about them, I came across a piece of charmingly-2000s software called "YamMon". It, reportedly, could remotely control an AD8HR over serial, without needing a Yamaha console. Sort of the opposite of what I'm doing, but perhaps it could be useful?
Thanks to a friend, I obtained a copy of this long-defunct software, and we got it running on a Windows 10 VM (it turns out it had an undocumented requirement for Visual C++ Runtime 2005 32-bit, without which it would crash).
Ta-da, it runs! But it's clearly waiting for something.
Well, short of any better lead, let's have a look at what it does.
I installed a windows serial loopback utility, com0com, and the Termite serial emulator, which supports hexadecimal mode.
With COM3 and COM4 setup as a loopback pair, I connected Termite to COM3 and YamMon to COM4.
and, ooh. that's something.