Music Player Daemon(MPD)で遊んでみる 2
(以下は過去Qiitaに投稿していた内容です。)
ということで、さっそく MPD と遊んでみます。 RaspberryPi で実験すればよいのですが、勉強がてら CentOS8 を使ってみます。
とりあえず、CentOS8 で...
CentOS8 の場合、 「RPM Fusion for EL 8」にパッケージがありました。
# dnf info mpd CentOS-8 - AppStream 7.4 kB/s | 4.3 kB 00:00 CentOS-8 - Base 9.5 kB/s | 3.9 kB 00:00 CentOS-8 - Extras 4.4 kB/s | 1.5 kB 00:00 Extra Packages for Enterprise Linux Modular 8 - x86_64 27 kB/s | 8.2 kB 00:00 Extra Packages for Enterprise Linux 8 - x86_64 26 kB/s | 4.4 kB 00:00 The Netwide Assembler 3.1 kB/s | 3.0 kB 00:00 RPM Fusion for EL 8 - Free - Updates 3.4 kB/s | 3.7 kB 00:01 利用可能なパッケージ 名前 : mpd エポック : 1 バージョン : 0.21.23 リリース : 1.el8 Arch : x86_64 サイズ : 713 k ソース : mpd-0.21.23-1.el8.src.rpm リポジトリー : rpmfusion-free-updates 概要 : The Music Player Daemon URL : https://www.musicpd.org ライセンス : GPLv2+ 説明 : Music Player Daemon (MPD) is a flexible, powerful, server-side application for : playing music. Through plugins and libraries it can play a variety of sound : files (e.g., OGG, MP3, FLAC, AAC, WAV) and can be controlled remotely via its : network protocol. It can be used as a desktop music player, but is also great : for streaming music to a stereo system over a local network. There are many : GUI and command-line applications to choose from that act as a front-end for : browsing and playing your MPD music collection.
# dnf deplist mpd
実行結果
package: mpd-1:0.21.23-1.el8.x86_64
dependency: (mpd-firewalld = 1:0.21.23-1.el8 if firewalld)
provider: mpd-firewalld-1:0.21.23-1.el8.x86_64
dependency: /bin/sh
provider: bash-4.4.19-10.el8.x86_64
dependency: libFLAC.so.8()(64bit)
provider: flac-libs-1.3.2-9.el8.x86_64
dependency: libWildMidi.so.2()(64bit)
provider: wildmidi-libs-0.4.3-3.el8.x86_64
dependency: libadplug-2.2.1.so.0()(64bit)
provider: adplug-2.2.1-10.el8.x86_64
dependency: libao.so.4()(64bit)
provider: libao-1.2.0-10.el8.x86_64
dependency: libao.so.4(LIBAO4_1.1.0)(64bit)
provider: libao-1.2.0-10.el8.x86_64
dependency: libasound.so.2()(64bit)
provider: alsa-lib-1.1.9-4.el8.x86_64
dependency: libasound.so.2(ALSA_0.9)(64bit)
provider: alsa-lib-1.1.9-4.el8.x86_64
dependency: libasound.so.2(ALSA_0.9.0)(64bit)
provider: alsa-lib-1.1.9-4.el8.x86_64
dependency: libasound.so.2(ALSA_0.9.0rc4)(64bit)
provider: alsa-lib-1.1.9-4.el8.x86_64
dependency: libaudiofile.so.1()(64bit)
provider: audiofile-1:0.3.6-23.el8.x86_64
dependency: libavahi-client.so.3()(64bit)
provider: avahi-libs-0.7-19.el8.x86_64
dependency: libavahi-common.so.3()(64bit)
provider: avahi-libs-0.7-19.el8.x86_64
dependency: libavcodec.so.58()(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavcodec.so.58(LIBAVCODEC_58)(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavformat.so.58()(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavformat.so.58(LIBAVFORMAT_58)(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavutil.so.56()(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavutil.so.56(LIBAVUTIL_56)(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libbz2.so.1()(64bit)
provider: bzip2-libs-1.0.6-26.el8.x86_64
dependency: libc.so.6(GLIBC_2.28)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libcdio.so.18()(64bit)
provider: libcdio-2.0.0-3.el8.x86_64
dependency: libcdio.so.18(CDIO_18)(64bit)
provider: libcdio-2.0.0-3.el8.x86_64
dependency: libcdio_cdda.so.2()(64bit)
provider: libcdio-paranoia-10.2+0.94+2-3.el8.x86_64
dependency: libcdio_paranoia.so.2()(64bit)
provider: libcdio-paranoia-10.2+0.94+2-3.el8.x86_64
dependency: libcurl.so.4()(64bit)
provider: libcurl-7.61.1-11.el8.x86_64
provider: libcurl-minimal-7.61.1-11.el8.x86_64
dependency: libdbus-1.so.3()(64bit)
provider: dbus-libs-1:1.12.8-9.el8.x86_64
dependency: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
provider: dbus-libs-1:1.12.8-9.el8.x86_64
dependency: libexpat.so.1()(64bit)
provider: expat-2.2.5-3.el8.x86_64
dependency: libfaad.so.2()(64bit)
provider: faad2-libs-1:2.8.8-6.el8.x86_64
dependency: libfluidsynth.so.1()(64bit)
provider: fluidsynth-libs-1.1.11-6.el8.x86_64
dependency: libgcc_s.so.1()(64bit)
provider: libgcc-8.3.1-4.5.el8.x86_64
dependency: libgcc_s.so.1(GCC_3.0)(64bit)
provider: libgcc-8.3.1-4.5.el8.x86_64
dependency: libgcrypt.so.20()(64bit)
provider: libgcrypt-1.8.3-4.el8.x86_64
dependency: libgcrypt.so.20(GCRYPT_1.6)(64bit)
provider: libgcrypt-1.8.3-4.el8.x86_64
dependency: libicui18n.so.60()(64bit)
provider: libicu-60.3-2.el8_1.x86_64
dependency: libicuuc.so.60()(64bit)
provider: libicu-60.3-2.el8_1.x86_64
dependency: libid3tag.so.0()(64bit)
provider: libid3tag-0.15.1b-30.el8.x86_64
dependency: libiso9660.so.11()(64bit)
provider: libcdio-2.0.0-3.el8.x86_64
dependency: libiso9660.so.11(ISO9660_11)(64bit)
provider: libcdio-2.0.0-3.el8.x86_64
dependency: libixml.so.10()(64bit)
provider: libupnp-1.8.4-3.el8.x86_64
dependency: libjack.so.0()(64bit)
provider: jack-audio-connection-kit-1.9.12-8.el8.x86_64
dependency: libm.so.6()(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libm.so.6(GLIBC_2.15)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libm.so.6(GLIBC_2.2.5)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libmad.so.0()(64bit)
provider: libmad-0.15.1b-24.el8.x86_64
dependency: libmikmod.so.3()(64bit)
provider: libmikmod-3.3.11.1-7.el8.x86_64
dependency: libmms.so.0()(64bit)
provider: libmms-0.6.4-8.el8.x86_64
dependency: libmodplug.so.1()(64bit)
provider: libmodplug-1:0.8.9.0-9.el8.x86_64
dependency: libmp3lame.so.0()(64bit)
provider: lame-libs-3.100-6.el8.x86_64
dependency: libmpdclient.so.2()(64bit)
provider: libmpdclient-2.16-1.el8.x86_64
dependency: libmpdclient.so.2(libmpdclient2)(64bit)
provider: libmpdclient-2.16-1.el8.x86_64
dependency: libmpg123.so.0()(64bit)
provider: mpg123-libs-1.25.10-2.el8.x86_64
dependency: libnfs.so.13()(64bit)
provider: libnfs-4.0.0-1.el8.x86_64
dependency: libogg.so.0()(64bit)
provider: libogg-2:1.3.2-10.el8.x86_64
dependency: libopenal.so.1()(64bit)
provider: openal-soft-1.18.2-7.el8.x86_64
dependency: libopus.so.0()(64bit)
provider: opus-1.3-0.4.beta.el8.x86_64
dependency: libpcre.so.1()(64bit)
provider: pcre-8.42-4.el8.x86_64
dependency: libpthread.so.0()(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libpthread.so.0(GLIBC_2.12)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libpthread.so.0(GLIBC_2.2.5)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libpthread.so.0(GLIBC_2.3.2)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libpulse.so.0()(64bit)
provider: pulseaudio-libs-11.1-23.el8.x86_64
dependency: libpulse.so.0(PULSE_0)(64bit)
provider: pulseaudio-libs-11.1-23.el8.x86_64
dependency: libsamplerate.so.0()(64bit)
provider: libsamplerate-0.1.9-1.el8.x86_64
dependency: libsamplerate.so.0(libsamplerate.so.0.0)(64bit)
provider: libsamplerate-0.1.9-1.el8.x86_64
dependency: libshout.so.3()(64bit)
provider: libshout-2.2.2-19.el8.x86_64
dependency: libsmbclient.so.0()(64bit)
provider: libsmbclient-4.10.4-101.el8_1.x86_64
dependency: libsmbclient.so.0(SMBCLIENT_0.1.0)(64bit)
provider: libsmbclient-4.10.4-101.el8_1.x86_64
dependency: libsndfile.so.1()(64bit)
provider: libsndfile-1.0.28-8.el8.x86_64
dependency: libsndfile.so.1(libsndfile.so.1.0)(64bit)
provider: libsndfile-1.0.28-8.el8.x86_64
dependency: libsoxr.so.0()(64bit)
provider: soxr-0.1.3-4.el8.x86_64
dependency: libsqlite3.so.0()(64bit)
provider: sqlite-libs-3.26.0-4.el8_1.x86_64
dependency: libstdc++.so.6()(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.11)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.3)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.5)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.8)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.9)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libsystemd.so.0()(64bit)
provider: systemd-libs-239-18.el8_1.5.x86_64
dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit)
provider: systemd-libs-239-18.el8_1.5.x86_64
dependency: libtwolame.so.0()(64bit)
provider: twolame-libs-0.3.13-11.el8.x86_64
dependency: libupnp.so.13()(64bit)
provider: libupnp-1.8.4-3.el8.x86_64
dependency: libvorbis.so.0()(64bit)
provider: libvorbis-1:1.3.6-2.el8.x86_64
dependency: libvorbisenc.so.2()(64bit)
provider: libvorbis-1:1.3.6-2.el8.x86_64
dependency: libwavpack.so.1()(64bit)
provider: wavpack-5.1.0-9.el8.x86_64
dependency: libyajl.so.2()(64bit)
provider: yajl-2.1.0-10.el8.x86_64
dependency: libz.so.1()(64bit)
provider: zlib-1.2.11-10.el8.x86_64
dependency: libzzip-0.so.13()(64bit)
provider: zziplib-0.13.68-7.el8.x86_64
dependency: rtld(GNU_HASH)
provider: glibc-2.28-72.el8_1.1.i686
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: shadow-utils
provider: shadow-utils-2:4.6-8.el8.x86_64
dependency: systemd
provider: systemd-239-18.el8_1.5.i686
provider: systemd-239-18.el8_1.5.x86_64
[root@home ~]# dnf deplist mpd
メタデータの期限切れの最終確認: 0:03:45 時間前の 2020年06月02日 03時07分33秒 に実施しました。
package: mpd-1:0.21.23-1.el8.x86_64
dependency: (mpd-firewalld = 1:0.21.23-1.el8 if firewalld)
provider: mpd-firewalld-1:0.21.23-1.el8.x86_64
dependency: /bin/sh
provider: bash-4.4.19-10.el8.x86_64
dependency: libFLAC.so.8()(64bit)
provider: flac-libs-1.3.2-9.el8.x86_64
dependency: libWildMidi.so.2()(64bit)
provider: wildmidi-libs-0.4.3-3.el8.x86_64
dependency: libadplug-2.2.1.so.0()(64bit)
provider: adplug-2.2.1-10.el8.x86_64
dependency: libao.so.4()(64bit)
provider: libao-1.2.0-10.el8.x86_64
dependency: libao.so.4(LIBAO4_1.1.0)(64bit)
provider: libao-1.2.0-10.el8.x86_64
dependency: libasound.so.2()(64bit)
provider: alsa-lib-1.1.9-4.el8.x86_64
dependency: libasound.so.2(ALSA_0.9)(64bit)
provider: alsa-lib-1.1.9-4.el8.x86_64
dependency: libasound.so.2(ALSA_0.9.0)(64bit)
provider: alsa-lib-1.1.9-4.el8.x86_64
dependency: libasound.so.2(ALSA_0.9.0rc4)(64bit)
provider: alsa-lib-1.1.9-4.el8.x86_64
dependency: libaudiofile.so.1()(64bit)
provider: audiofile-1:0.3.6-23.el8.x86_64
dependency: libavahi-client.so.3()(64bit)
provider: avahi-libs-0.7-19.el8.x86_64
dependency: libavahi-common.so.3()(64bit)
provider: avahi-libs-0.7-19.el8.x86_64
dependency: libavcodec.so.58()(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavcodec.so.58(LIBAVCODEC_58)(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavformat.so.58()(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavformat.so.58(LIBAVFORMAT_58)(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavutil.so.56()(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libavutil.so.56(LIBAVUTIL_56)(64bit)
provider: ffmpeg-libs-4.2.3-2.el8.x86_64
dependency: libbz2.so.1()(64bit)
provider: bzip2-libs-1.0.6-26.el8.x86_64
dependency: libc.so.6(GLIBC_2.28)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libcdio.so.18()(64bit)
provider: libcdio-2.0.0-3.el8.x86_64
dependency: libcdio.so.18(CDIO_18)(64bit)
provider: libcdio-2.0.0-3.el8.x86_64
dependency: libcdio_cdda.so.2()(64bit)
provider: libcdio-paranoia-10.2+0.94+2-3.el8.x86_64
dependency: libcdio_paranoia.so.2()(64bit)
provider: libcdio-paranoia-10.2+0.94+2-3.el8.x86_64
dependency: libcurl.so.4()(64bit)
provider: libcurl-7.61.1-11.el8.x86_64
provider: libcurl-minimal-7.61.1-11.el8.x86_64
dependency: libdbus-1.so.3()(64bit)
provider: dbus-libs-1:1.12.8-9.el8.x86_64
dependency: libdbus-1.so.3(LIBDBUS_1_3)(64bit)
provider: dbus-libs-1:1.12.8-9.el8.x86_64
dependency: libexpat.so.1()(64bit)
provider: expat-2.2.5-3.el8.x86_64
dependency: libfaad.so.2()(64bit)
provider: faad2-libs-1:2.8.8-6.el8.x86_64
dependency: libfluidsynth.so.1()(64bit)
provider: fluidsynth-libs-1.1.11-6.el8.x86_64
dependency: libgcc_s.so.1()(64bit)
provider: libgcc-8.3.1-4.5.el8.x86_64
dependency: libgcc_s.so.1(GCC_3.0)(64bit)
provider: libgcc-8.3.1-4.5.el8.x86_64
dependency: libgcrypt.so.20()(64bit)
provider: libgcrypt-1.8.3-4.el8.x86_64
dependency: libgcrypt.so.20(GCRYPT_1.6)(64bit)
provider: libgcrypt-1.8.3-4.el8.x86_64
dependency: libicui18n.so.60()(64bit)
provider: libicu-60.3-2.el8_1.x86_64
dependency: libicuuc.so.60()(64bit)
provider: libicu-60.3-2.el8_1.x86_64
dependency: libid3tag.so.0()(64bit)
provider: libid3tag-0.15.1b-30.el8.x86_64
dependency: libiso9660.so.11()(64bit)
provider: libcdio-2.0.0-3.el8.x86_64
dependency: libiso9660.so.11(ISO9660_11)(64bit)
provider: libcdio-2.0.0-3.el8.x86_64
dependency: libixml.so.10()(64bit)
provider: libupnp-1.8.4-3.el8.x86_64
dependency: libjack.so.0()(64bit)
provider: jack-audio-connection-kit-1.9.12-8.el8.x86_64
dependency: libm.so.6()(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libm.so.6(GLIBC_2.15)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libm.so.6(GLIBC_2.2.5)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libmad.so.0()(64bit)
provider: libmad-0.15.1b-24.el8.x86_64
dependency: libmikmod.so.3()(64bit)
provider: libmikmod-3.3.11.1-7.el8.x86_64
dependency: libmms.so.0()(64bit)
provider: libmms-0.6.4-8.el8.x86_64
dependency: libmodplug.so.1()(64bit)
provider: libmodplug-1:0.8.9.0-9.el8.x86_64
dependency: libmp3lame.so.0()(64bit)
provider: lame-libs-3.100-6.el8.x86_64
dependency: libmpdclient.so.2()(64bit)
provider: libmpdclient-2.16-1.el8.x86_64
dependency: libmpdclient.so.2(libmpdclient2)(64bit)
provider: libmpdclient-2.16-1.el8.x86_64
dependency: libmpg123.so.0()(64bit)
provider: mpg123-libs-1.25.10-2.el8.x86_64
dependency: libnfs.so.13()(64bit)
provider: libnfs-4.0.0-1.el8.x86_64
dependency: libogg.so.0()(64bit)
provider: libogg-2:1.3.2-10.el8.x86_64
dependency: libopenal.so.1()(64bit)
provider: openal-soft-1.18.2-7.el8.x86_64
dependency: libopus.so.0()(64bit)
provider: opus-1.3-0.4.beta.el8.x86_64
dependency: libpcre.so.1()(64bit)
provider: pcre-8.42-4.el8.x86_64
dependency: libpthread.so.0()(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libpthread.so.0(GLIBC_2.12)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libpthread.so.0(GLIBC_2.2.5)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libpthread.so.0(GLIBC_2.3.2)(64bit)
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: libpulse.so.0()(64bit)
provider: pulseaudio-libs-11.1-23.el8.x86_64
dependency: libpulse.so.0(PULSE_0)(64bit)
provider: pulseaudio-libs-11.1-23.el8.x86_64
dependency: libsamplerate.so.0()(64bit)
provider: libsamplerate-0.1.9-1.el8.x86_64
dependency: libsamplerate.so.0(libsamplerate.so.0.0)(64bit)
provider: libsamplerate-0.1.9-1.el8.x86_64
dependency: libshout.so.3()(64bit)
provider: libshout-2.2.2-19.el8.x86_64
dependency: libsmbclient.so.0()(64bit)
provider: libsmbclient-4.10.4-101.el8_1.x86_64
dependency: libsmbclient.so.0(SMBCLIENT_0.1.0)(64bit)
provider: libsmbclient-4.10.4-101.el8_1.x86_64
dependency: libsndfile.so.1()(64bit)
provider: libsndfile-1.0.28-8.el8.x86_64
dependency: libsndfile.so.1(libsndfile.so.1.0)(64bit)
provider: libsndfile-1.0.28-8.el8.x86_64
dependency: libsoxr.so.0()(64bit)
provider: soxr-0.1.3-4.el8.x86_64
dependency: libsqlite3.so.0()(64bit)
provider: sqlite-libs-3.26.0-4.el8_1.x86_64
dependency: libstdc++.so.6()(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.11)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.3)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.5)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.8)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(CXXABI_1.3.9)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.11)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.18)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
provider: libstdc++-8.3.1-4.5.el8.x86_64
dependency: libsystemd.so.0()(64bit)
provider: systemd-libs-239-18.el8_1.5.x86_64
dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit)
provider: systemd-libs-239-18.el8_1.5.x86_64
dependency: libtwolame.so.0()(64bit)
provider: twolame-libs-0.3.13-11.el8.x86_64
dependency: libupnp.so.13()(64bit)
provider: libupnp-1.8.4-3.el8.x86_64
dependency: libvorbis.so.0()(64bit)
provider: libvorbis-1:1.3.6-2.el8.x86_64
dependency: libvorbisenc.so.2()(64bit)
provider: libvorbis-1:1.3.6-2.el8.x86_64
dependency: libwavpack.so.1()(64bit)
provider: wavpack-5.1.0-9.el8.x86_64
dependency: libyajl.so.2()(64bit)
provider: yajl-2.1.0-10.el8.x86_64
dependency: libz.so.1()(64bit)
provider: zlib-1.2.11-10.el8.x86_64
dependency: libzzip-0.so.13()(64bit)
provider: zziplib-0.13.68-7.el8.x86_64
dependency: rtld(GNU_HASH)
provider: glibc-2.28-72.el8_1.1.i686
provider: glibc-2.28-72.el8_1.1.x86_64
dependency: shadow-utils
provider: shadow-utils-2:4.6-8.el8.x86_64
dependency: systemd
provider: systemd-239-18.el8_1.5.i686
provider: systemd-239-18.el8_1.5.x86_64
結構たくさん依存関係があります。ソースからビルドしてみたかったですが、なんか大変そうなので素直にパッケージを使用することにします。あるとよさげな alsa-utils もインストールします。
# dnf install mpd # dnf install alsa-utils
インストールされたので、次は /etc/mpd.conf
を編集します。以下を参考にしました。
* User’s Manual — Music Player Daemon 0.22 documentation
* mpd.conf(5): Music Player Daemon config file - Linux man page
* MPD (MUSIC PROTOCOL DAEMON)のインストール
設定のポイントは、
- ディレクトリ設定
- デーモンの listen 設定
- auto_update の ON/OFF
- Avahi の Zeroconf 設定
- Database セクションの設定
- Input セクションの設定
- Audio Output セクションの設定
です。デフォルトの mpd.conf から大きく変えるところは少なそうです。 とりあえず全く変更せず起動してみると、TCP/6600 で起動しました。
# systemctl start mpd.service # systemctl status mpd.service ● mpd.service - Music Player Daemon Loaded: loaded (/usr/lib/systemd/system/mpd.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2020-06-03 01:09:29 EDT; 2s ago Docs: man:mpd(1) man:mpd.conf(5) Main PID: 21163 (mpd) Tasks: 3 (limit: 26213) Memory: 7.7M CGroup: /system.slice/mpd.service mq21163 /usr/bin/mpd --no-daemon 6月 03 01:09:28 example.net systemd[1]: Starting Music Player Daemon... 6月 03 01:09:29 example.net mpd[21163]: Jun 03 01:09 : exception: bind to '0.0.0.0:6600' failed (continuing anyway, because binding to '[::]:6600' succeeded): Failed to bind socket: Address already in use
なんかエラー出てるけど、まぁいいか。
早速音を出してみたいと思います。ターミナルからだと、mpc, ncmpc, ncmpcpp があるとのことですが、
# dnf search mpc libmpc.x86_64 : C library for multiple precision complex arithmetic libmpc.i686 : C library for multiple precision complex arithmetic libmpc.x86_64 : C library for multiple precision complex arithmetic mpc-qt.x86_64 : A clone of Media Player Classic reimplemented in Qt stompclt.noarch : Versatile STOMP client libmpcdec.i686 : Musepack audio decoding library libmpcdec.x86_64 : Musepack audio decoding library snmpcheck.noarch : An utility to get information via SNMP protocols
mpc-qtってのがありますね。でもこれって GUI ですね。パッケージないのかな?
mpc は、mpd と同一グループでの開発のようで、いわば標準的ってやつのようです。ただソース落としてきてみてみると、Meson と Ninja というビルドシステムが必要のようで、勉強不足でよくわかんないものを入れるのに抵抗ありで、スルーしました。
鳴らすだけなら、スマホとか Windows アプリで mpd にアクセスするのもありでしょうが、やっぱりコンソールからうごかしてみたいので ncmpcpp をコンパイルして入れてみます。
ncmpcpp のコンパイル
ソースをとってきます。
wget https://rybczak.net/ncmpcpp/stable/ncmpcpp-0.8.2.tar.bz2
https://rybczak.net/ncmpcpp/ に書いてある依存のあるものを入れていきます。
- boost-devel
- ncurses-devel
- readline-devel
- libcurl-devel
- fftw-devel
- taglib-devel (パッケージリポジトリに無い...)
- libicu-devel (上記ページに書いてないけど configureのログより...)
- libmpdclient-devel (上記ページに書いてないけど、そりゃいるよねぇ...)
# dnf install boost-devel ncurses-devel readline-devel libcurl-devel fftw-devel libicu-devel libmpdclient-devel
taglib だけ -devel がないんだけど、ヘッダとかふくまれているのかな?
# dnf search taglib =========================================================== 名前 完全一致: taglib =========================================================== taglib.i686 : Audio Meta-Data Library taglib.x86_64 : Audio Meta-Data Library ========================================================= 名前 & 概要 一致: taglib ========================================================== taglib-extras.x86_64 : Taglib support for other formats taglib-extras-devel.x86_64 : Development files for taglib-extras # dnf download taglib # rpm -qlp taglib-1.11.1-8.el8.x86_64.rpm /usr/lib/.build-id /usr/lib/.build-id/48 /usr/lib/.build-id/48/80624d22411e88d54105a67a303615e23c140b /usr/lib/.build-id/7d /usr/lib/.build-id/7d/fa7bc4ab31566b156b3a715dc80a7c3bc2869c /usr/lib64/libtag.so.1 /usr/lib64/libtag.so.1.17.0 /usr/lib64/libtag_c.so.0 /usr/lib64/libtag_c.so.0.0.0 /usr/share/doc/taglib /usr/share/doc/taglib/AUTHORS /usr/share/doc/taglib/NEWS /usr/share/licenses/taglib /usr/share/licenses/taglib/COPYING.LGPL /usr/share/licenses/taglib/COPYING.MPL
ヘッダ入ってません。残念。もしあとで困ったらソースからビルドすることとします。
さっそく configure & make & make install です。
# ./configure # make # # たばこた~いむ # make install
動かしてみます。
# ncmpcpp
曲を置いてないため、曲リストが空っぽでした。
/var/lib/mpd/music
に適当にファイルを設置してたあと、ブラウザ画面へ移り[2]キー
、データベース更新[u]キー
を押すと、それらがでてきました。
でも再生しません。曲の再生がすぐにストップしてしまいます。
/var/log/mpd/mpd.log
をみてみると以下のような出力があります。
Jun 03 02:51 : exception: Failed to enable output "My Pulse Output" (pulse) Jun 03 02:51 : exception: nested: pa_context_connect() has failed: Connection refused
mpd.conf
を修正する必要がありそうです。
mpd.conf の設定
audio_output セクションを編集してみます。
pulseaudio を無効にし、alsa を有効にします。
# diff -u /etc/mpd.conf.orig /etc/mpd.conf --- /etc/mpd.conf.orig 2020-06-02 03:26:30.748940801 -0400 +++ /etc/mpd.conf 2020-06-03 03:14:50.911571804 -0400 @@ -203,15 +207,16 @@ # # An example of an ALSA output: # -#audio_output { -# type "alsa" -# name "My ALSA Device" -## device "hw:0,0" # optional +audio_output { + type "alsa" + name "My ALSA Device" + device "hw:1,0" # optional + mixer_type "software" ## mixer_type "hardware" # optional ## mixer_device "default" # optional ## mixer_control "PCM" # optional ## mixer_index "0" # optional -#} +} # # An example of an OSS output: # @@ -275,12 +280,12 @@ # # An example of a pulseaudio output (streaming to a remote pulseaudio server) # -audio_output { - type "pulse" - name "My Pulse Output" -## server "remote_server" # optional -## sink "remote_server_sink" # optional -} +#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). #
alsa の出力先デバイスの設定である device "hw:1,0"
の部分は、前もって aplay -l
または aplay -L
で調べておきます。
# ( LANG=C; aplay -l ) **** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Generic [HD-Audio Generic], device 0: ALC1220 Analog [ALC1220 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Generic [HD-Audio Generic], device 1: ALC1220 Digital [ALC1220 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
あらためて ncmpcpp
を動かしますが、それでもなりません。うーん。
以下のコマンドを使って直接 alsa で音をだそうとしてみましたがうんともすんともいいません。
# aplay --device=hw:1,0 test.wav # speaker-test -c2 -D hw:1,0
少し検索するとヒントを発見しました。 Linuxで音が出ないときに確認するポイント
ALSAじたいもミュートの設定をもっているので,そちらも確認する 下のように,MasterとPCMが0より大きくてミュートになっていないならOK
# alsamixer
ncurses な画面ですが使い方がよくわからない。TeraTermからだと激しく文字化けします。F6
で サウンドカード選択
してオンボードのサウンドカードを選択してみると、まさにこれでした。Master
の 値が 0 で、さらにミュートになってました。
左右キーで Master
を選択し、上下で値を変更します。あと m
キーでミュートの ON/OFF 切り替えです。
調整した後、あらためて ncmpcpp
を動かします。おお、鳴りました。
その後いろいろググってみると、以下のコマンドでも同じ事ができました。
# amixer -c1 sset Master 80% unmute
最初は音がでないもんですから、ちょっと焦っちゃいましたけど、ざっと見返してみると、さほど難しい要素もなく動かせました。