A while back I asked how to create a dummy volume control in Alsa, for Roon to detect and use. Since, I have figured out how to make that work. While I don’t think anyone cares for the answer in itself, the reason I needed the answer might interest some. This solution allows me to create a bit-perfect volume control for my hifi-amplifier in Roon. All it requires is the Roon Endpoint running on Linux and an amplifier that is actually controllable via a serial connection (RS232/TTL/inv-TTL), i2c, or network (said differently, the computer and the amplifier need to be able to communicate).
In a nutshell, the technical background: by creating a dummy volume control for the audio device/dac, a non-functional volume control is activated in Roon. I wrote an application to synchronize that dummy volume control with my amplifier (and back) via a serial connection.
Additionally, this application also allows for control of standby, input, etc. functionality of the amplifier via an http interface and via a command line trigger script. You can trigger the script with the method explained in this post: how-to-auto-switch-your-power-amp-with-ifttt
While I wrote this application for use with my Leema amplifier, I made it highly configurable to make it work with most (controllable) amplifiers. I tested it with Leema Acoustics, Lyngdorf, Cambridge Audio, Classé, and Dynaudio Connect (Xeo, Focus XD) equipment. It should work with a lot more, though.
I’m not going in to detail on the installation procedure here. While not difficult, it would get a bit too lengthy. Via the link below you can download the source code and you’ll find a number of manuals on the configuration options, general installation procedure and a few Roon specific steps. Also you’ll find a number of sample configuration files. This should make installation and configuration relatively easy. Any question on installation and/or configuration can be directed there (or here, whatever one prefers).
Any suggestions on improving the manuals and/or functionality are welcome. So are any working configuration files.