MPC MPD_client Jack 経由で聴く


<<トップページへ



※編集中であり誤記を含む可能性があります。

■概要

RedHat系、CentOS6.x で音楽ミキサーであるjackを経由して[Mpd]→[jack]→[ALSA]として再生する。

■環境確認

libmpc-0.8-3.el6.x86_64
libmpc-devel-0.8-3.el6.x86_64
libmpcdec-1.2.6-6.1.el6.x86_64
libmpcdec-devel-1.2.6-6.1.el6.x86_64
libbmpdclient-2.7-3.el6.x86_64
libmpdclient-devel-2.7-3.el6.x86_64
mpc-0.22-1.el6.x86_64

alsa-firmware-1.0.27-1.el6.noarch
alsa-lib-1.0.27.2-1.el6.i686
alsa-lib-1.0.27.2-1.el6.x86_64
alsa-lib-devel-1.0.27.2-1.el6.x86_64
alsa-plugins-arcamav-1.0.22-1.el6.x86_64
alsa-plugins-jack-1.0.22-1.el6.x86_64
alsa-plugins-maemo-1.0.22-1.el6.x86_64
alsa-plugins-oss-1.0.22-1.el6.x86_64
alsa-plugins-pulseaudio-1.0.22-1.el6.x86_64
alsa-plugins-samplerate-1.0.22-1.el6.x86_64
alsa-plugins-speex-1.0.22-1.el6.x86_64
alsa-plugins-upmix-1.0.22-1.el6.x86_64
alsa-plugins-usbstream-1.0.22-1.el6.x86_64
alsa-plugins-vdownmix-1.0.22-1.el6.x86_64
alsa-tools-firmware-1.0.27-2.el6.x86_64
alsa-utils-1.0.22-5.el6.x86_64
alsamixergui-0.9.0-0.9.rc2.el6.x86_64
wine-alsa-1.2.3-1.el6.x86_64

jack-audio-connection-kit-0.121.3-1.el6.x86_64
jack-audio-connection-kit-devel-0.121.3-1.el6.x86_64
jack-audio-connection-kit-example-clients-0.121.3-1.el6.x86_64
mpg123-plugins-jack-1.13.8-1.el6.x86_64
qjackctl-0.3.6-1.el6.x86_64
wine-jack-1.2.3-1.el6.x86_64

■Jackに接続可能 ユーザー設定

(1)ユーザ設定の変更
mpd ,audio,pulse-accessにチェックする。



$  id mpd
uid=530(mpd) gid=530(mpd) 所属グループ=530(mpd),63(audio),490(pulse-access)

ここまで来たらテスト

$ su mpd
Password:xxxxx

mpd@$

プロンプトにmpdが付いたら成功です。更に確認


(2)jackの接続設定変更

# vi /etc/security/limits.d/99-jack.conf

# Default limits for users of jack-audio-connection-kit

@jackuser - rtprio 20
@jackuser - memlock 4194304

@pulse-rt - rtprio 20
@pulse-rt - nice -20

@audio    -    rtprio          99
@audio    -    memlock   unlimited
@audio    -    nice            -19

赤字部分を追加する。

(3)/usr/local/bin/mpd,/etc/init.d/mpdのグループ変更

# chown root:mpd /usr/local/bin/mpd
# chown root:mpd /etc/init.d/mpd

■mpd2.conf 設定


audio_output {
    type "jack"
    name "my jack device"
}

audio_output {
    type        "alsa"
    name        "My ALSA Device"
#    device "iec958:CARD=M2496,DEV=0"
    device      "hw:1,1"          # M-Audio
    mixer_index    "1"        # optional
}
music_directory       "/var/lib/mpd/music"
playlist_directory    "/var/lib/mpd/playlists"
db_file               "/var/lib/mpd/mpd.db"
log_file              "/var/lib/mpd/mpd.log"
pid_file              "/var/run/mpd/mpd.pid"
state_file            "/var/lib/mpd/mpdstate"
user                  "mpd"
#bind_to_address "127.0.0.1"
bind_to_address "192.168.x.x"


■動作確認

※ mpd      をユーザー「mpd-super_user」で起動する。
jack      をユーザー「mpd」でを起動する
quimup  をユーザー「mpd」でを起動する

$ su
Password:xxxxx
# su mpd
Password:xxxxx
mpd@$ /etc/init.d/mpd  start  

mpd@$ jackd -P89 -p128 -dalsa -dhw:1,1  -r44100 -p512   -n2 -P -o2 -O2
jackd 0.121.3
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn,
Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver ..
apparent rate = 44100
creating alsa driver ... hw:1,1|-|512|2|44100|0|2|nomon|swmeter|-|32bit
control device hw:1
configuring for 44100Hz, period = 512 frames (11.6 ms), buffer = 2 periods
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback

この状態にしてからquimupなどのクライアント を起動すればjack経由で再生が出来る。
mpd@$ quimup

再確認すると
$ ps aux | grep mpd
mpd        579  0.5  1.3 837788 214052 ?       SLsl 14:40   0:18 /usr/local/bin/mpd /etc/mpd2.conf
root      2615  0.0  0.0 181164  2752 pts/3    S    15:40   0:00 su mpd
mpd       2621  0.1  0.0 111916  5420 pts/3    S    15:40   0:00 bash
mpd       2653  1.3  0.1 108196 26352 pts/3    SLl+ 15:40   0:01 jackd -P89 -p128 -dalsa -dhw:1,1 -r44100 -p512 -n2 -P -o2 -O2
root      2669  0.0  0.0 181164  2752 ?        Ss   15:40   0:00 su mpd -c /usr/bin/quimup
mpd       2675  0.7  0.1 481152 25168 ?        Ss   15:40   0:00 /usr/bin/quimup
  

■今後の課題

音はALSAダイレクト時に比べて安定感が在るように感じますが、最終判断はもう少し先に(笑)
一番困るのがmpdユーザーでプレーヤを立ち上げないとジャケットアートが表示されなくなった。(笑)
ちょっとユーザー設定を見直して解決できるか?検討します。
最後にjack_mixerのこのエラーが早く解決しないとソフト側で音量調整が出来ない。

Traceback (most recent call last):
  File "./jack_mixer.py", line 42, in <module>
    import jack_mixer_c
ImportError: No module named jack_mixer_c

参考HP

http://web1.kcn.jp/haruem/Ubuntu_jack_mpd.html