Linuxで組もう!DIY PC Audio 詳細解説 Vol.9
(7) MPD詳細設定
さて、いよいよMPDの詳細設定です。
が、その前に、
:~$ sudo apt update
:~$ sudo apt upgrade
apt updateは、現状でインストール可能なパッケージ一覧を更新します。
なので、このコマンドだけでは何も更新されません。されるのは「リスト」の更新だけです。
新たなソフトウェアのインストール前には、この操作を行う事が推奨されています。
当ブログでも、Real Time Kernelインストール前に、この操作を行いましたね。
それに対して、apt upgradeは、インストール済みのパッケージの更新を行い、新しいバージョンにアップデートします。
なので、apt update / upgradeは常に対の操作で行ってください。
また、新しいバージョン、と言っても、例えばMPDが0.21.5から最新のものにアップデートされる訳ではありません。
あくまでも、インストールしたバージョン内の修正にとどまるようです。
以上を終えたら、DebianマシンにUSB接続されたALSAデバイスである、DACなどのオーディオ機器の情報を取得します。
:~$ sudo cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xdc240000 irq 128
1 [W2 ]: USB-Audio - Creative Bluetooth Audio W2
Creative Bluetooth Audio W2 at usb-0000:00:14.0-2, full speed
2 [PMA2500NE ]: USB-Audio - PMA-2500NE
D&M Holdings Inc. PMA-2500NE at usb-0000:00:14.0-3, high speed
筆者環境では、メインオーディオのDENON PMA-2500NEに加えて、Bluetoothオーディオ再生のための通信用USBドングル(優れもの!)が装着されており、「W2」の名称でALSA機器として認識されています。
上記1と2の[ ]内、システム上で認識されたUSBオーディオの機器名称(ここで言えば、W2とPMA2500NE)を、以下のmpd.confのALSA機器設定に使用します。控えておきましょう。
:~$ sudo apt install lame
LAMEとは、24ビットのハイレゾPCMやDSDデータなどを含め、様々なフォーマットの音楽データを、全てmp3にエンコードし、ダウングレードするためのMP3エンコーダです。
MPDには、ここでメインにしているALSA以外にも、Pulse AudioやJack Audioなど、様々な出力のPluginオプションをデフォルトで実装しています。
その中の一つに、HTTPDという名前の、ビルトインされたhttpストリーミングサーバ機能があります。
これを設定すると、スマホ上のMPDクライアントが対応していれば、VPN(Vertual Private Network)を確立させて家のLANに「穴を開け」、その「穴」から、Debianマシンの8000番ポートを介して、LANの外にあるスマホにhttpストリーミングの形で音楽を配信させる事ができます。
つまり、家の外でも、家のNASにある音楽データを楽しむ事ができる訳です。
無論、それは国内に留まりません。海外だろうとなんだろうと、WIFIやMP4でインターネットに繋がる環境であれば、世界中どこでも配信可能です。
実はまあ、QNAPのNASをお使いの方ならご存知かと思いますが、これ、別にわざわざMPDを介さなくても、QNAP謹製のQmusicというアプリを使えば、わざわざその都度VPNの穴開けせずとも、NASから直接LAN外のスマホにストリーミング配信可能なのですが …。だったら、別に必要ないじゃん?
いやいや、Qmusicの場合、元データそのままのフォーマットで配信されてしまうんです。
つまり、24bit / 192kHzなどというハイレゾデータを再生させると、物凄いパケット通信量になる訳ですね。
まあ、パケット使い放題の青天井で、パケホ上限を気にしない契約も多々あるので、そんな方は別に問題ないですが、それでも、海外なんかで繋ごうと思うと、これは大変です。
また、Qmusicは、DSDフォーマットの再生には対応していません。
MPDのHTTPDサーバ機能を介せば、WAVだろうが、DSDだろうが、上記のLAMEを介して全てmp3にエンコードさせて容量を落とし、パケホの天井を気にせず楽しむ事が可能になります。
なので、ま、設定しておいた方が何かと便利かと。
必要でない方は、LAMEのインストール含め、この設定は飛ばして大丈夫です。
では、mid.confの設定に移りましょう。以下は、修正必要部分の抜粋です。
:~$ sudo nano /etc/mpd.conf
… (途中、略)
# 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 "audio"
#
# 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
#bind_to_address "localhost"
#
# And for Unix Socket
#bind_to_address "/run/mpd/socket"
#
# This setting enables automatic update of MPD's database when files in
# music_directory are changed.
#
auto_update "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. %h will be replaced with the hostname.
#
zeroconf_name "debianmusic"
#
###############################################################################
# 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:
#
audio_output {
type "alsa"
name "DENON PMA2500NE"
device "hw:PMA2500NE,0" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
dsd_usb "yes"
}
#
audio_output {
type "alsa"
name "Bluetooth"
device "hw:W2,0" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}
#
# An example of a httpd output (built-in HTTP streaming server):
#
audio_output {
type "httpd"
name "My HTTP Stream"
encoder "lame" # 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 "256" # do not define if quality is defined
format "44100:16:2"
# max_clients "0" # optional 0=no limit
}
#
「 } 」のコメントアウトを外すのを忘れがちです。気を付けましょう。
上記ALSAアウトプットのdevice指定ですが、デフォルトにあるような数字指定ではなく、先にcat /proc/asound/cardsで調べておいた、Linuxが認識した機器名で指定する方が確実ですし、簡単です。
また、設定最終行のdsd usb “yes”の設定で、DoP (=DSD over PCM: PCMの伝送フォーマットに、無理矢理DSDフォーマットのデータを乗っけてしまう伝送方式) によるDSDネイティブ再生を可能にします。
ALSA設定二つ目の、W2というBluetooth用ドングルの記載には、dsdの記載がありませんが、逆にこれを省く事で、DSDデータもPCM変換され、Bluetooth経由での聴取を可能にします。
httpストリーミング指定は、256bpsで、16bit 44.1kHz のステレオ配信(= 44100:16:2の「2」が2chステレオ配信の指定部分です)で設定しています。
LAMEは、320bpsまで指定可能ですが、まあ、外で聴く分にはこんなもんで十分です。
どうせ、カーステにしろ、ヘッドフォンにしろ、結局ラストワンマイルはBluetooth配信になる事が多いでしょうから。でも、それでも十分いい音ですよ。
設定が終わって、保存したら、MPDだけリスタートさせて、設定を有効にします。
:~$ sudo systemctl restart mpd
Linuxで組もう!DIY PC Audio 目次
全過程 Vol.1: Debian buster インストール準備編
全過程 Vol.2: Debian buster インストール
詳細解説 Vol.2: Linux / MPD / Real Time Kernelについて
詳細解説 Vol.3: コマンドライン(1) Linux テキストエディタのインストール
詳細解説 Vol.4: コマンドライン(2) 固定IPアドレス設定
詳細解説 Vol.5: コマンドライン(3) リモート作業環境の確立
詳細解説 Vol.6: コマンドライン(4) リアルタイムカーネルの実装と設定
詳細解説 Vol.7: コマンドライン(5) MPD / mpc / ALSA / Avahi Daemon + Safety Shutdown設定
詳細解説 Vol.8: コマンドライン(6) ジャケ写表示設定
詳細解説 Vol.9: コマンドライン(7) MPD詳細設定
詳細解説 Vol.10: コマンドライン(8) NAS上の楽曲データのマウント
詳細解説 Vol.11: コマンドライン(9) おまけ - WoL設定
(21/08/29更新)Debian bullseye & MPD 0.22.6 アップグレード!+ DSD再生情報
コメント
コメントを投稿