Bit Perfect Audio from Linux
Apr 28, 2016 at 1:03 PM Post #406 of 543
  I follow those instructions. I have an EMU Creative DAC, but when I put a custom "hw:EMU0404" command inside alsa device in gmusicbrowser the music plays accelerated. If I clear that commend and leaves empty, plays fine. I'm trying to get the best sound I can with that nice soundcard. Any ideas how to fix it?
 
https://dl.dropboxusercontent.com/u/69141415/Screenshot%20from%202016-04-25%2022%3A45%3A13.png
https://dl.dropboxusercontent.com/u/69141415/Screenshot%20from%202016-04-25%2022%3A45%3A23.png

 
When I used my 0404 via ALSA I found I had to either adjust the sample rate slider in alsamixer or record something to get it to work right. It's a bit of a fussy beast. Even now being back on Pulseaudio I still have to make sure to turn the E-MU on before I plug it in to USB, or it just hangs.
 
Apr 29, 2016 at 10:28 PM Post #409 of 543
  Mine is PCI: http://media.soundonsound.com/sos/sep04/images/emu0404.l.jpg
 
How can I access to the sample rate slider in alsamixer?

 
For me, I select the E-MU as the soundcard and then the slider is labeled "Clock rate Selector."
 
Jul 6, 2016 at 4:32 AM Post #410 of 543
This is an amazing thread.  I've learned quite a few things.  Thank you all. 
 
I am in the process of setting up a small Linux box to power my stereo system.  It appears I'm doing something slightly new as I haven't been able to Google a solution to my problem. . . but I know I'm close! 
 
I have a miniDSP "usbstreamer b" device powering a miniDSP 4x10HD device that's plugged into my amplifiers.  The usbstreamer takes a usb input.   I am trying to determine how to set up ALSA so that I can serve my music using MPD, direct to ALSA. 
 
What I *can* do is: 
 
 - set up MPD to play music locally on my laptop using Pulse. 
 
 - play music to the miniDSP using either (a) Jack -> ALSA -> usbstreamer or (b) Deadbeef -> ALSA . I thank this thread for informing me about deadbeef.   So easy to set up!
 
My current problem is (1) I can't get mplayer to play direct to my usbstreamer device, without using something like Jack. (2) MPD isn't currently able to play to the usbstreamer. 
 
I imagine I need to tweak my /var/lib/alsa/asound.state file (I'm running Ubuntu 16.04) and the /etc/mpd.conf file. . . but I'm unsure what to do.   Any advice? Bit-perfect performance would be great, but anything close would make me very happy.  Especially in the beginning I would like the system to be fairly robust, converting 16-bit to 24-bit for the purpose of sending to the USB device.  My usb device is 24-bit only, even though ALSA thinks its S32_LE. 
 
aplay -L:
 
 
 default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
sysdefault:CARD=PCH
    HDA Intel PCH, ALC269VC Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
dmix:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    Direct sample mixing device
dsnoop:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    Direct sample snooping device
hw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    Direct hardware device without any conversions
plughw:CARD=PCH,DEV=0
    HDA Intel PCH, ALC269VC Analog
    Hardware device with all software conversions
sysdefault:CARD=USBStreamer
    USBStreamer, USB Audio
    Default Audio Device
front:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Front speakers
surround21:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Direct sample mixing device
dsnoop:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Direct sample snooping device
hw:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Direct hardware device without any conversions
plughw:CARD=USBStreamer,DEV=0
    USBStreamer, USB Audio
    Hardware device with all software conversions
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 1
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 2
    HDMI Audio Output
dmix:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample mixing device
dmix:CARD=NVidia,DEV=7
    HDA NVidia, HDMI 1
    Direct sample mixing device
dmix:CARD=NVidia,DEV=8
    HDA NVidia, HDMI 2
    Direct sample mixing device
dsnoop:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=7
    HDA NVidia, HDMI 1
    Direct sample snooping device
dsnoop:CARD=NVidia,DEV=8
    HDA NVidia, HDMI 2
    Direct sample snooping device
hw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=7
    HDA NVidia, HDMI 1
    Direct hardware device without any conversions
hw:CARD=NVidia,DEV=8
    HDA NVidia, HDMI 2
    Direct hardware device without any conversions
plughw:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 0
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=7
    HDA NVidia, HDMI 1
    Hardware device with all software conversions
plughw:CARD=NVidia,DEV=8
    HDA NVidia, HDMI 2
    Hardware device with all software conversions
 
 

 
deadbeef works with the hw:USBStreamer device without problems. 
 
/var/lib/alsa/asound.state:
 
 
state.PCH {
    control.1 {
        iface MIXER
        name 'Speaker Playback Volume'
        value.0 87
        value.1 87
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 87'
            dbmin -6525
            dbmax 0
            dbvalue.0 0
            dbvalue.1 0
        }
    }
    control.2 {
        iface MIXER
        name 'Speaker Playback Switch'
        value.0 true
        value.1 true
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.3 {
        iface MIXER
        name 'Headphone Playback Volume'
        value.0 0
        value.1 0
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 87'
            dbmin -6525
            dbmax 0
            dbvalue.0 -6525
            dbvalue.1 -6525
        }
    }
    control.4 {
        iface MIXER
        name 'Headphone Playback Switch'
        value.0 false
        value.1 false
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.5 {
        iface MIXER
        name 'Headphone Playback Switch'
        index 1
        value.0 true
        value.1 true
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.6 {
        iface MIXER
        name 'Loopback Mixing'
        value Enabled
        comment {
            access 'read write'
            type ENUMERATED
            count 1
            item.0 Disabled
            item.1 Enabled
        }
    }
    control.7 {
        iface MIXER
        name 'Mic Playback Volume'
        value.0 0
        value.1 0
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 31'
            dbmin -3450
            dbmax 1200
            dbvalue.0 -3450
            dbvalue.1 -3450
        }
    }
    control.8 {
        iface MIXER
        name 'Mic Playback Switch'
        value.0 false
        value.1 false
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.9 {
        iface MIXER
        name 'Dock Mic Playback Volume'
        value.0 0
        value.1 0
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 31'
            dbmin -3450
            dbmax 1200
            dbvalue.0 -3450
            dbvalue.1 -3450
        }
    }
    control.10 {
        iface MIXER
        name 'Dock Mic Playback Switch'
        value.0 false
        value.1 false
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.11 {
        iface MIXER
        name 'Auto-Mute Mode'
        value Enabled
        comment {
            access 'read write'
            type ENUMERATED
            count 1
            item.0 Disabled
            item.1 Enabled
        }
    }
    control.12 {
        iface MIXER
        name 'Capture Volume'
        value.0 38
        value.1 38
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 63'
            dbmin -1725
            dbmax 3000
            dbvalue.0 1125
            dbvalue.1 1125
        }
    }
    control.13 {
        iface MIXER
        name 'Capture Switch'
        value.0 true
        value.1 true
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.14 {
        iface MIXER
        name 'Mic Boost Volume'
        value.0 0
        value.1 0
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 3'
            dbmin 0
            dbmax 3000
            dbvalue.0 0
            dbvalue.1 0
        }
    }
    control.15 {
        iface MIXER
        name 'Dock Mic Boost Volume'
        value.0 0
        value.1 0
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 3'
            dbmin 0
            dbmax 3000
            dbvalue.0 0
            dbvalue.1 0
        }
    }
    control.16 {
        iface MIXER
        name 'Internal Mic Boost Volume'
        value.0 0
        value.1 0
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 3'
            dbmin 0
            dbmax 3000
            dbvalue.0 0
            dbvalue.1 0
        }
    }
    control.17 {
        iface MIXER
        name 'Master Playback Volume'
        value 80
        comment {
            access 'read write'
            type INTEGER
            count 1
            range '0 - 87'
            dbmin -6525
            dbmax 0
            dbvalue.0 -525
        }
    }
    control.18 {
        iface MIXER
        name 'Master Playback Switch'
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.19 {
        iface CARD
        name 'Mic Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.20 {
        iface CARD
        name 'Dock Mic Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.21 {
        iface CARD
        name 'Internal Mic Phantom Jack'
        value true
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.22 {
        iface CARD
        name 'Speaker Phantom Jack'
        value true
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.23 {
        iface CARD
        name 'Headphone Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.24 {
        iface CARD
        name 'Dock Headphone Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.25 {
        iface MIXER
        name 'Beep Playback Volume'
        value.0 0
        value.1 0
        comment {
            access 'read write'
            type INTEGER
            count 2
            range '0 - 31'
            dbmin -3450
            dbmax 1200
            dbvalue.0 -3450
            dbvalue.1 -3450
        }
    }
    control.26 {
        iface MIXER
        name 'Beep Playback Switch'
        value.0 false
        value.1 false
        comment {
            access 'read write'
            type BOOLEAN
            count 2
        }
    }
    control.27 {
        iface PCM
        name 'Playback Channel Map'
        value.0 0
        value.1 0
        value.2 0
        value.3 0
        comment {
            access read
            type INTEGER
            count 4
            range '0 - 36'
        }
    }
    control.28 {
        iface PCM
        name 'Capture Channel Map'
        value.0 0
        value.1 0
        comment {
            access read
            type INTEGER
            count 2
            range '0 - 36'
        }
    }
    control.29 {
        iface MIXER
        name 'PCM Playback Volume'
        value.0 255
        value.1 255
        comment {
            access 'read write user'
            type INTEGER
            count 2
            range '0 - 255'
            tlv '0000000100000008ffffec1400000014'
            dbmin -5100
            dbmax 0
            dbvalue.0 0
            dbvalue.1 0
        }
    }
}
state.USBStreamer {
    control.1 {
        iface PCM
        name 'Playback Channel Map'
        value.0 0
        value.1 0
        value.2 0
        value.3 0
        value.4 0
        value.5 0
        value.6 0
        value.7 0
        value.8 3
        value.9 4
        comment {
            access read
            type INTEGER
            count 10
            range '0 - 36'
        }
    }
    control.2 {
        iface PCM
        name 'Capture Channel Map'
        value.0 0
        value.1 0
        value.2 0
        value.3 0
        value.4 0
        value.5 0
        value.6 0
        value.7 0
        value.8 0
        value.9 0
        comment {
            access read
            type INTEGER
            count 10
            range '0 - 36'
        }
    }
    control.3 {
        iface MIXER
        name 'USBStreamer Output Playback Switch'
        value.0 true
        value.1 true
        value.2 true
        value.3 true
        value.4 true
        value.5 true
        value.6 true
        value.7 true
        value.8 true
        value.9 true
        comment {
            access 'read write'
            type BOOLEAN
            count 10
        }
    }
    control.4 {
        iface MIXER
        name 'USBStreamer Output Playback Switch'
        index 1
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.5 {
        iface MIXER
        name 'USBStreamer Output Playback Volume'
        value.0 255
        value.1 255
        value.2 255
        value.3 255
        value.4 255
        value.5 255
        value.6 255
        value.7 255
        value.8 255
        value.9 255
        comment {
            access 'read write'
            type INTEGER
            count 10
            range '0 - 255'
            dbmin -12750
            dbmax 0
            dbvalue.0 0
            dbvalue.1 0
            dbvalue.2 0
            dbvalue.3 0
            dbvalue.4 0
            dbvalue.5 0
            dbvalue.6 0
            dbvalue.7 0
            dbvalue.8 0
            dbvalue.9 0
        }
    }
    control.6 {
        iface MIXER
        name 'USBStreamer Output Playback Volume'
        index 1
        value 152
        comment {
            access 'read write'
            type INTEGER
            count 1
            range '0 - 255'
            dbmin -12750
            dbmax 0
            dbvalue.0 -5150
        }
    }
    control.7 {
        iface MIXER
        name 'USBStreamer Clock Selector'
        value 'USBStreamer Internal Clock'
        comment {
            access 'read write'
            type ENUMERATED
            count 1
            item.0 'USBStreamer Internal Clock'
            item.1 'USBStreamer TOSLINK Clock'
        }
    }
    control.8 {
        iface MIXER
        name 'Mic Capture Switch'
        value.0 true
        value.1 true
        value.2 true
        value.3 true
        value.4 true
        value.5 true
        value.6 true
        value.7 true
        value.8 true
        value.9 true
        comment {
            access 'read write'
            type BOOLEAN
            count 10
        }
    }
    control.9 {
        iface MIXER
        name 'Mic Capture Switch'
        index 1
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.10 {
        iface MIXER
        name 'Mic Capture Volume'
        value.0 255
        value.1 255
        value.2 255
        value.3 255
        value.4 255
        value.5 255
        value.6 255
        value.7 255
        value.8 255
        value.9 255
        comment {
            access 'read write'
            type INTEGER
            count 10
            range '0 - 255'
            dbmin -12750
            dbmax 0
            dbvalue.0 0
            dbvalue.1 0
            dbvalue.2 0
            dbvalue.3 0
            dbvalue.4 0
            dbvalue.5 0
            dbvalue.6 0
            dbvalue.7 0
            dbvalue.8 0
            dbvalue.9 0
        }
    }
    control.11 {
        iface MIXER
        name 'Mic Capture Volume'
        index 1
        value 255
        comment {
            access 'read write'
            type INTEGER
            count 1
            range '0 - 255'
            dbmin -12750
            dbmax 0
            dbvalue.0 0
        }
    }
}
state.NVidia {
    control.1 {
        iface CARD
        name 'HDMI/DP,pcm=3 Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.2 {
        iface MIXER
        name 'IEC958 Playback Con Mask'
        value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.3 {
        iface MIXER
        name 'IEC958 Playback Pro Mask'
        value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.4 {
        iface MIXER
        name 'IEC958 Playback Default'
        value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access 'read write'
            type IEC958
            count 1
        }
    }
    control.5 {
        iface MIXER
        name 'IEC958 Playback Switch'
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.6 {
        iface PCM
        device 3
        name ELD
        value ''
        comment {
            access 'read volatile'
            type BYTES
            count 0
        }
    }
    control.7 {
        iface CARD
        name 'HDMI/DP,pcm=7 Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.8 {
        iface MIXER
        name 'IEC958 Playback Con Mask'
        index 1
        value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.9 {
        iface MIXER
        name 'IEC958 Playback Pro Mask'
        index 1
        value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.10 {
        iface MIXER
        name 'IEC958 Playback Default'
        index 1
        value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access 'read write'
            type IEC958
            count 1
        }
    }
    control.11 {
        iface MIXER
        name 'IEC958 Playback Switch'
        index 1
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.12 {
        iface PCM
        device 7
        name ELD
        value ''
        comment {
            access 'read volatile'
            type BYTES
            count 0
        }
    }
    control.13 {
        iface CARD
        name 'HDMI/DP,pcm=8 Jack'
        value false
        comment {
            access read
            type BOOLEAN
            count 1
        }
    }
    control.14 {
        iface MIXER
        name 'IEC958 Playback Con Mask'
        index 2
        value '0fff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.15 {
        iface MIXER
        name 'IEC958 Playback Pro Mask'
        index 2
        value '0f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access read
            type IEC958
            count 1
        }
    }
    control.16 {
        iface MIXER
        name 'IEC958 Playback Default'
        index 2
        value '0400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
        comment {
            access 'read write'
            type IEC958
            count 1
        }
    }
    control.17 {
        iface MIXER
        name 'IEC958 Playback Switch'
        index 2
        value true
        comment {
            access 'read write'
            type BOOLEAN
            count 1
        }
    }
    control.18 {
        iface PCM
        device 8
        name ELD
        value ''
        comment {
            access 'read volatile'
            type BYTES
            count 0
        }
    }
    control.19 {
        iface PCM
        device 3
        name 'Playback Channel Map'
        value.0 0
        value.1 0
        value.2 0
        value.3 0
        value.4 0
        value.5 0
        value.6 0
        value.7 0
        comment {
            access 'read write'
            type INTEGER
            count 8
            range '0 - 36'
        }
    }
    control.20 {
        iface PCM
        device 7
        name 'Playback Channel Map'
        value.0 0
        value.1 0
        value.2 0
        value.3 0
        value.4 0
        value.5 0
        value.6 0
        value.7 0
        comment {
            access 'read write'
            type INTEGER
            count 8
            range '0 - 36'
        }
    }
    control.21 {
        iface PCM
        device 8
        name 'Playback Channel Map'
        value.0 0
        value.1 0
        value.2 0
        value.3 0
        value.4 0
        value.5 0
        value.6 0
        value.7 0
        comment {
            access 'read write'
            type INTEGER
            count 8
            range '0 - 36'
        }
    }
}
 

 
the value.8 and value.9 settings in control.1 for usbstreamer was what I needed to modify to get things like speaker-test working. The usbstreamer is hooked up to the miniDSP 4x10hd unit via a TOSLink cable and the last two (of the ten) channels are the L/R speaker signals. 
 
 speaker-test -c 10 -t sin -F S32_LE -D hw:USBStreamer

 
works fine.
 
/etc/mpd.conf  (I'm not fussy about what this file needs to be, it currently reflects me just seeing if *anything* might work)
 
   
# An example configuration file for MPD.
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
# or /usr/share/doc/mpd/user-manual.html
 
 
# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This 
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory        "/home/Music"
#
# This setting sets the MPD internal playlist directory. The purpose of this
# directory is storage for playlists created by MPD. The server will use 
# playlist files not created by the server but only if they are in the MPD
# format. This setting defaults to playlist saving being disabled.
#
playlist_directory        "/home/Music/.mpd/playlists"
#
# This setting sets the location of the MPD database. This file is used to
# load the database at server start up and store the database while the 
# server is not up. This setting defaults to disabled which will allow
# MPD to accept files over ipc socket (using file:// protocol) or streaming
# files over an accepted protocol.
#
db_file            "/var/lib/mpd/tag_cache"

# These settings are the locations for the daemon log files for the daemon.
# These logs are great for troubleshooting, depending on your log_level
# settings.
#
# The special value "syslog" makes MPD use the local syslog daemon. This
# setting defaults to logging to syslog, otherwise logging is disabled.
#
log_file            "/var/log/mpd/mpd.log"
#
# This setting sets the location of the file which stores the process ID
# for use of mpd --kill and some init scripts. This setting is disabled by
# default and the pid file will not be stored.
#
pid_file            "/run/mpd/pid"
#
# This setting sets the location of the file which contains information about
# most variables to get MPD back into the same general shape it was in before
# it was brought down. This setting is disabled by default and the server 
# state will be reset on server start up.
#
state_file            "/var/lib/mpd/state"
#
# The location of the sticker database.  This is a database which
# manages dynamic information attached to songs.
#
sticker_file                   "/var/lib/mpd/sticker.sql"
#
###############################################################################
 
 
# General music daemon options ################################################
#
# This setting specifies the user that MPD will run as. MPD should never run as
# root and you may use this setting to make MPD change its user ID after
# initialization. This setting is disabled by default and MPD is run as the
# current user.
#
user                "mpd"
#
# This setting specifies the group that MPD will run as. If not specified
# primary group of user specified with "user" setting will be used (if set).
# This is useful if MPD needs to be a member of group such as "audio" to
# have permission to use sound card.
#
#group                          "nogroup"
#
# This setting sets the address for the daemon to listen on. Careful attention
# should be paid if this is assigned to anything other then the default, any.
# This setting can deny access to control of the daemon. Choose any if you want
# to have mpd listen on every address. Not effective if systemd socket
# activation is in use.
#
# For network - ifconfig inet addr output
bind_to_address        "192.168.1.82"
#
# And for Unix Socket
#bind_to_address        "/run/mpd/socket"
#
# This setting is the TCP port that is desired for the daemon to get assigned
# to.
#
#port                "6600"
#
# This setting controls the type of information which is logged. Available 
# setting arguments are "default", "secure" or "verbose". The "verbose" setting
# argument is recommended for troubleshooting, though can quickly stretch
# available resources on limited hardware storage.
#
#log_level            "default"
#
# If you have a problem with your MP3s ending abruptly it is recommended that 
# you set this argument to "no" to attempt to fix the problem. If this solves
# the problem, it is highly recommended to fix the MP3 files with vbrfix
# (available as vbrfix in the debian archive), at which
# point gapless MP3 playback can be enabled.
#
#gapless_mp3_playback            "yes"
#
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
# of starting playback after startup.
#
#restore_paused "no"
#
# This setting enables MPD to create playlists in a format usable by other
# music players.
#
#save_absolute_paths_in_playlists    "no"
#
# This setting defines a list of tag types that will be extracted during the 
# audio file discovery process. The complete list of possible values can be
# found in the mpd.conf man page.
#metadata_to_use    "artist,album,title,track,name,genre,date,composer,performer,disc"
#
# This setting enables automatic update of MPD's database when files in 
# music_directory are changed.
#
#auto_update    "yes"
#
# Limit the depth of the directories being watched, 0 means only watch
# the music directory itself.  There is no limit by default.
#
#auto_update_depth "3"
#
###############################################################################
 
 
# Symbolic link behavior ######################################################
#
# If this setting is set to "yes", MPD will discover audio files by following 
# symbolic links outside of the configured music_directory.
#
#follow_outside_symlinks    "yes"
#
# If this setting is set to "yes", MPD will discover audio files by following
# symbolic links inside of the configured music_directory.
#
#follow_inside_symlinks        "yes"
#
###############################################################################
 
 
# Zeroconf / Avahi Service Discovery ##########################################
#
# If this setting is set to "yes", service information will be published with
# Zeroconf / Avahi.
#
#zeroconf_enabled        "yes"
#
# The argument to this setting will be the Zeroconf / Avahi unique name for
# this MPD server on the network.
#
#zeroconf_name            "Music Player"
#
###############################################################################
 
 
# Permissions #################################################################
#
# If this setting is set, MPD will require password authorization. The password
# can setting can be specified multiple times for different password profiles.
#
#password                        "password@read,add,control,admin"
#
# This setting specifies the permissions a user has who has not yet logged in. 
#
#default_permissions             "read,add,control,admin"
#
###############################################################################
 
 
# Database #######################################################################
#
 
#database {
#       plugin "proxy"
#       host "other.mpd.host"
#       port "6600"
#}
 
# Input #######################################################################
#
 
input {
        plugin "curl"
#       proxy "proxy.isp.com:8080"
#       proxy_user "user"
#       proxy_password "password"
}
 
#
###############################################################################
 
# Audio Output ################################################################
#
# MPD supports various audio output types, as well as playing through multiple 
# audio outputs at the same time, through multiple audio_output settings 
# blocks. Setting this block is optional, though the server will only attempt
# autodetection for one sound card.
#
# An example of an ALSA output:
# these hardware addresses are not permanent.  ugh. 
 
#audio_output {
#    type        "alsa"
#    name        "My ALSA Device"
#    device        "hw:0,0"    # optional
#    mixer_type      "hardware"      # optional
#    mixer_device    "default"    # optional
#    mixer_control    "PCM"        # optional
#    mixer_index    "0"        # optional
#}
 
# vanilla alsa output to usbstreamer
audio_output {
    type          "alsa"
    name          "USBStreamer - USB Audio"
    device        "plughw:USBStreamer"
    mixer_type    "hardware"
    mixer_control "PCM"
    mixer_index   "0"
}
 
#bit-perfect settings
#audio_output {
#     type     "alsa"
#     name     "USBStreamer - USB Audio"
#     device   "front:USBStreamer"
#     auto_resample "no"
#     auto_format   "no"
#     auto_channels "no"
#}
 
 
# try Jack. 
#audio_output {
#    type      "jack"
#    name      "my JACK device"
#    device    "hw:1,0"     
#    autostart "yes"
#    destination_ports "9, 10"
#}
 
# works with Pulse. 
#audio_output {
#  type    "pulse"
#  name    "MPD pulse out"
#}
 
#
# An example of an OSS output:
#
#audio_output {
#    type        "oss"
#    name        "My OSS Device"
#    device        "/dev/dsp"    # optional
#    mixer_type      "hardware"      # optional
#    mixer_device    "/dev/mixer"    # optional
#    mixer_control    "PCM"        # optional
#}
#
# An example of a shout output (for streaming to Icecast):
#
#audio_output {
#    type        "shout"
#    encoding    "ogg"            # optional
#    name        "My Shout Stream"
#    host        "localhost"
#    port        "8000"
#    mount        "/mpd.ogg"
#    password    "hackme"
#    quality        "5.0"
#    bitrate        "128"
#    format        "44100:16:1"
#    protocol    "icecast2"        # optional
#    user        "source"        # optional
#    description    "My Stream Description"    # optional
#    url             "http://example.com"    # optional
#    genre        "jazz"            # optional
#    public        "no"            # optional
#    timeout        "2"            # optional
#    mixer_type      "software"              # optional
#}
#
# An example of a recorder output:
#
#audio_output {
#       type            "recorder"
#       name            "My recorder"
#       encoder         "vorbis"                # optional, vorbis or lame
#       path            "/var/lib/mpd/recorder/mpd.ogg"
##      quality         "5.0"                   # do not define if bitrate is defined
#       bitrate         "128"                   # do not define if quality is defined
#       format          "44100:16:1"
#}
#
# An example of a httpd output (built-in HTTP streaming server):
#
#audio_output {
#    type        "httpd"
#    name        "My HTTP Stream"
#    encoder        "vorbis"        # optional, vorbis or lame
#    port        "8000"
#    bind_to_address "0.0.0.0"               # optional, IPv4 or IPv6
#    quality        "5.0"            # do not define if bitrate is defined
#    bitrate        "128"            # do not define if quality is defined
#    format        "44100:16:1"
#    max_clients     "0"                     # optional 0=no limit
#}
#
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
# Please see README.Debian if you want mpd to play through the pulseaudio
# daemon started as part of your graphical desktop session!
#
#audio_output {
#    type        "pulse"
#    name        "My Pulse Output"
#    server        "remote_server"        # optional
#    sink        "remote_server_sink"    # optional
#}
#
# An example of a winmm output (Windows multimedia API).
#
#audio_output {
#    type        "winmm"
#    name        "My WinMM output"
#    device        "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
#        or
#    device        "0"        # optional
#    mixer_type    "hardware"    # optional
#}
#
# An example of an openal output.
#
#audio_output {
#    type        "openal"
#    name        "My OpenAL output"
#    device        "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
#}
#
## Example "pipe" output:
#
#audio_output {
#    type        "pipe"
#    name        "my pipe"
#    command        "aplay -f cd 2>/dev/null"
## Or if you're want to use AudioCompress
#    command        "AudioCompress -m | aplay -f cd 2>/dev/null"
## Or to send raw PCM stream through PCM:
#    command        "nc example.org 8765"
#    format        "44100:16:2"
#}
#
## An example of a null output (for no audio output):
#
#audio_output {
#    type        "null"
#    name        "My Null Output"
#    mixer_type      "none"                  # optional
#}
#
# If MPD has been compiled with libsamplerate support, this setting specifies 
# the sample rate converter to use.  Possible values can be found in the 
# mpd.conf man page or the libsamplerate documentation. By default, this is
# setting is disabled.
#
#samplerate_converter        "Fastest Sinc Interpolator"
#
###############################################################################
 
 
# Normalization automatic volume adjustments ##################################
#
# This setting specifies the type of ReplayGain to use. This setting can have
# the argument "off", "album", "track" or "auto". "auto" is a special mode that
# chooses between "track" and "album" depending on the current state of
# random playback. If random playback is enabled then "track" mode is used.
# See <http://www.replaygain.org> for more details about ReplayGain.
# This setting is off by default.
#
#replaygain            "album"
#
# This setting sets the pre-amp used for files that have ReplayGain tags. By
# default this setting is disabled.
#
#replaygain_preamp        "0"
#
# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
# By default this setting is disabled.
#
#replaygain_missing_preamp    "0"
#
# This setting enables or disables ReplayGain limiting.
# MPD calculates actual amplification based on the ReplayGain tags
# and replaygain_preamp / replaygain_missing_preamp setting.
# If replaygain_limit is enabled MPD will never amplify audio signal
# above its original level. If replaygain_limit is disabled such amplification
# might occur. By default this setting is enabled.
#
#replaygain_limit        "yes"
#
# This setting enables on-the-fly normalization volume adjustment. This will
# result in the volume of all playing audio to be adjusted so the output has 
# equal "loudness". This setting is disabled by default.
#
#volume_normalization        "no"
#
###############################################################################
 
 
# Character Encoding ##########################################################
#
# If file or directory names do not display correctly for your locale then you 
# may need to modify this setting.
#
filesystem_charset        "UTF-8"
#
# This setting controls the encoding that ID3v1 tags should be converted from.
#
id3v1_encoding            "UTF-8"
#
###############################################################################
 
 
# SIDPlay decoder #############################################################
#
# songlength_database:
#  Location of your songlengths file, as distributed with the HVSC.
#  The sidplay plugin checks this for matching MD5 fingerprints.
#  See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
#
# default_songlength:
#  This is the default playing time in seconds for songs not in the
#  songlength database, or in case you're not using a database.
#  A value of 0 means play indefinitely.
#
# filter:
#  Turns the SID filter emulation on or off.
#
#decoder {
#       plugin                  "sidplay"
#       songlength_database     "/media/C64Music/DOCUMENTS/Songlengths.txt"
#       default_songlength      "120"
#       filter "true"
#}
#
###############################################################################
 
 

 
Anyhow, thanks in advance for any advice. 
 
[Mod Edit - added spoilers to shorten post]
 
Jul 6, 2016 at 6:15 PM Post #411 of 543
Hey there, firstly.
 
Tweaking /var/lib/alsa/asound.state will do nothing as it is created by alsa.
 
This is alsa's global config file.
Code:
 /etc/asound.conf
 
Between this file and /etc/mpd.conf you should be able to do everything you want.
 
Your asound.conf will need to read something like
 
 
pcm.!default {
    type hw
    card USBStreamer
device 0
}

ctl.!default {
    type hw           
    card USBStreamer
device 0
}

 
 
 
and your mpd conf will need to read something like
 
Code:
[color=rgb(34, 34, 34)] audio_output { type "alsa" name "My USB DAC" mixer_type "hardware" # optional }[/color]
 
Jul 7, 2016 at 2:54 AM Post #412 of 543
Thanks.  Are you sure about that?  In Ubuntu 16.04, there is no /etc/asound.conf 
 
All I can find is /var/lib/alsa/asound.state.  
 
I can modify the file, and load those modifications into ALSA using the alsactl store/restore commands.
 
What role does /etc/asound.conf play?  If you have or do not have one, what difference does it make?
 
I'm surprised it doesn't exist in my distro.     
 
I'll try playing around with your suggestion.  Once I modify asound.conf, what do I have to do to load that information into ALSA? 
 
Jul 7, 2016 at 4:39 AM Post #413 of 543
Thanks.  Are you sure about that?  In Ubuntu 16.04, there is no /etc/asound.conf 

You may need to create it. Pulseaudio by default controls alsa on ubuntu through extra libraries.
 
All I can find is /var/lib/alsa/asound.state.  

As the name suggests this is the current settings and is generated by alsa when it starts, you should never put information IN this file, it is for output purposes and apart from in the absence of the actual configuration file does nothing but store loaded settings.
 
What role does /etc/asound.conf play?  If you have or do not have one, what difference does it make?

It is the configuration file for alsa. The user specific version (which you may have as well) is stored here: ~/.asoundrc
 
I'm surprised it doesn't exist in my distro.     

Ubuntu is designed to be used by everyone on everything, by default it is not set for bitperfect output nor for people to NEED to use a configuration file.
 
I'll try playing around with your suggestion.  Once I modify asound.conf, what do I have to do to load that information into ALSA? 

Restart your machine is probably easiest.

 
You may need the package:
gstreamer0.10-alsa

or
gstreamer1.0-alsa

To get alsa playback working with some apps that strictly use gstreamer default as output.
 
Jul 7, 2016 at 10:31 PM Post #414 of 543
  Thanks.  Are you sure about that?  In Ubuntu 16.04, there is no /etc/asound.conf 
 
All I can find is /var/lib/alsa/asound.state.  
 
I can modify the file, and load those modifications into ALSA using the alsactl store/restore commands.
 
What role does /etc/asound.conf play?  If you have or do not have one, what difference does it make?
 
I'm surprised it doesn't exist in my distro.     
 
I'll try playing around with your suggestion.  Once I modify asound.conf, what do I have to do to load that information into ALSA? 


Actually, the files in question for ALSA in Ubuntu® 16.04.n-LTS include /etc/default/alsa, /usr/share/alsa/alsa.conf, and /usr/share/alsa/pulse-alsa.conf.  No mention of asound except in the Processes directories  /proc/asound/*.  Don't know if the system will respond to an /etc/asoundrc or a /home/<username>/.asoundrc as was the case in previous Releases.
 
Jul 8, 2016 at 2:16 AM Post #415 of 543
Again. There is no mention of the file because Ubuntu uses pulse to configure alsa, not because alsa itself has changed. Even in upstream versions not to hit Ubuntu for a while alsa uses the exact same configuration as every other distro.

Also, asoundrc is the local user file that lives hidden under home/user/ not the global one that is used in etc.
 
Jul 8, 2016 at 12:43 PM Post #416 of 543
Thanks for all the comments.  I want to avoid using .asoundrc as this will be for a music server.  I'd like the unit to be as robust as possible -- just turn it on and it works.  I'd rather avoid having to log into the unit regularly, as it won't have a display attached to it. 
 
It also looks like I'll have to create a channel table. . . something like this:
 
pcm.stereo {
    type plug
    slave.pcm "hw:1"   # or whatever
    ttable.0.8 1
    ttable.1.9 1
}
 
to ensure the proper channels are mapped to.    
 
Will try all your suggestions out this weekend.  Still building the cabinet for my amplifiers... 
 
Jul 8, 2016 at 10:30 PM Post #417 of 543
For reliability on a music server I would suggest following the guide in my SIG, but instead of using numbers for card use the name instead, as the numbers relate to initialisation order on startup and can change when other devices are enabled or disabled. Removing or disabling pulseaudio would also be suggested as it is useless on a music server. You could even go as far as using a realtime kernel and changing the priority of playback, editing /etc/default/grub to text only boot so the desktop and related services don't start by default. These things only take a few minutes if you are interested.
 
Jul 10, 2016 at 3:12 AM Post #418 of 543
Thanks for all the comments. 
 
I have my music server working seamlessly with ALSA now. 
 
Here is the /etc/asound.conf file that I've found works.  It look me a little while to determine how to do the channel re-mapping.
 
pcm.usbSTR {
  type hw
  card USBStreamer
  device 0
}
pcm.usbREMAP {
  type plug
  slave.pcm usbSTR
  ttable.0.8 1
  ttable.1.9 1
}
pcm.!default {
  type plug
  slave.pcm usbREMAP
}
ctl.!default {
  type plug
  slave.pcm usbREMAP
}

 
The only difficulty I'm having now is with mpd.  The daemon is running and it can be controlled locally by clients like ARIO, but MPDroid on my cell phone is unable to connect to the server.
 
When I attempt to connect with MPDroid, the /var/log/mpd/mod.log file adds the lines:
 
 Jul 09 23:35 : client: [0] opened from 127.0.0.1:37398
ALSA lib dlmisc.c:254:frowning2:snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_ctl_plug.so
 

 
Is this a blocked port? Perhaps a permissions issue?  Those would be my guesses but I'm not sure where to look.
 
I am using the "bind to address" line of mpd.  I have the same IP address in MPDroid as in the "bind to address" field.
 
Hmm, MPDroid was giving me "connection failed EHOSTUNREACH" errors.  But as I type this in to confirm, MPDroid connected to the mpd daemon.   I don't think I've changed anything.  This is annoying.
 
I'll see if I can determine what makes this problem appear and disappear. . . at present I am clueless.
 
nmap says all ports are closed:
 
  Starting Nmap 7.01 ( https://nmap.org ) at 2016-07-10 00:48 PDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00027s latency).
All 1000 scanned ports on localhost (127.0.0.1) are closed
Nmap done: 1 IP address (1 host up) scanned in 0.14 seconds

 
Jul 10, 2016 at 3:57 AM Post #419 of 543
I have another post that's being held for moderator approval.  This one won't make sense until that one appears, apologies. In short, ALSA is working fine on my music server now.  My only problem is I'm having ?intermittent? connectivity problems from my cell phone to mpd now.  I'm running MPDroid on my cell phone.  I'm wondering if ports are not being listened to.
 
My netstat output:
 
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:51904         localhost:6600          ESTABLISHED
tcp        0      0 192.168.1.88:49128      151.101.52.249:http     ESTABLISHED
tcp6       0      0 localhost:6600          localhost:51904         ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         DGRAM                    21289    /run/user/1000/systemd/notify
unix  3      [ ]         DGRAM                    9795     /run/systemd/notify
unix  2      [ ]         DGRAM                    9805     /run/systemd/journal/syslog
unix  6      [ ]         DGRAM                    9807     /run/systemd/journal/socket
unix  12     [ ]         DGRAM                    9813     /run/systemd/journal/dev-log
unix  2      [ ]         DGRAM                    17784    /run/wpa_supplicant/wlp1s0
unix  3      [ ]         STREAM     CONNECTED     22242    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     31456    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     21789    
unix  3      [ ]         STREAM     CONNECTED     22743    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     32132    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     32116    
unix  3      [ ]         STREAM     CONNECTED     22125    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22394    
unix  3      [ ]         STREAM     CONNECTED     18863    
unix  3      [ ]         STREAM     CONNECTED     22046    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     10161    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     31466    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     21348    
unix  3      [ ]         STREAM     CONNECTED     21674    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22373    
unix  3      [ ]         STREAM     CONNECTED     22124    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     21256    
unix  3      [ ]         STREAM     CONNECTED     22040    /run/systemd/journal/stdout
unix  2      [ ]         DGRAM                    16029    
unix  3      [ ]         STREAM     CONNECTED     22248    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     15768    
unix  3      [ ]         STREAM     CONNECTED     21803    
unix  3      [ ]         STREAM     CONNECTED     22263    
unix  3      [ ]         STREAM     CONNECTED     24611    
unix  3      [ ]         STREAM     CONNECTED     22814    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     22361    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     18865    @/tmp/.X11-unix/X0
unix  3      [ ]         SEQPACKET  CONNECTED     41924    
unix  3      [ ]         STREAM     CONNECTED     24595    
unix  3      [ ]         STREAM     CONNECTED     22795    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     22829    
unix  3      [ ]         STREAM     CONNECTED     11360    
unix  3      [ ]         STREAM     CONNECTED     17432    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     17468    /var/run/dbus/system_bus_socket
unix  2      [ ]         DGRAM                    21489    
unix  3      [ ]         STREAM     CONNECTED     22048    
unix  3      [ ]         STREAM     CONNECTED     22401    @/tmp/dbus-VXEEkjm7vQ
unix  2      [ ]         DGRAM                    18181    
unix  3      [ ]         STREAM     CONNECTED     22429    @/dbus-vfs-daemon/socket-yIDpAhew
unix  3      [ ]         STREAM     CONNECTED     21805    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22531    
unix  3      [ ]         STREAM     CONNECTED     31470    
unix  3      [ ]         STREAM     CONNECTED     22059    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     22072    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     21797    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     21809    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     18545    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     15946    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     41854    
unix  3      [ ]         STREAM     CONNECTED     21790    
unix  3      [ ]         STREAM     CONNECTED     22793    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     18818    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     21504    
unix  3      [ ]         STREAM     CONNECTED     22351    
unix  3      [ ]         DGRAM                    11369    
unix  3      [ ]         STREAM     CONNECTED     18816    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22406    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     21997    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     22812    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     15780    
unix  3      [ ]         STREAM     CONNECTED     32117    
unix  3      [ ]         STREAM     CONNECTED     16461    
unix  3      [ ]         STREAM     CONNECTED     18842    
unix  3      [ ]         STREAM     CONNECTED     22717    
unix  3      [ ]         STREAM     CONNECTED     22266    
unix  3      [ ]         STREAM     CONNECTED     22802    
unix  3      [ ]         STREAM     CONNECTED     21327    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     32130    
unix  3      [ ]         STREAM     CONNECTED     16030    
unix  2      [ ]         DGRAM                    17133    
unix  3      [ ]         STREAM     CONNECTED     21503    
unix  3      [ ]         STREAM     CONNECTED     21257    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     20497    
unix  3      [ ]         STREAM     CONNECTED     22724    
unix  3      [ ]         STREAM     CONNECTED     32126    
unix  2      [ ]         DGRAM                    12368    
unix  3      [ ]         STREAM     CONNECTED     23014    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     21924    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     15708    
unix  3      [ ]         STREAM     CONNECTED     24610    
unix  3      [ ]         STREAM     CONNECTED     16039    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     15792    
unix  3      [ ]         STREAM     CONNECTED     22264    
unix  3      [ ]         STREAM     CONNECTED     22045    
unix  3      [ ]         STREAM     CONNECTED     22033    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     17767    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22785    
unix  3      [ ]         STREAM     CONNECTED     22246    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     21771    
unix  3      [ ]         STREAM     CONNECTED     16398    
unix  3      [ ]         STREAM     CONNECTED     22372    
unix  3      [ ]         STREAM     CONNECTED     18815    
unix  3      [ ]         STREAM     CONNECTED     22360    
unix  3      [ ]         STREAM     CONNECTED     22695    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22805    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22068    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     11361    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     40495    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     22095    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     18803    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     21462    
unix  3      [ ]         STREAM     CONNECTED     17431    
unix  3      [ ]         STREAM     CONNECTED     22693    
unix  3      [ ]         STREAM     CONNECTED     22790    
unix  3      [ ]         STREAM     CONNECTED     20498    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     16976    
unix  3      [ ]         STREAM     CONNECTED     41866    
unix  3      [ ]         STREAM     CONNECTED     22819    
unix  3      [ ]         STREAM     CONNECTED     22811    
unix  3      [ ]         STREAM     CONNECTED     22031    @/tmp/dbus-VXEEkjm7vQ
unix  2      [ ]         DGRAM                    21263    
unix  3      [ ]         STREAM     CONNECTED     31490    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     31471    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     22405    
unix  3      [ ]         STREAM     CONNECTED     21798    
unix  3      [ ]         STREAM     CONNECTED     22252    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     22142    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     22794    
unix  3      [ ]         STREAM     CONNECTED     22123    
unix  3      [ ]         STREAM     CONNECTED     18704    
unix  3      [ ]         STREAM     CONNECTED     15794    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22380    @/tmp/dbus-VXEEkjm7vQ
unix  2      [ ]         DGRAM                    21718    
unix  3      [ ]         STREAM     CONNECTED     17754    
unix  3      [ ]         STREAM     CONNECTED     24636    
unix  3      [ ]         STREAM     CONNECTED     16031    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     31482    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     15863    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     15793    
unix  3      [ ]         STREAM     CONNECTED     21923    
unix  2      [ ]         DGRAM                    10039    
unix  3      [ ]         STREAM     CONNECTED     22723    /tmp/.menu-cached-:0-rybu
unix  3      [ ]         STREAM     CONNECTED     17136    
unix  3      [ ]         STREAM     CONNECTED     22077    
unix  3      [ ]         STREAM     CONNECTED     15799    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     15795    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22267    
unix  2      [ ]         DGRAM                    18841    
unix  3      [ ]         STREAM     CONNECTED     21972    
unix  3      [ ]         STREAM     CONNECTED     21851    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     24596    @/tmp/.X11-unix/X0
unix  2      [ ]         DGRAM                    22749    
unix  3      [ ]         STREAM     CONNECTED     22122    
unix  3      [ ]         STREAM     CONNECTED     22011    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     22692    
unix  2      [ ]         DGRAM                    19031    
unix  3      [ ]         STREAM     CONNECTED     22039    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22776    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22065    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     21808    
unix  3      [ ]         STREAM     CONNECTED     40504    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     22804    
unix  3      [ ]         STREAM     CONNECTED     21996    
unix  3      [ ]         STREAM     CONNECTED     22096    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     22128    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     21985    @/tmp/.X11-unix/X0
unix  2      [ ]         DGRAM                    15783    
unix  3      [ ]         STREAM     CONNECTED     18802    
unix  3      [ ]         STREAM     CONNECTED     22404    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     16517    
unix  3      [ ]         STREAM     CONNECTED     22428    
unix  3      [ ]         STREAM     CONNECTED     22792    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     21673    
unix  2      [ ]         DGRAM                    11215    
unix  3      [ ]         STREAM     CONNECTED     22399    
unix  3      [ ]         STREAM     CONNECTED     18473    
unix  3      [ ]         STREAM     CONNECTED     16062    
unix  3      [ ]         STREAM     CONNECTED     22049    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     16770    
unix  3      [ ]         STREAM     CONNECTED     22810    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22030    
unix  3      [ ]         STREAM     CONNECTED     41867    
unix  3      [ ]         STREAM     CONNECTED     21831    @/tmp/dbus-VXEEkjm7vQ
unix  2      [ ]         DGRAM                    20507    
unix  3      [ ]         STREAM     CONNECTED     22251    
unix  3      [ ]         STREAM     CONNECTED     22818    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     31455    
unix  3      [ ]         STREAM     CONNECTED     22071    
unix  3      [ ]         STREAM     CONNECTED     21984    
unix  3      [ ]         STREAM     CONNECTED     21850    
unix  3      [ ]         STREAM     CONNECTED     22777    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22694    
unix  3      [ ]         STREAM     CONNECTED     21796    
unix  3      [ ]         STREAM     CONNECTED     22817    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22051    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     22789    
unix  3      [ ]         STREAM     CONNECTED     21791    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     22010    
unix  3      [ ]         STREAM     CONNECTED     21379    
unix  3      [ ]         STREAM     CONNECTED     16082    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22132    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     21806    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22037    
unix  3      [ ]         STREAM     CONNECTED     32131    
unix  3      [ ]         STREAM     CONNECTED     18717    
unix  3      [ ]         STREAM     CONNECTED     15709    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     21463    
unix  3      [ ]         STREAM     CONNECTED     21799    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     18705    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22241    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     21454    
unix  3      [ ]         STREAM     CONNECTED     22426    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     22064    
unix  3      [ ]         STREAM     CONNECTED     21376    
unix  3      [ ]         STREAM     CONNECTED     15713    
unix  3      [ ]         STREAM     CONNECTED     22803    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22745    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22820    
unix  3      [ ]         STREAM     CONNECTED     15807    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22038    
unix  2      [ ]         DGRAM                    21368    
unix  3      [ ]         STREAM     CONNECTED     22744    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     21804    
unix  3      [ ]         STREAM     CONNECTED     22809    
unix  3      [ ]         STREAM     CONNECTED     21973    @/tmp/.X11-unix/X0
unix  3      [ ]         STREAM     CONNECTED     15770    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     22398    
unix  3      [ ]         SEQPACKET  CONNECTED     41923    
unix  3      [ ]         STREAM     CONNECTED     16063    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22352    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     22722    
unix  3      [ ]         STREAM     CONNECTED     22041    @/tmp/dbus-VXEEkjm7vQ
unix  3      [ ]         STREAM     CONNECTED     22742    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     31465    
unix  3      [ ]         STREAM     CONNECTED     21381    
unix  3      [ ]         STREAM     CONNECTED     21788    
unix  3      [ ]         STREAM     CONNECTED     10160    
unix  3      [ ]         STREAM     CONNECTED     41865    
unix  3      [ ]         STREAM     CONNECTED     22050    
unix  3      [ ]         STREAM     CONNECTED     22078    /var/run/dbus/system_bus_socket
unix  2      [ ]         DGRAM                    16055    
unix  3      [ ]         DGRAM                    11370    
 

 
One other symptom is MPDroid can't save playlists on the mpd server.  I am storing all the music in /home/Music.
 
The owner of the directory is mpd, and group is audio.
 
$ ls -l -a
total 20
drwxr-xr-x  5 root root  4096 Jul  8 16:38 .
drwxr-xr-x 22 root root  4096 Jul  8 15:39 ..
drwxrwxr-x  3 root root  4096 Jul  8 07:08 .ecryptfs
drwxr-xr-x 25 mpd  audio 4096 Jul 10 01:03 Music
 
$cd Music
$ ls -l -a
total 10280
drwxr-xr-x 25 mpd  audio    4096 Jul 10 01:03 .
drwxr-xr-x  5 root root     4096 Jul  8 16:38 ..
drwxr-x---  3 mpd  audio    4096 Jul  8 16:41 70s
drwxr-x--- 20 mpd  audio    4096 Jul  8 16:44 80s
drwxr-x---  4 mpd  audio    4096 Jul  8 16:43 african
drwxr-x--- 20 mpd  audio    4096 Jul  8 16:41 asian
drwxr-x---  8 mpd  audio    4096 Jul  8 16:39 blues
drwxr-x--- 17 mpd  audio    4096 Jul  8 16:43 country
drwxr-x---  4 mpd  audio    4096 Jul  8 16:43 crashbang
drwxr-x--- 18 mpd  audio    4096 Jul  8 16:43 drifting
drwxr-xrwx  2 mpd  audio    4096 Jul  9 17:57 .mpd
-rwxr-x---  1 mpd  audio      67 Jul  8 16:39 music_notes
drwxr-x---  4 mpd  audio    4096 Jul  8 16:43 oldold
drwxr-x---  4 mpd  audio    4096 Jul  8 16:44 oldtime
drwxr-x---  9 mpd  audio    4096 Jul  8 16:40 philstuff
drwxr-x--- 18 mpd  audio    4096 Jul  8 16:39 popish
drwxr-x---  7 mpd  audio    4096 Jul  8 16:39 rnb
 
. . .
 

 
Jul 10, 2016 at 8:09 PM Post #420 of 543
Oh, that was simple.  Apparently mpd won't create the playlist directory on its own.  So I created the directory (the one stated in the mpd.conf file).  And it saves playlists now. 
 
Alright, my setup appears complete.  Well, next I'll make some kind of USB device to trigger my amps...  But that's not so relevant for this thread.
 
Thanks everyone.
 

Users who are viewing this thread

Back
Top