[Jack-Devel] How does --hwmon work?

Ralf Mardorf ralf.mardorf at alice-dsl.net
Sat May 6 09:49:56 CEST 2017


On Fri, 05 May 2017 19:14:52 +0200, David Kastrup wrote:
>> A compromise might be to control the DAW mixer and independently to
>> control the hardware mixer, too, IOW something like hdspmixer
>> controlable by MIDI events. Do a lot of people need it?  
>
>Not enough if _every_ _single_ soundcard needs its own mixer
>application coded from scratch.  If one creates a common useful Jack
>API for gained connections that one mixer application can work with,
>there will certainly be enough need to provide a Midi controlled mixer
>capable of using hardware mixing where available.

That's absurd, since the different sound cards provide completely
different routing features. If you mix a project with a DAW, then the
software mixer should be completely separated from the hardware mixer.

If you want to get all in one, consider to just use the I/Os of an
audio interface and to buy the right tool for that task, a separated
mixing console [1].

>> EQs, Reverb and delay would be nice for the hardware monitoring, too
>> and indeed, proprietary software for a lot of audio interfaces
>> provide this.  
>
>For hardware monitoring?  Hardly.  At driver level?  Maybe.  But then
>it's not fundamentally different to Jack plugins.

Yes, hardware monitoring done with an external mixing console [1] very
often is done by adding effects to the monitor signal, so some
proprietary audio interface software provides this for the audio
interface's hardware monitoring, too.

The audio interface's hardware monitoring is done at driver level, while
the software could be split to the driver and mixer software, the
access to the hardware monitoring still is part of the driver.

Jack plugins? Driver level? Jack is a sound server using a backend such
as ALSA.

Keep in mind that it's common practise to use real mixing consoles [1]
and/or to use the audio interface's hardware mixer in addition to the
DAW's mixer. Most people do not have the same needs as you have got
[2].

I'm using hdspmixer for my RME audio interface. My Focusrite isn't
supported, so I'm using it class compliant, without the option to have
access to the hardware monitoring. Actually a driver for other Focusrite
interfaces from the same series exists and I much likely only need to
add an ID to the driver's source code and build it, to get access to
the hardware monitoring, but I simply don't need it. A lot of people
don't need hardware monitoring provided by the audio interface. Those
who need it, usually like to use the separated audio interface's
hardware mixer. I never heard from anybody who shares the same need as
yours. There are for sure people who share your wish, but you will not
find that many who do so, that seemingly is the reason that nobody
wrote the code you wish to have.

Regards,
Ralf

[1] not necessarily an analog mixing console, it just means that it is
a mixing console and not just a remote control. However, even a
separated mixing console, analog as well as digital, could send and
receive data from a DAW or use it's own automation sequencer synced to
the DAW. OTOH a cheap mixing console already could be used to separate
the real mix, probably just done by a software mixer and the monitor
mix, done by the cheap mixing console. So you could put the remote
control for the DAW's mixer and the mixing console to each other. If you
want to do the complete mix with a mixing console, you have to get one
in a different price segment, to get professional sound quality, but
then you really get all in one.

[2]
On Thu, 4 May 2017 17:35:24 -0500, Chris Caudle wrote:
>I found this reply from Paul Davis (original jackd author/designer) for
>essentially the same question from many years back:
>
>---------------------------
>On Fri, Aug 27, 2010 at 3:29 PM, Niels Mayer <[hidden email]> wrote:
>> Finally reading the jackd manpage again (
>> http://linux.die.net/man/1/jackd ) I notice
>> -H, --hwmon  
>
>Most people do not use this. It is entirely replaced by using a h/w
>specific utility (such as hdspmixer or envy2ctl) to control signal
>routing. The one benefit that it has is that it means that JACK
>*applications* can control that kind of routing, which early in the
>life of Ardour seemed kind of important. It no longer seems very
>important.
>If you're already using a h/w specific utility for this purpose, then
>don't use -H.



More information about the Jackaudio mailing list