【メモ】Music Player Daemon (MPD) にてデバイス名を指定する

Linux の起動時のオーディオデバイスの検出順によってはカード番号が mpd.conf に記載したカード番号とずれて,音声が出力されないことがある.その対策.

例えば,aplay -l を実行したとする.

$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: PCH [HDA Intel PCH], デバイス 0: ALCS1200A Analog [ALCS1200A Analog]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 0: PCH [HDA Intel PCH], デバイス 1: ALCS1200A Digital [ALCS1200A Digital]
  サブデバイス: 0/1
  サブデバイス #0: subdevice #0
カード 2: HDMI [HDA ATI HDMI], デバイス 3: HDMI 0 [HDMI 0]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 2: HDMI [HDA ATI HDMI], デバイス 7: HDMI 1 [HDMI 1]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0
カード 3: V3 [Pebble V3], デバイス 0: USB Audio [USB Audio]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

マザーボードの光 SPDIF 出力ポートが カード 0 , デバイス 1 となっている.ここから出力したい.mpd.conf の audio_output には

audio_output {
     type        "alsa"
     name        "My ALSA Device"
     device      "hw:0,1"    # optional
     (中略)
}

と記載するところ,カード名称がこの場合 “PCH” であることから,

audio_output {
     type        "alsa"
     name        "My ALSA Device"
     device      "hw:PCH,1"    # optional
     (中略)
}

と記載する.

これで,カードの番号が変わったとしても影響を受けない.