[prev in list] [next in list] [prev in thread] [next in thread] 

List:       voyage-linux
Subject:    [Voyage-linux] Control amplifier volume control through MPD: solution
From:       Muffinman <news () koster ! tk>
Date:       2013-08-18 14:00:59
Message-ID: 5210D39B.2030807 () koster ! tk
[Download RAW message or body]

Hello all,

A while back I asked on this mailinglist on how to control volume of an
amplifier via MPD through a serial connection (rs232/ttl). Time passed
without an answer, so I did some digging and learned C. While building
the app I figured I might as well expand compatibility. While it doesn't
support every amplifier (with a serial connection), it does have quit
broad support and can in some cases be extended if needed. In addition,
in combination with MPoD/MPaD it also give control over input, power,
and whatever options the amp has. Last, but not least: it syncs data
both ways, from computer to amp and back.

In short, the inner workings: applications such as MPD, but also
shairport (dev 1.0), have the option to use a different soundcard for
mixer controls. Therefore, we set MPD etc. to send volume control data
to a dummy soundcard. Alsa notifies the application volume has changed
which in turn sends the appropriate serial command to the amplifier. For
other options icm with MPoD/MPaD a small PHP script notifies the
application what to do. The amplifier in turn notifies the application
of any changes in volume, power, or input changes (if needed by explicit
request of the application).

Broad support is somewhat frustrated by strange decisions of
manufacturers to have a bit of silly serial command structures:
completely different commands & structures for incoming and outgoing
commands (Parasound) or have a completely different volume range for
incoming (-93, 14) and outgoing volume commands (-150, -50, Classe).
Anyways, in such cases support is limited (for now at least).

Initially I've created the app for Leema Acoustics, so that's 100%
supported. The following brands (fully or partially) supported:
Cambridge Audio, Classe, NAD, Parasound. Ayre should be supported, but I
don't have enough documentation on that to be sure. Cyrus can have
support if anyone cares. Other than Leema (and Classe to some extent) I
have not done any testing yet. But looking at the relevant documentation
and having hooked up my computer to Classe, NAD... it should work. Once
I have gotten myself the required cables I will hook them up and do some
real testing. Though anyone else willing to do some testing is very
welcome.

Enough introductory talk: after reading the few notes below, all files
and instructions can be downloaded at the ftp address below.
- I don't take any responsibility for anything that may or may not happen.
- The app is still in beta and needs further testing.
- Be very careful when installing and testing regardless of its beta
state: unplug speakers when testing or disconnect any sources. If
something goes wrong, either faulty configuration or a bug, volume could
go to unwanted heights (though I've never experienced that result).
- The application allows volume limits to be configured, use it. You
don't need to go to 100% volume through MPD, more likely, you don't want
that. So, don't configure it.
- Be careful of security. Anyone with access to your computer can modify
its configuration. Well, use your imagination, the results in potentia.
- Any suggestions/improvements of the code are welcome: I'm a beginner
and probably violate every rule in the book.

ftp://muffins.diskstation.me (guest login).

If any question, please do ask.

Kind regards, Maarten

_______________________________________________
Voyage-linux mailing list
Voyage-linux@list.voyage.hk
http://list.voyage.hk/mailman/listinfo/voyage-linux
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic