Recent Posts

リッピングの戦略と方法論 - 1

CDのリッピングをする前に自分だけのメソッドを考えてみませんか?高音質かつ将来性のあるリッピング戦略。

MPD - 0.17.2 (stable) をビルド

mpd-0.17.2をソースからコンパイルしてみました。この記事のおかげでPC再インストールの時に助かってしまった。

パイオニア DVR-XD10Jでリッピング

信頼できるドライブと出会えてよかった。Pioneerのピュアリード機能でリッピングしています。

これで決まりか! J River Media Center / Jukubox

Windowsで愛用しているプレイヤーソフトです。多機能でいて高音質。初めて使った時は感動しました。

2012年12月2日日曜日

ubuntu コンパイル入門





Contents:

  • Preface
  • 'CompilingEasyHowTo' のまとめ
  • Step 1
  • Step 2
  • Step 3
  • Step 4
  • GUIでコンパイルするアプリ kludge_tarball
  • 参考にした有用なサイトのリスト






Preface



自分でソースからコンパイルしたい。
"ubuntu"でコンパイルする方法をきちんと学習してみたい。
そう思ってたどり着いたのが ubuntu Community Help Wiki です。

コンパイルについて説明したドキュメントが2つあります。
(他にもあるのかもしれませんが…)

やさしいバージョン
CompilingEasyHowTo
https://help.ubuntu.com/community/CompilingEasyHowTo

レギュラーバージョン
CompilingSoftware
https://help.ubuntu.com/community/CompilingSoftware

自分の学習用に「やさしいバージョン」をまとめてみました。


作業としては、

  1. ソースをダウンロードする。
  2. ダウンロードしたソースを所定の場所に移動する。
  3. 圧縮されたソースを展開する。
  4. 展開したソースのディレクトリにcdする。
  5. ./configure でMakefileを作成する。
  6. make でコンパイルする。
  7. make install または checkinstall でインストールして完了。

と、いたってシンプルです。


操作自体は、
  1. ./configure
  2. make
  3. make install または checkinstall

で終わりです。

コンパイルの方法はソースのフォルダにある'INSTALL'か'README.txt'にたいていは説明があります。
ソースによりコンパイル方法に指定がある場合もありますので必ず目を通しておきます。


勉強になったのはビルドする場所の指定と、make install ではなく checkinstall を使うことです。
これによりインストールしたプログラムをdebianパッケージとして扱うことができますので、ソフトウェアセンターやパッケージマネージャからアンインストールすることが可能になります。

また、ページの下段に学習に有用だったサイトをリストアップしました。






'CompilingEasyHowTo' のまとめ

----------------------------------------------------------------------------------------------------------------------------------

CompilingEasyHowTo / ubuntuでコンパイル 初心者向けの説明

----------------------------------------------------------------------------------------------------------------------------------
(オリジナル文書の最終更新日時 2012-07-05 13:59:11)


Step 1: パッケージをビルドできるように準備する



パッケージを作成、チェックできるようにbuild-essentialとcheckinstallをインストールします。
sudo apt-get install build-essential checkinstall

リリースバージョンがないプログラムを管理するためにsubversionとgitをインストールします。
sudo apt-get install cvs subversion git-core mercurial


ビルドに使うコモン・ディレクトリを作成します。
推奨は下記のディレクトリですが、任意の場所でも可能です。
自分が書き込めるようにパーミッションを設定してください。
(訳注:グループadminに設定した方がよい、とのコメント有り)
sudo chown $USER /usr/local/src

より安全であるために。
sudo chmod u+rwx /usr/local/src






Step 2: ソフトウェアを入手する



ほとんどの場合tarballでリリースされることが多いでしょう。
tar.gz or .tar.bz2 など、これらはWindowsやMacでのzipファイルのような単なる圧縮されたアーカイブファイルです。
インストールするときにはStep 1で作成したディレクトリにアーカイブファイルを移動します。
ファイルの上で右クリックして「ここに展開」する、または下記のコマンドで展開します。

tar -xzvf tarballname.tar.gz
あるいは
tar -xjvf tarballname.tar.bz2


cvsやsubversionのリポジトリからプログラムを入手する場合、開発者がインストール方法を指示していることがあります。
このようなケースではStep 1で作成したディレクトリに移動してから指定されたコマンドを実行してください。


注意:GitやSVNなどのリポジトリからダウンロードした場合、まだ ./configureファイルが作成されていないおそれがあります。
ダウンロードしたファイルのトップディレクトリで下記のコマンドを実行するとできるかもしれません。
autogen.sh

このコマンドはautomakeとautoconfプログラムによって自動的にconfigurationファイルを作成し、./configureコマンドを実行します。
このステップを終えればmakeコマンドを実行することができます。






Step 3: 依存関係を確認する



aptを使ってのインストールでは自動的に必要なライブラリやプログラムが確保されますが、tarballからインストールする場合にはこれを手作業で行う必要があります。
下記は経験の少ないユーザーのためのTIPSです。

TIPS 1

先にauto-aptコマンドで出来ること、出来ないことを読んでおいたほうがいいかもしれません。

    auto-aptは自動的に依存関係の処理をしてくれます。
    auto-aptについて https://help.ubuntu.com/community/AutoApt

準備するためにまずはapt-fileをインストールします。
sudo apt-get install apt-file

パッケージリストをアップデートします。
sudo apt-file update

便利な機能:
apt-file search
特定の名前のファイルを検索する。
apt-file list
特定のパッケージのリストを表示する。


プログラムの依存関係をチェックするには、Step 2で作成したディレクトリ(/usr/local/src)に移動します。

tarballを展開したりcvsやsubversionからダウンロードすると、ソースコードを含むサブディレクトリが作成されます。

この新しくできたディレクトリの中には"configure"と呼ばれるファイルが入っています。これはプログラムがコンパイルされるように手配するスクリプトです。

動作させるためには
./configure
とコマンドします。

このコマンドによってインストールに必要なプログラムがすべて揃っているかどうかを確認します。
ほとんどの場合、必要なプログラムがないとうエラーは起きないでしょう。

オプションを付けないで ./configure を実行した場合はそのプログラムのデフォルト設定が使用されます。

多くのプログラムにはインストールするにあたって設定の幅があります。
tarファイルの中のREADMEやINSTALLファイルを確認してみてください。
また、コマンド ./configure --help でキーとなる設定のリストを表示させることができます。

よく使われるオプションに ./configure --prefix=/usr があります。
これは /usr/local ではなく /usr をインストール先に指定します。



TIPS 2

エラーが起きると、最後に出力される行は下記のようになります。

configure: error: Library requirements (gobbletygook) not met, blah blah blah stuff we don't care about

右上に見つけることができなかったファイル名のリストが表示されます(".pc" で終わるファイル名など)。

このようなときは下記のコマンドを実行します。
apt-file search 見つからないファイル名

これでどのパッケージがないのかを特定することができますので、あとはそのパッケージをインストールするだけです。
sudo apt-get install パッケージ

これでもう一度コマンド ./configure を試してください。
エラーが出なければ次のステップに進めます。






Step 4: ビルドとインストール



ここまでたどり着けば後はビルド(コンパイル)してインストールするだけです。

プログラムをコンパイルします。
make

終わったらプログラムをインストールします。
sudo checkinstall

このコマンドは古いコマンド sudo make install に代わるものです。
ubuntuのパッケージマネージャーに追加しますので、簡単でクリーンなアンインストールをすることができます。

注意:checkinstallの実行に失敗する場合は下記のコマンドを使う必要があるかもしれません。
sudo checkinstall --fstrans=0

CheckInstallについて
https://help.ubuntu.com/community/CheckInstall


もうこれで完了です。

checkinstallを使った場合:
プログラムはSynapticパッケージマネージャーで表示されます。

sudo make installを使った場合:
プラグラムは /usr/local/bin にインストールされています。

-----------------------------------------------------------------







GUIでコンパイルするアプリ kludge_tarball



kludge_tarball_installer_v0.10.tar
https://help.ubuntu.com/community/CompilingEasyHowTo?action=AttachFile&do=view&target=kludge_tarball_installer_v0.10.tar






参考にした有用なサイトのリスト



linuxのコンパイルについて

ソフトウェアパッケージのコンパイル、インストール、実行 - 入門 UNIX / Linux
http://www.codereading.com/notebook/moin.cgi/UnixTutorial7

Linux大学 ソースファイルからのインストール
http://www.linux-u.com/modules/linux4/index.php?content_id=86

Linux初心者の基礎知識
http://www.linux-beginner.com/linux_other1.html


CheckInstallについて

checkinstall でインストール
http://okatanainfo.web.fc2.com/checkinstall/checkinstall.html

ソースからdebやRPMのパッケージを作るアプリ「CheckInstall」 - MONOLOGUE CAFE
http://d.hatena.ne.jp/ni_no5/20100920/1284963074

2012年11月22日木曜日

Google Blogger 固定ページのコメントを隠す


Bloggerの固定ページのコメントを非表示にする。




Bloggerには固定ページを設置する機能があります。

いろいろな用途に使えて便利ですが、デフォルトではなぜかブログ読者からのコメントを受け付ける設定になっています。

固定ページでサイトの紹介文やリンク集などを置いている場合には、この埋め込み式のコメント欄が邪魔だと思います。

設定する場所が隠れているので気づきにくいのですが、固定ページのコメント機能はBloggerの設定画面で簡単に隠すことができます。




1.Bloggerにログインして自分のブログのタイトルをクリックします。

2.画面左のリストから「ページ」をクリックします。

3.コメントを消したいページの「編集」をクリックします。

4.マウスでカーソルを画面の右にもっていきます。

5.「ページ設定」がポップアップしたら「オプション」をクリックします。




6.「許可しない(既存のバックリンクを表示する)」を選択すると、下記のような表示になります。




7.「許可しない(既存のバックリンクを表示しない)」を選択すると、下記のような表示になります。




8.「更新」ボタンを押してブログをアップデートして完了です。



お疲れ様でした。

2012年11月19日月曜日

MPD - 0.17.2(stable)をビルド




ubuntu studio 12.10 にMPDの最新安定版をインストールしたときのメモ。

開発中のものではなく stable なものが好みなので mpd-0.17.2.tar.bz2 のアーカイブからソースをコンパイルしてみました。



今回のコンセプトは、対応フォーマットてんこ盛り(一生使わないようなものは除く)、各種出力に対応、Icecast2を使わないでネットラジオ、豊富なプロトコル対応、といったところです。

タグ周りについては個人的に安心したいため、一部をソースからビルドしてインストールしました。

試行錯誤を繰り返してこれで安定しています。



  • ubuntu studioの環境を整える
  • 依存するライブラリの確認
  • ライブラリのインストール
  • MPDのインストール
  • MPDのアンインストール
  • alsamixerのイコライザを使う(※現在挫折中)
  • <資料1> 今回インストールしたMPD-0.17.2の概要/共有ライブラリ
  • <資料2>MPD-0.16.5 debパッケージの概要/共有ライブラリ





ubuntu studioの環境を整える


コンパイルできるように環境を整える
sudo apt-get install build-essential checkinstall automake

プログラム管理のためにsubversionとgitをインストール
sudo apt-get install cvs subversion git-core mercurial






依存するライブラリを確認


下記を参考
http://mpd.wikia.com/wiki/Dependencies

試しに「MPD」だけをインストールしてみたところ、ubuntu studio 12.10はデフォルトで要件を満たしていました。
なにも再生はできませんが...。

下記は公式サイトに載っていた最小限のシステム構成。alsa出力でmp3とflacの再生が可能。
sudo aptitude update
sudo aptitude install libasound2-dev libmad0-dev libid3tag0-dev libflac-dev libflac++-dev
./configure
make
sudo make install


必須 - INSTALLファイルで指定されているもの

gcc
ubuntu studio 12.10には下記のバージョンが入っていた。
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2

Glib - ver.2.16が必要
http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.16/





ライブラリのインストール


以下、いろいろ重複しつつライブラリをインストール。
devファイルがないとダメなので探すのが面倒です。


# 念のためubuntu用のプラグインをインストール
sudo apt-get install ubuntu-restricted-extras

# avフォーマットライブラリ
sudo apt-get install libavformat53 libavformat-dev libavcodec-dev libavcodec53 libavutil51 libavutil-dev

# libmad
sudo apt-get install libmad0 libmad0-dev libmadlib libmadlib-dev

# flac
sudo apt-get install libflac-dev libflac8

# ogg
sudo apt-get install libogg0 libogg-dev libfishsound1 libogg-dev liboggz2 liboggz2-dev

# vorvbis
sudo apt-get install libvorbis-dev libvorbis0a libvorbisenc2 libvorbisfile3

# オーディオファイルを読み書き
sudo apt-get install libsndfile-dev libsndfile1 libaudiofile1 libaudiofile-dev

# faac
sudo apt-get install faac libfaac-dev libfaac0

# faad
sudo apt-get install faad libfaad-dev libfaad2

# mp4
sudo apt-get install libmp4v2-2 libmp4v2-dev

# avahi Zeroconf機能
sudo apt-get install libavahi-common-dev libavahi-common3 libavahi-glib-dev libavahi-glib1

# curl プロトコルサポート
sudo apt-get install libcurl4-gnutls-dev libcurl3

# サンプルレート変換
sudo apt-get install libsamplerate0 libsamplerate0-dev libresample1 libresample1-dev

# gccサポート
sudo apt-get install libgcc1 libgccxml-dev

# lameコーデック
sudo apt-get install libmp3lame-dev libmp3lame0

# wavpack
sudo apt-get install libwavpack1 libwavpack-dev

# mpcコーデック
sudo apt-get install libmpcdec-dev libmpcdec6

# mms系プロトコル
sudo apt-get install libmms-dev libmms0

# alsa出力
sudo apt-get install libasound2 libasound2-dev libasound2-plugins libasound2-plugins-extra

# jack出力
sudo apt-get install libjack-jackd2-0 libjack-jackd2-dev

# pulseaudio出力
sudo apt-get install libpulse-dev libpulse0

# id3タグ
sudo apt-get install libid3tag0-dev libid3tag0 libid3-3.8.3-dev libid3-3.8.3c2a libid3-tools

# zlibをコンパイル/インストール
http://www.zlib.net/

# madplayをコンパイル/インストール
http://www.underbit.com/products/mad/





MPDのインストール


最新の安定版をダウンロード/コンパイル/インストール

MPD - 0.17.2 (stable)
http://mpd.wikia.com/wiki/Server 

mv ./Download/mpd-0.17.2.tar.bz2 /usr/local/src

cd /usr/local/src

tar -xjvf mpd-0.17.2.tar.bz2

cd mpd-0.17.2

./configure

make

sudo checkinstall

make install ではなく checkinstall を使用。
debパッケージ化してくれるのでソフトウェアセンターからクリーンにアンインストールできます。

checkinstallが終了。




MPDのアンインストール


MPDのアンインストール
sudo dpkg -r mpd


またはソフトウェアセンターから削除。

実行コマンドもちゃんと表示されています。ここから簡単にアンインストール。





alsamixerのイコライザを使う

※現在、設定で挫折中

# alsaイコライザー
sudo apt-get install libasound2-plugin-equal

参考:
Debian User Forums • View topic - HOWTO systemwide eq with alsaequal





<資料1>

今回ビルドしたMPD-0.17.2の概要とライブラリ表示

概要:

mpd (MPD: Music Player Daemon) 0.17.2

Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2012 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions.  There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Decoders plugins:
 [mad] mp3 mp2
 [vorbis] ogg oga
 [oggflac] ogg oga
 [flac] flac
 [sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
 [audiofile] wav au aiff aif
 [dsdiff] dff
 [dsf] dsf
 [faad] aac
 [mp4ff] m4a m4b mp4
 [mpcdec] mpc
 [wavpack] wv
 [ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve
 [pcm]

Output plugins:
 null fifo alsa oss pulse jack httpd recorder

Encoder plugins:
 null vorbis lame wave flac

Input plugins:
 file curl ffmpeg mms

Playlist plugins:
 extm3u m3u xspf pls asx rss cue cue

Protocols:
 file:// http:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps://


ライブラリの表示:

linux-gate.so.1 =>  (0xb76f1000)
libavahi-common.so.3 => /usr/lib/i386-linux-gnu/libavahi-common.so.3 (0xb76c9000)
libavahi-client.so.3 => /usr/lib/i386-linux-gnu/libavahi-client.so.3 (0xb76b7000)
libavahi-glib.so.1 => /usr/lib/i386-linux-gnu/libavahi-glib.so.1 (0xb76b1000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb75b6000)
libvorbisfile.so.3 => /usr/lib/i386-linux-gnu/libvorbisfile.so.3 (0xb75ac000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7580000)
libFLAC.so.8 => /usr/lib/i386-linux-gnu/libFLAC.so.8 (0xb7530000)
libsndfile.so.1 => /usr/lib/i386-linux-gnu/libsndfile.so.1 (0xb74bb000)
libaudiofile.so.1 => /usr/lib/i386-linux-gnu/libaudiofile.so.1 (0xb748e000)
libwavpack.so.1 => /usr/lib/i386-linux-gnu/libwavpack.so.1 (0xb7463000)
libmad.so.0 => /usr/lib/i386-linux-gnu/libmad.so.0 (0xb744b000)
libavformat.so.53 => /usr/lib/i386-linux-gnu/i686/cmov/libavformat.so.53 (0xb7327000)
libavcodec.so.53 => /usr/lib/i386-linux-gnu/i686/cmov/libavcodec.so.53 (0xb665e000)
libavutil.so.51 => /usr/lib/i386-linux-gnu/i686/cmov/libavutil.so.51 (0xb663b000)
libmpcdec.so.6 => /usr/lib/libmpcdec.so.6 (0xb662b000)
libfaad.so.2 => /usr/lib/i386-linux-gnu/libfaad.so.2 (0xb65ea000)
libcurl-gnutls.so.4 => /usr/lib/i386-linux-gnu/libcurl-gnutls.so.4 (0xb658c000)
libmms.so.0 => /usr/lib/i386-linux-gnu/libmms.so.0 (0xb657a000)
libid3tag.so.0 => /usr/lib/libid3tag.so.0 (0xb6566000)
libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0xb6474000)
libjack.so.0 => /usr/lib/i386-linux-gnu/libjack.so.0 (0xb6423000)
libpulse.so.0 => /usr/lib/i386-linux-gnu/libpulse.so.0 (0xb63d5000)
libsamplerate.so.0 => /usr/lib/i386-linux-gnu/libsamplerate.so.0 (0xb6268000)
libmp3lame.so.0 => /usr/lib/i386-linux-gnu/libmp3lame.so.0 (0xb61e4000)
libvorbisenc.so.2 => /usr/lib/i386-linux-gnu/libvorbisenc.so.2 (0xb606c000)
libvorbis.so.0 => /usr/lib/i386-linux-gnu/libvorbis.so.0 (0xb6040000)
libogg.so.0 => /usr/lib/i386-linux-gnu/libogg.so.0 (0xb6038000)
libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb6034000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb602b000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb600d000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb5ff2000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb5e48000)
libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xb5dfd000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb5df8000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb5db8000)
/lib/ld-linux.so.2 (0xb76f2000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb5ccf000)
libgnutls.so.26 => /usr/lib/i386-linux-gnu/libgnutls.so.26 (0xb5c0b000)
libbz2.so.1.0 => /lib/i386-linux-gnu/libbz2.so.1.0 (0xb5bf9000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb5be0000)
libvpx.so.1 => /usr/lib/i386-linux-gnu/libvpx.so.1 (0xb5b3a000)
libtheoraenc.so.1 => /usr/lib/i386-linux-gnu/libtheoraenc.so.1 (0xb5af3000)
libtheoradec.so.1 => /usr/lib/i386-linux-gnu/libtheoradec.so.1 (0xb5ad6000)
libspeex.so.1 => /usr/lib/i386-linux-gnu/sse2/libspeex.so.1 (0xb5ab4000)
libschroedinger-1.0.so.0 => /usr/lib/i386-linux-gnu/libschroedinger-1.0.so.0 (0xb59e4000)
libgsm.so.1 => /usr/lib/i386-linux-gnu/libgsm.so.1 (0xb59d3000)
libva.so.1 => /usr/lib/i386-linux-gnu/libva.so.1 (0xb59bc000)
libidn.so.11 => /usr/lib/i386-linux-gnu/libidn.so.11 (0xb5989000)
liblber-2.4.so.2 => /usr/lib/i386-linux-gnu/liblber-2.4.so.2 (0xb5979000)
libldap_r-2.4.so.2 => /usr/lib/i386-linux-gnu/libldap_r-2.4.so.2 (0xb5928000)
libgssapi_krb5.so.2 => /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2 (0xb58eb000)
libgcrypt.so.11 => /lib/i386-linux-gnu/libgcrypt.so.11 (0xb5867000)
librtmp.so.0 => /usr/lib/i386-linux-gnu/librtmp.so.0 (0xb584c000)
libjson.so.0 => /usr/lib/i386-linux-gnu/libjson.so.0 (0xb5841000)
libpulsecommon-2.1.so => /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-2.1.so (0xb57dd000)
libtasn1.so.3 => /usr/lib/i386-linux-gnu/libtasn1.so.3 (0xb57cb000)
libp11-kit.so.0 => /usr/lib/i386-linux-gnu/libp11-kit.so.0 (0xb57b7000)
liborc-0.4.so.0 => /usr/lib/i386-linux-gnu/liborc-0.4.so.0 (0xb5727000)
libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb5710000)
libsasl2.so.2 => /usr/lib/i386-linux-gnu/libsasl2.so.2 (0xb56f5000)
libgssapi.so.3 => /usr/lib/i386-linux-gnu/libgssapi.so.3 (0xb56b9000)
libkrb5.so.3 => /usr/lib/i386-linux-gnu/libkrb5.so.3 (0xb55eb000)
libk5crypto.so.3 => /usr/lib/i386-linux-gnu/libk5crypto.so.3 (0xb55c2000)
libcom_err.so.2 => /lib/i386-linux-gnu/libcom_err.so.2 (0xb55bd000)
libkrb5support.so.0 => /usr/lib/i386-linux-gnu/libkrb5support.so.0 (0xb55b4000)
libgpg-error.so.0 => /lib/i386-linux-gnu/libgpg-error.so.0 (0xb55af000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb558d000)
libwrap.so.0 => /lib/i386-linux-gnu/libwrap.so.0 (0xb5582000)
libasyncns.so.0 => /usr/lib/i386-linux-gnu/libasyncns.so.0 (0xb557b000)
libheimntlm.so.0 => /usr/lib/i386-linux-gnu/libheimntlm.so.0 (0xb5573000)
libkrb5.so.26 => /usr/lib/i386-linux-gnu/libkrb5.so.26 (0xb54f2000)
libasn1.so.8 => /usr/lib/i386-linux-gnu/libasn1.so.8 (0xb5453000)
libhcrypto.so.4 => /usr/lib/i386-linux-gnu/libhcrypto.so.4 (0xb541e000)
libroken.so.18 => /usr/lib/i386-linux-gnu/libroken.so.18 (0xb5409000)
libkeyutils.so.1 => /lib/i386-linux-gnu/libkeyutils.so.1 (0xb5405000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb5401000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb53fa000)
libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xb53df000)
libwind.so.0 => /usr/lib/i386-linux-gnu/libwind.so.0 (0xb53b6000)
libheimbase.so.1 => /usr/lib/i386-linux-gnu/libheimbase.so.1 (0xb53a7000)
libhx509.so.5 => /usr/lib/i386-linux-gnu/libhx509.so.5 (0xb5362000)
libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb52b4000)
libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xb5282000)






<資料2>

MPD-016.5 debianパッケージの概要とライブラリ表示

概要:

mpd (MPD: Music Player Daemon) 0.16.5

Copyright (C) 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright (C) 2008-2010 Max Kellermann <max@duempel.org>
This is free software; see the source for copying conditions.  There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Supported decoders:

[mad] mp3 mp2
[vorbis] ogg oga
[oggflac] ogg oga
[flac] flac
[audiofile] wav au aiff aif
[faad] aac
[mpcdec] mpc
[wavpack] wv
[mikmod] amf dsm far gdm imf it med mod mtm s3m stm stx ult uni xm
[ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav wma wmv wsaud wsvga wv wve

Supported outputs:

shout null fifo pipe alsa ao oss pulse jack httpd recorder

Supported encoders:

null vorbis lame wave flac

Supported protocols:

file:// http:// mms:// mmsh:// mmst:// mmsu:// gopher:// rtp:// rtsp:// rtmp:// rtmpt:// rtmps://


ライブラリの表示:

linux-gate.so.1 =>  (0xb77df000)
libfaad.so.2 => /usr/lib/i386-linux-gnu/libfaad.so.2 (0xb7785000)
libmpcdec.so.6 => /usr/lib/libmpcdec.so.6 (0xb7775000)
libavahi-common.so.3 => /usr/lib/i386-linux-gnu/libavahi-common.so.3 (0xb7766000)
libavahi-client.so.3 => /usr/lib/i386-linux-gnu/libavahi-client.so.3 (0xb7754000)
libavahi-glib.so.1 => /usr/lib/i386-linux-gnu/libavahi-glib.so.1 (0xb774f000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb7654000)
libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xb75a6000)
libcurl-gnutls.so.4 => /usr/lib/i386-linux-gnu/libcurl-gnutls.so.4 (0xb7547000)
libavformat.so.53 => /usr/lib/i386-linux-gnu/i686/cmov/libavformat.so.53 (0xb7423000)
libavcodec.so.53 => /usr/lib/i386-linux-gnu/i686/cmov/libavcodec.so.53 (0xb675b000)
libavutil.so.51 => /usr/lib/i386-linux-gnu/i686/cmov/libavutil.so.51 (0xb6738000)
libmms.so.0 => /usr/lib/i386-linux-gnu/libmms.so.0 (0xb6727000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb66fa000)
libid3tag.so.0 => /usr/lib/libid3tag.so.0 (0xb66e6000)
libvorbisfile.so.3 => /usr/lib/i386-linux-gnu/libvorbisfile.so.3 (0xb66dc000)
libvorbis.so.0 => /usr/lib/i386-linux-gnu/libvorbis.so.0 (0xb66b0000)
libogg.so.0 => /usr/lib/i386-linux-gnu/libogg.so.0 (0xb66a8000)
libFLAC.so.8 => /usr/lib/i386-linux-gnu/libFLAC.so.8 (0xb6657000)
libaudiofile.so.1 => /usr/lib/i386-linux-gnu/libaudiofile.so.1 (0xb662a000)
libmikmod.so.2 => /usr/lib/i386-linux-gnu/libmikmod.so.2 (0xb65dc000)
libwavpack.so.1 => /usr/lib/i386-linux-gnu/libwavpack.so.1 (0xb65b1000)
libmad.so.0 => /usr/lib/i386-linux-gnu/libmad.so.0 (0xb6599000)
libmp3lame.so.0 => /usr/lib/i386-linux-gnu/libmp3lame.so.0 (0xb6514000)
libvorbisenc.so.2 => /usr/lib/i386-linux-gnu/libvorbisenc.so.2 (0xb639c000)
libao.so.4 => /usr/lib/i386-linux-gnu/libao.so.4 (0xb6393000)
libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0xb62a1000)
libjack.so.0 => /usr/lib/i386-linux-gnu/libjack.so.0 (0xb6250000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb6234000)
libpulse.so.0 => /usr/lib/i386-linux-gnu/libpulse.so.0 (0xb61e6000)
libshout.so.3 => /usr/lib/i386-linux-gnu/libshout.so.3 (0xb61d4000)
libsamplerate.so.0 => /usr/lib/i386-linux-gnu/libsamplerate.so.0 (0xb6068000)
libgthread-2.0.so.0 => /usr/lib/i386-linux-gnu/libgthread-2.0.so.0 (0xb6065000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb6046000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb5e9c000)
libdbus-1.so.3 => /lib/i386-linux-gnu/libdbus-1.so.3 (0xb5e52000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb5e4d000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb5e0d000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb5e03000)
libidn.so.11 => /usr/lib/i386-linux-gnu/libidn.so.11 (0xb5dd0000)
liblber-2.4.so.2 => /usr/lib/i386-linux-gnu/liblber-2.4.so.2 (0xb5dc1000)
libldap_r-2.4.so.2 => /usr/lib/i386-linux-gnu/libldap_r-2.4.so.2 (0xb5d70000)
libgssapi_krb5.so.2 => /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2 (0xb5d33000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb5d19000)
libgnutls.so.26 => /usr/lib/i386-linux-gnu/libgnutls.so.26 (0xb5c55000)
libgcrypt.so.11 => /lib/i386-linux-gnu/libgcrypt.so.11 (0xb5bd1000)
librtmp.so.0 => /usr/lib/i386-linux-gnu/librtmp.so.0 (0xb5bb6000)
libbz2.so.1.0 => /lib/i386-linux-gnu/libbz2.so.1.0 (0xb5ba5000)
libvpx.so.1 => /usr/lib/i386-linux-gnu/libvpx.so.1 (0xb5afe000)
libtheoraenc.so.1 => /usr/lib/i386-linux-gnu/libtheoraenc.so.1 (0xb5ab7000)
libtheoradec.so.1 => /usr/lib/i386-linux-gnu/libtheoradec.so.1 (0xb5a9a000)
libspeex.so.1 => /usr/lib/i386-linux-gnu/sse2/libspeex.so.1 (0xb5a79000)
libschroedinger-1.0.so.0 => /usr/lib/i386-linux-gnu/libschroedinger-1.0.so.0 (0xb59a9000)
libgsm.so.1 => /usr/lib/i386-linux-gnu/libgsm.so.1 (0xb5997000)
libva.so.1 => /usr/lib/i386-linux-gnu/libva.so.1 (0xb5980000)
/lib/ld-linux.so.2 (0xb77e0000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb5897000)
libjson.so.0 => /usr/lib/i386-linux-gnu/libjson.so.0 (0xb588d000)
libpulsecommon-2.1.so => /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-2.1.so (0xb5828000)
libtheora.so.0 => /usr/lib/i386-linux-gnu/libtheora.so.0 (0xb57d1000)
libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xb57ba000)
libsasl2.so.2 => /usr/lib/i386-linux-gnu/libsasl2.so.2 (0xb579f000)
libgssapi.so.3 => /usr/lib/i386-linux-gnu/libgssapi.so.3 (0xb5763000)
libkrb5.so.3 => /usr/lib/i386-linux-gnu/libkrb5.so.3 (0xb5694000)
libk5crypto.so.3 => /usr/lib/i386-linux-gnu/libk5crypto.so.3 (0xb566c000)
libcom_err.so.2 => /lib/i386-linux-gnu/libcom_err.so.2 (0xb5667000)
libkrb5support.so.0 => /usr/lib/i386-linux-gnu/libkrb5support.so.0 (0xb565e000)
libtasn1.so.3 => /usr/lib/i386-linux-gnu/libtasn1.so.3 (0xb564c000)
libp11-kit.so.0 => /usr/lib/i386-linux-gnu/libp11-kit.so.0 (0xb5637000)
libgpg-error.so.0 => /lib/i386-linux-gnu/libgpg-error.so.0 (0xb5632000)
liborc-0.4.so.0 => /usr/lib/i386-linux-gnu/liborc-0.4.so.0 (0xb55a3000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb5581000)
libwrap.so.0 => /lib/i386-linux-gnu/libwrap.so.0 (0xb5577000)
libsndfile.so.1 => /usr/lib/i386-linux-gnu/libsndfile.so.1 (0xb5502000)
libasyncns.so.0 => /usr/lib/i386-linux-gnu/libasyncns.so.0 (0xb54fb000)
libheimntlm.so.0 => /usr/lib/i386-linux-gnu/libheimntlm.so.0 (0xb54f3000)
libkrb5.so.26 => /usr/lib/i386-linux-gnu/libkrb5.so.26 (0xb5472000)
libasn1.so.8 => /usr/lib/i386-linux-gnu/libasn1.so.8 (0xb53d3000)
libhcrypto.so.4 => /usr/lib/i386-linux-gnu/libhcrypto.so.4 (0xb539e000)
libroken.so.18 => /usr/lib/i386-linux-gnu/libroken.so.18 (0xb5389000)
libkeyutils.so.1 => /lib/i386-linux-gnu/libkeyutils.so.1 (0xb5385000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb5381000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb537a000)
libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xb535f000)
libwind.so.0 => /usr/lib/i386-linux-gnu/libwind.so.0 (0xb5336000)
libheimbase.so.1 => /usr/lib/i386-linux-gnu/libheimbase.so.1 (0xb5327000)
libhx509.so.5 => /usr/lib/i386-linux-gnu/libhx509.so.5 (0xb52e2000)
libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xb52b1000)

2012年11月14日水曜日

音楽データの管理 その2




音楽データの管理 バージョン2





ubuntu studioで遊んでいるうちに逆上してWindowsで作った音楽ライブラリを初期化しました!
またゼロからリッピングし直しです。



前回はパイオニアの外付けドライブがあまりに結果がいいのでそれまでのデータを消去。
それからCD数百枚はHDDにストックしたのですが、今回またスッキリさせてしまいました。


音楽ファイルの管理は最初が肝心、というわけでディレクトリ構成を見直してみました。


今回のコンセプト:
1.多くのプレイヤーで標準になっている artist/album/song の形式に従う。
2.上記の形式が困難なクラシック音楽その他については親ディレクトリを別にしておく。



<構成>
親ディレクトリ1: クラシック音楽を保管
親ディレクトリ2: ロックやジャズなどアルバム形式のものを保管
親ディレクトリ3: ダウンロードしたファイルなどアルバム形式ではないものを保管



<親ディレクトリ1>
第2階層は基本的にジャンル名に設定。
「1年中バッハばかり聴く」「フルトヴェングラーを聴かないと出勤できない」など、好みに合わせてよく聴く作曲家やアーティストも第2階層に設けておく。
最終的には /artist/album/song/ になるようにする。

Ongaku1--
     |
     Baroque
     |
     Bach
     |
     Bruno Walter
     |
     Classic
     |
     Mozart--
         |
         Symphony
         |
         Opera
         |
         Concerto--
              |
              Piano Concerto
              |
              Violin Concerto--
                      |
                      Violin Concert no.3--
                                |
                                artist--
                                   |
                                   album--
                                       |
                                       song-file



<親ディレクトリ2>
クラシック音楽以外でアルバム形式のものを /artist/album/song/ で保管する。

Ongaku2--
      |
     artist--
        |
        album--
            |
            song-file



<親ディレクトリ3>
アルバム形式ではないファイルの置き場所。

Ongaku3--
     |
     artist--
        |
        song-file



現在使っているファイル名

[track] [title] - [artist] [[composer]]
     ↓
03 Symphony no.7 - Klemperer [Mahler].wav




クラシック音楽のディレクトリが深すぎるような気がしますが、ゴチャゴチャの中から検索するのは好みではないので仕方がない。

しばらくこれでいってみよう。

2012年11月13日火曜日

MPDの設定 (デスクトップ用途)




ubuntu studioとMPDで音楽を聴く



MPDはデフォルトではすべてのユーザーが利用できるデーモンとして動きます。

また、設定により普通のアプリケーションのようにローカルに起動させることもできます。

今回はローカルにユーザーホームから運用する方法について書いてみました。
(記事作成時の環境:ubuntu studio 12.10 / MPD16.5)


  • インストール
  • 運用方法を決める
  • 基本設定
  • Sonataで音を出してみる
  • さらに好みで設定
  • mpcの活用
  • 起こり得るエラーと対処
  • 参考サイト


    インストール


    sudo apt-get install mpd mpc sonata

    MPD本体とクライアントを2つインストールします。

    mpc = コマンドラインから便利に操作できるプレイヤーソフト。
    Sonata = シンプルなGUIのプレイヤーソフト。


    • 補足:
    最新の開発版はgitで提供されています。
    最新の安定版はtar.bz2形式で提供されています。




      運用方法を決める


      インストール後の設定を始める前に、どちらの方法で運用するのかを決めた方が無駄やトラブルが少ないと思います。


      1.デーモンとしてグローバルに起動させる

      設定ファイルなどは /etc/ や /var/ に保存されているので基本的に sudo を使う必要があります。

      起動方法:
      sudo /etc/init.d/mpd start

      設定ファイルの保管場所:
      /etc/mpd.conf

      利点:
      別のPCやiPadなどの端末に置かれたクライアント(プレイヤーソフト)から操作する場合に便利です。
      また、1台のPCで使う場合でもデフォルト設定をあまり変えなくて済むというメリットがあります。


      2.通常のアプリのようにローカルに起動させる
       
      必要なディレクトリやファイルを /home/user/ 以下に作成して運用します。

      起動方法
      mpd

      設定ファイルの場所
      /home/user/.mpd/mpd.conf

      利点:
      設定ファイルなどをユーザーの手元に置けるので安心感があります。
      普段使うものにsudoするのはいやだ、という心の持ち主向け。


      個人的にはローカルで運用する場合にエラー表示に出会うことが多いです。
      これも知識の無さから、嗚呼。





        設定



        sudoでグローバルに起動させる場合はほとんど設定の変更がありませんので、今回はローカルに起動させる方法です。


        <ローカルな場合の設定>


        1.動いている(かもしれない)MPDを停止させ、さらに自動ロードを不可にする。
        sudo service mpd stop

        sudo update-rc.d mpd disable


        2.ローカルにMPD用のディレクトリ /home/user/.mpd とプレイリストフォルダを設置する。
        mkdir -p ~/.mpd/playlists


        3.デフォルトの設定ファイルを /home/user/.mpd に抽出して、ファイル名を 'mpd.conf' とする。
        gunzip -c /usr/share/doc/mpd/examples/mpd.conf.gz > ~/.mpd/mpd.conf

        • 補足:
        ここは好みで ~/.mpdconf にするのも可。
        MPDが起動時に読み込む設定ファイルの優先順位は次のようになっています。
        ~/.mpdconf >> ~/.mpd/mpd.conf >> /etc/mpd.conf


        4.設定ファイル'mpd.conf'で定義する必要なファイルを4つ /home/user/.mpd/ に作成する。
        touch ~/.mpd/{mpd.db,mpd.log,mpd.pid,mpdstate}


        5.ローカル設定ファイル'mpd.conf'をテキストエディタで開く。
        gedit ~/.mpd/mpd.conf


        6.'mpd.conf'を編集する。

        Files and directories の欄の下記の項目を自分のディレクトリ名に変更する。

        • 注意:
        ・ "~/" は使えないようですので、省略せずに "/home/" から記述します。
        ・ ディレクトリだけではなくファイル名も変更します。
        playlist_directory   "/home/user/.mpd/playlists"
        db_file       "/home/user/.mpd/mpd.db"
        log_file       "/home/user/.mpd/mpd.log"
        pid_file       "/home/user/.mpd/mpd.pid"
        state_file      "/home/user/.mpd/mpdstate"


        次にmusic_directory に音楽データを保存しているディレクトリを記入する。
        music_directory        "/ongaku/no/basho/koko"

        • 補足:
        /home/user/Music を使う場合は自動的に認識されるので # でコメントアウトしておく。
        #music_directory        "/var/lib/mpd/music"

        (音楽データディレクトリへのリンクを設置することもできます。複数の場所に音楽データを置いている場合に便利です。リンクを使う場合は Symbolic link behavior の項目をコメントアウトして有効にします)


        ユーザーを指定する項目を # でコメントします(システムサービスとして使わないので無効にします)。
        #user       "mpd"


        出力設定

        alsaの例(デフォルト)
        audio_output audio_output{
        type "alsa"
        name "My ALSA
        Device" device "hw:0,0"
        format "44100:16:2"
        mixer_device "default"
        mixer_control "PCM"
        mixer_index "0"
        }







          Sonataで音を出してみる


          起動
          mpd

          終了
          mpd --kill

          ヘルプ
          mpd --help

          設定が終わったらMPDとSonataを起動して音を確認。

          Sonataの設定
          ウィンドウの適当な所で右クリックして「設定」を選択。
          「音楽ディレクトリ」で先ほど設定した音楽データが入っているディレクトリを指定する。




         さらに好みで設定


        ubuntuログイン時にMPDが自動的にロードする設定
        テキストエディタでデスクトップファイルを作成する。
        gedit ~/.config/autostart/mpd.desktop
        下記を記入して保存する。
        [Desktop Entry]
        Encoding=UTF-8
        Type=Application
        Name=Music Player Daemon
        Comment=Server for playing audio files
        Exec=mpd
        StartupNotify=false
        Terminal=false
        Hidden=false


        mpd.confのその他の設定
        MPDの起動時に音楽ライブラリを更新する。(クライアントに自動更新機能があることが多いのであまり使いませんが…)
        auto_update    "yes"

        ソフトウェアボリュームを有効にする。
        mixer_type            "software"

        リプレイゲインを有効にする。
        replaygain            "track"

        mp3をギャップレス再生する。
        gapless_mp3_playback            "yes"

        音楽ライブラリへのシンボリックリンクを有効にする。上でも述べましたが /home/user/Music/ にリンクを置くととても便利です。
        follow_inside_symlinks        "yes"

        バッファに予め読み込んでおくサイズをパーセントで指定する。スキップエラーなど誤作動が少なくなるようです。
        ※追記 2013/02/09 v.0.17.3
        "100%"に指定するとシーク時にmpdがハングアップする現象を確認。
        buffer_before_play        "50%"

        MPDがオーディオファイルから引き出すタグのリストを定義する。(ここは有効にしても無効にしても違いがわかりませんでした…)
        metadata_to_use    "artist,album,title,track,name,genre,date,composer,performer,disc"

        再生中にMPDを終了しても次回起動時に音を鳴らさないようにする。
        下記を mpd.conf に追記。
        restore_paused "yes"




        mpcの活用


        mpcはコマンドラインで操作することができるプレイヤーソフトです。
        他のクライアントをメインに使っている場合でもインストールしておくと便利です。
        キーボードから手を離したくないという人に特におすすめです。

        現在の曲目や状態について表示する。
        mpc

        MPDのバージョンを表示する。
        mpc version

        音楽ライブラリをアップデートする。
        mpc update

        プレイヤー操作
        mpc play        再生
        mpc next        次を再生
        mpc prev        前を再生
        mpc pause     一時停止
        mpc stop        停止
        mpc clear       プレイリストをクリア
        mpc playlist   現在のプレイリストを表示
         
        mpcのヘルプ
        mpc help






        起こり得るエラーと対処

        (調査・加筆訂正中)
        エラーについて最終更新日:2012/11/14

         
        • 注意:
        ・初回の起動時には端末にエラーが表示されることが多いです。まずはMPDやシステムを再起動することをおすすめします。

        ・この対処法は自分が困った時に書籍で調べたりネット上で見つけたもので、これで直ったり直らなかったり、といったものです。

        ・linuxの使い方の基本的な誤りが含まれている可能性があります。



         エラーや不具合のほとんどはパーミッションの問題だと公式サイトにあります。


        音楽ライブラリがクライアントから見られない場合 

        MPDがファイルを変更できるようにする。
        sudo chown -R mpd /var/lib/mpd

        音楽ディレクトリの属性を変えてみる。
        sudo chmod -R 777 /home/user/Music/

        MPDがグループ'audio'に入っているか確認する。
        groups mpd

        入っていなかったら追加する。
        sudo gpasswd -a mpd audio




        エラー表示1:

        listen: bind to '0.0.0.0:6600' failed: Address already in use (continuing anyway, because binding to '[::]:6600' succeeded

        表示が出ても実際にはクライアントと接続されていることが多いと思います。
         MPDやシステムの再起動を試してみてください。
        しばらく経ってから表示されなくなることもあります。

        再起動などで改善されなかった場合、mpd.conf のアドレスの部分を変えると直るかもしれません。
        # For network #bind_to_address "localhost"
        # For network bind_to_address "127.0.0.1"




        エラー表示2:

        Failed to load database: Failed to open database file "/home/user/.mpd/tag_cache": No such file or directory
        WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-**********: No such file or directory

        gnome-keyringがなんたらかんたら…。
        /.mpd/mpd.log を見てもエラーは残っていませんので、実害はないと思われますが邪魔ですね。

        どうやらこれはMPDの設定の問題ではなくて、Xfceなどの非gnome系デスクトップで起こるバグのようです。
        http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653011

        /etc/xdg/autostart/ にある4つのファイルを編集すると改善されました。

        下記の4つのファイルをテキストエディタで開き編集します。

        /etc/xdg/autostart/gnome-keyring-gpg.desktop
        /etc/xdg/autostart/gnome-keyring-pkcs11.desktop
        /etc/xdg/autostart/gnome-keyring-secrets.desktop
        /etc/xdg/autostart/gnome-keyring-ssh.desktop
        各ファイルの次の行に自分のデスクトップの名前を追加してシステムを再起動。
        OnlyShowIn=GNOME;Unity;
              ↓
        OnlyShowIn=GNOME;Unity; XFCE;

        この修正の仕方は下記のサイトとubuntuフォーラムのおかげで知りました。
        ありがとうございます。

        あまたたび備忘録
        Ubuntuのデスクトップ環境をデフォルトから変更した場合に注意する点

        Ubuntu日本語フォーラム
        WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-5HPsbp/pkcs







        参考サイト



        Install - Music Player Daemon Community Wiki
        http://mpd.wikia.com/wiki/Install

        Permission problems - Music Player Daemon Community Wiki
        http://mpd.wikia.com/wiki/Permission_problems

        MPD - Community Ubuntu Documentation
        https://help.ubuntu.com/community/MPD

        Music Player Daemon - ArchWiki
        https://wiki.archlinux.org/index.php/Music_Player_Daemon

        The ultimate MPD guide (Page 1) / Tips, Tricks & Scripts / CrunchBang Linux Forums
        http://crunchbang.org/forums/viewtopic.php?id=17386

        ubuntu studio
        http://ubuntustudio.org/ 

        Related Posts Plugin for WordPress, Blogger...
        Twitter Delicious Facebook Digg Stumbleupon Favorites More