I am running Arch Linux on an old Dell desktop with HDMI output. The HDMI output is connected to a TV. This configuration has worked well for both audio and video (eg youtube, kodi, rhythmbox). I have installed MPD and Cantata as a client. All works well except that the audio volume is extremely low and I cannot vary it up or down. If I plug earphones into the headphone jack on the computer, The sound is acceptable, but needs the volume turned up to 100%.

This is the response from mdb --version:
******************************************************

Music Player Daemon 0.21.12 (0.21.12)
Copyright 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright 2008-2018 Max Kellermann <max.kellermann@gmail.com>
This is free software; see the source for copying conditions. There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

.. to the ALSA output section. This reduces quality by discarding a few bits of precision, but I've seen some DACs misinterpret "unusual" bit depths (i.e. not 16 bit), so this may work around such a DAC bug.

Note that you chose to use software volume. This disables bit-perfect playback; it's better to use no MPD volume control at all, and only control volume only with your TV's remote control.

Paste the output of "aplay -l".
After that, paste the output of "cat /proc/asound/card0/pcm0p/sub*/[sh]w_params" while MPD plays (being too silent), and again while a different software plays which has "good" volume.

**********************************************
I tried to play audio from other sources (rhythmbox, youtube) after closing cantata and stopping mpd, but no audio would play until I rebooted the computer. After rebooting, rhythmbox played normally and then

output of "cat /proc/asound/card0/pcm0p/sub*/[sh]w_params" while rhythmbox was playing:

**************************************************
After obtaining the above I stopped mpd and closed cantata. At that point there was no audio from rhythmbox or youtube until I rebooted the system. When the system came up, mpd was not running (iI have started and stopped it without enabling it so far. Rhythmbox and youtube played audio properly after rebooting.

Here is the output of cat /proc/asound/card0/pcm0p/sub*/[sh]w_params with rhythmbox playing:
closed
closed
*****************************************************

I thought I had posted this reply, but I didn't see it on your forum. I hope I'm not posting all of this twice.

So you have two devices: one for analog output (to headphones) and one for HDMI output.
Your MPD config uses analog output only; nothing should be on the HDMI output. Stupid question: is the audio volume so low because your laptop's tiny speakers do the output and not your TV?
Anyway, I assume Rhythmbox and Youtube use the HDMI output (that would be `cat /proc/asound/card0/pcm3p/sub*/[sh]w_params` instead).
If you want MPD to output to HDMI, you need to tell it to do so. For example, by configuring the device "hw:0,3" instead of "hw:0,0".

Thanks. Changing "hw:0,0" to "hw:0,3" did solve the problem. I confess that I am ignorant of the exact meaning of the "hw:0,3" statement. I see that the "3" means HDMI3, but what is the meaning of the rest of it? Thanks again. The problem is solved.