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月13日木曜日

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






せっかくリッピングをやり直すなら少しは方法を検討してみよう、と思って見つけたのがComputer Audiophile LLCが提供する記事でした。

はじめは要点だけまとめようと思ったのですが内容が面白かったので分量が多くなってしまいました。

オリジナルの記事は"Computer Aaudiophile Academy"の一部であるためか、少々学術風を気取った文体になっています。日本語で読みやすいように冗長な部分は削り編集していますので完全な翻訳ではなく抄訳です。

PCオーディオを楽しんでいる方はそれぞれ自分の方法を持っていると思いますが、リッピングに興味のある方なら楽しく読めると思います。

私が素直にタイトルをつけるとしたら「アーカイブとしてのリッピング」といったところです。

WindowsとMacの使用を想定している記事ですが、linuxを使っている方でも参考になると思います。また、後半の「方法論」でdBpoweramp CD Ripperの設定が紹介されています。




コンピュータオーディオファイル向けのリッピング戦略と方法論

by The Computer Audiophile Published on 10-29-2009 08:35 PM

 

Contents


序 - 戦略と方法論

オーディオファイル向けのリッピンク戦略
  • ゴールの宣言
  • ゴールの達成
  • アーカイブ用コピー、作業用コピー、編集済みコピー
  • メタデータ
  • ファイルのフォーマット − アーカイブ用コピー
  • ファイルのフォーマット − 作業用用コピー
  • ファイルのフォーマット − 編集済みコピー
  • リッピング戦略の要旨

オーディオファイル向けのリッピング方法論
  • 必要要件
  • ステップ・バイ・ステップ
  • 終わりに

訳註と用語集





CDから音楽データをリッピングすること自体はとても簡単。8歳の子供でもできる。シンプルな仕事なのでコンピュータに任せておけばそれで終わりだ。

しかし一口にリッピングといってもイージーな方法もあれば凝りに凝った方法もあり実に様々な選択肢がある。ここではオーディオファイル向けの戦略と方法論を説明する。




戦略と方法論


リッピングするにあたっては戦略を考えぬき方法論を固めておくことが重要だ。確固たる戦略と方法論がなければ、あなたは時間と金を失うことになる。古いCDが正確にリップできていなかったり、なんだかわからないフォーマットになっていたり、タグのない膨大なファイルの中から音楽を探さなければならなかったり...こんなことは思慮のない人間のやることだ。 ありがたいことに、これらの落とし穴は以下の助言を読めば避けることができる。

注意:このマニュアルはソフトウェアに対するものである。ハードウェアに対しては別に述べる予定。




オーディオファイル向けのリッピンク戦略


戦略...【名詞】 重要または大きなものごとを達成するために策定される計画や政策。

コンパクトディスクの中身すべてを可能なかぎり正確にリップするためには、芸術作品の小さな欠片の保存を追求する芸術遺産保護主義者の心境になるべきである。リッピングに着手する前に明確な戦略を構築すべきだ。そして戦略を確立するためにはゴールを定めることが必要だ。リッピングのゴールとはデジタル保管することである。

デジタル保管とは?

デジタル保管の定義は長期保存、デジタル情報のためのエラーフリーなストレージであり、ユーザーが必要とするタイムスパンにわたって保全されなければならない、ということである。この定義をリッピングにあてはめてみよう。

A.長期保管: 国際標準規格ISO 14721(OAIS参照モデル)によれば長期保管とは無期限を含むものである。

B. エラーフリー: エラーフリーなストレージとは、CDをエラーを起こさないメディアに正確にコピーするということである。正確なリッピングに関連する用語としては、セキュアリップ、アキュレートリップ、エラー補正などがある。

C. 情報を取り出す: 字義的にはストレージにあるリップしたファイルをコンピュータが読むということだ。さらに解釈を拡げれば、オーディオ情報を引き出し再生するということになる。現在使っているファイルフォーマットが将来もサポートされ得るのか考えるべきだ。

D. 利用する: これは先に述べた情報を取り出すということでもあるが、メタデータを活用してどのように特定のファイルやアルバムを見つけ出すのか、ということにも関わってくる。この場合「活用する」は「説明する」と同義語だ。似たようなデータの海からメタデータはアルバム名やアーティスト名、トラック名等々を説明してくれる。

E. タイムスパン: これは人によって異なるだろう。ソフトやハードの仕様が変わってファイルが使えなくなるまで、あるいは長期保管に適した新たなフォーマットが出現しそれに移行するまで、と言えるかもしれない。

デジタル保管と密接に関連するのはデジタルな持続可能性である。インフラを構築し、相互運用性を意識してフレキシブルにアプローチすることは、休むことのできない作業である。デジタルな持続可能性は現在の活動に基づいており、現在の活動が将来におけるアクセスと有効性を高める。

このドキュメントのコンテクストにおいて、フレキシビリティ、相互運用性、アクセス、将来における有効性、といった言葉はキーコンセプトである。この戦略と方法論のゴールはこれらのコンセプトを具体化したものとなろう。


学者めいた定義付けをしてしまったが、リッピングは音楽コレクションを楽しむためのものだ。アルバムアートを楽しんだり、ずっと忘れていた曲にすばやくアクセスすることができたり、すばらしい再生音で聴くことができたりする。なによりもプレイリストは重要だ。先に述べたゴールはこういったデジタル芸術遺産保護主義者である皆様のニーズにお応えするものである。




ゴールの宣言


ゴール: 信頼できるストレージに、将来性のあるフォーマットで、必要であればメタデータ付きで、CDを正確にリップする。

俗に「はじめが肝心」というがリッピングにおいてもこれは同じである。




ゴールの達成


ゴールを達成するための戦略として、音楽コレクションのコピーを複数作ることが必須である。私はピーター・コープランドの、時代は古いが今日でも有効なコンセプトを適応した。「アナログサウンドのレストア技術マニュアル」はオーディオファイルのニーズにもフィットする。音楽コレクションについては少なくても2つはコピーを作るべきだ。場合によっては4つほど作成することになる。

1. オリジナルのCDは可能なかぎりそのまま保管する。

2. CDからリップし、標本「アーカイブ用コピー」としてこれから別のコピーを作成するためだけに使い、再生には使わない。

3. CDからリップし、標本「作業用コピー」としてふだんの再生に使う。

4. オプションで「編集済みコピー」を作成する。これは音量レベルやイコライザなどの可変データを含むものである。

オリジナルのCDはそれしかない本物のレファレンスなので処分しないこと。大英図書館サウンドアーカイブの元責任者であるピーター・コープランドによると、現在のリッピング技術ではCDの完全なクローンは作れないということだ。物理的なディスクをずらりと並べるかわりにCDをリップして音楽コレクションにしようと考えている読者はがっかりするかもしれないが。


可能なかぎり正確にCDをリップすることはリッピング戦略のなかでもとくにクリティカルな部分だ。正確に、というのはCDの元々のレゾリューションである16-bit / 44.1 kHzを指す。よくきかれのは、CDから24-bit / 48 kHzのようにより高いサンプルレートにしたらどうか、という質問である。しかし16/44.1以外ではCDの正確な「アーカイブ用コピー」にはならない。

逆に16/44.1のコピーから24/48kバージョンを作ることは可能だ。技術的には高いサンプルレートからダウンサンプルすることも可能ではあるが、コンバートするにあたって数字を四捨五入することが必要であり、それはプログラムによって動作が異なるため、数学的アルゴリズムの問題を避けることができない。

さらにリッピングで注意が必要なのはセキュアリッピング機能を備えているプログラムを使うということだ。この機能によって自分がリップしたファイルと他の人がリップしたファイルのチェックサムをオンラインデータベースで比較することができる。あなたの行ったリッピングが、少なくても世界中の何人かのリッピングと一致したということである。データベースに載っていないCDに関しては、プログラムがリップが正しいと判断しトラックをエンコードしてしまう前に、たいていは何回かリップされて、結果が相互比較される。次の方法論のセクションでさらに詳しくみてみよう。




アーカイブ用コピー、作業用コピー、編集済みコピー


ミュージックサーバー経由で毎日音楽を聴くということは、iTunesやMediaMonkeyといったアプリケーションを使って、音楽ファイルと多くの時間を一緒に過ごすということだ。つまり、リスナーが誤ってファイルを削除したり、元に戻せないような操作をしてしまう機会がたくさんあるということを意味している。

この二番目のシナリオでは、たいていの場合ファイルは消えずにどこかに残っているが、ユーザーが見つけられなければ無くなったも同然である。ヒューマンエラーだけでなく、コンピュータのハードウェアも完璧にはほど遠い。ドライブは従来の回転系のものでも最新のソリッドなものでも失敗や故障がつきものだ。

こういった理由や他の様々な理由により、「アーカイブ用コピー」と「作業用コピー」を区別することが推奨される。アーカイブ用コピーには絶対に変化を加えないこと。これはオリジナルCDから作られた「正確」なレプリカである。区別することによって、音楽コレクションをブラウズしたり整理したりするときに誤ってファイルを改竄してしまうことを防ぐことができる。

このアーカイブ用コピーは作業用コピーとは別のストレージデバイスに保管すべきだ。たとえば、アーカイブ用コピーはNASに保管しておき、作業用コピーはローカルドライブに置いておく。手堅いソリューションである。読者の中にはオフサイトストレージやバックアップ用テープのような堅牢なメディアを思い浮かべるかもしれないが、これはまた別の議論にしよう。

さらにアーカイブ用コピーのロケーションに関して、ダウンロード可能なPDF形式のライナーノートと、リッピング時に生成されるリッピング結果のレポートもここに保管することをお勧めする。

作業用コピーは再生するときに使う音楽コピー標本である。もし作業用コピーに変更が加えられたとしても心配には及ばない。アーカイブ用コピーから速やかに元に戻せるからだ。最初はオーバーに感じるかもしれないが、リッピングし直す労力と時間を考えると非常に効率的なことだとわかるだろう。もし人を雇ってリッピングさせているなら金の節約にもなる。

リッピング時にファイルを複数同時につくる方法は、iTunesでも先に設定しておけば簡単にできる。

補足:アーカイブ用コピーは他のフォーマットを使う必要ができた際にも役に立つ。編集済みコピーに関しては、これは完全にオプショナルなもので読者の多くは必要としないだろう。しかし4つ目のコピーを作成しておくことは他にも役に立つことがある。




メタデータ


メタデータ...【名詞】 他のデータについての情報を提供し説明する一連のデータ。

メタデータは一般的にタグと呼ばれ、本質的にはデータについてのデータである。オーディオファイル向けのリッピング戦略と方法論において、メタデータはアルバムタイトルやアーティスト名などに関する情報の全てである。

メタデータがなければタイトルは Track01, Track02といったものになり、アルバムアートの表示もなされない可能性がある。メタデータによってユーザーは音楽サーバーのパスに素早くたどり着くことができる。アートワークやプレイリストといったアルバム全体を見ることも音楽体験の楽しみのひとつだ。

また、ユーザビリティに加えて、メタデータはリップしたデータの将来性を高めるという重要性をもっている。もしこのドキュメントに従ってアーカイブ用コピーを作ったとしても、トラック名やアルバムタイトル、アーティスト名がわからなかったら意味がないだろう。

メタデータに関しては、それをファイルに埋め込むかどうかが焦点となる。リッピング時にファイルに埋め込む方法の方がはるかに好ましい結果をもたらす。これ以外では別のファイルやデータベースに情報を格納する方法がある。後者のコンセプトをiTunesで説明してみよう。

iTunesはメタデータを埋め込むことも、別ファイルに保存することもできる。CDをAIFFへリップするとiTunesはトラック名やアーティスト名といったメタデータをファイルに埋め込む。もしそのアルバムがiTunes上で販売されているものだったら、関連するアルバムアートは自動的にダウンロードされるが、これはAIFFに埋め込まれるのではない。

iTunesはアルバムアートを分かりにくいディレクトリに保存するので将来的に取り返しのつかないことが起こり得る。iTunesでもアルバムアートをAIFFファイルに埋め込むことはできるが、これはユーザーが手動でトラックやアルバムのプロパティを呼び出して行わなければならない。

埋め込み方式と関連ファイルを作成しておく方式との違いは、音楽ライブラリが崩壊して、それを修復したり再構築したりするときになってはじめて大きな問題だと気づくだろう。埋め込み方式ならメタデータは音楽ファイルと共にあるので、ユーザーが余計な手を加える必要は生じない。しかし別ファイルに収めたメタデータは永遠に消えてしまう。この例でいくと別ファイルであるアルバムアートはどこかに無くなってしまうのだ。




ファイルのフォーマット - アーカイブ用コピー


かねて私はコンピュータオーディオファイルの読者に、リッピングをすべてAIFFファイルで行うように推奨する記事を書いたことがある。これまでに述べたリッピング戦略マニュアルはこの以前に書いた記事を増強・拡大するものである。本リッピングマニュアルではすべてのアーカイブ用コピーをFLACフォーマットにすることを勧める。

作業用コピーのフォーマットはOSや再生用アプリケーションに依存する。アーカイブ用コピーをFLACとして保存することはデジタル保管の原理に適い、さらに将来にわたるフレキシビリティ、相互運用性、アクセス、有効性といったデジタルな持続可能性を保証する。なぜならFLAC(Free Lossless Audio Codec)はロスレスであり、音楽を16/44.1、1:1としてコピーすることができるからである。

FLACは芸術(音楽)作品をネイティブなフォーマットで保存したいというニーズにも応える。もちろんコンパクトディスク上の音楽はFLACではないのだが、抽出されたFLACファイルは全く同じ"bit for bit"なコピーをもたらしてくれる。

FLACフォーマットは高度な利便性を実現しており、実際に他のどんなフォーマットにもコンバートすることができる。FLACは将来が保証されているわけではないが、未来に耐えうると言うことはできる。他の非圧縮系または圧縮系フォーマットのどれよりもFLACは長くサポートされるだろう。もし将来的に非常にすぐれたフォーマットが誕生したとしても、FLACからそのフォーマットにコンバートするプログラムが提供される可能性は極めて高い。

このことはプロプライエタリフォーマット(訳註:特許権や著作権で保護された独自仕様のフォーマット)には当てはまらない。株主利益のために決定がくだされたら、たとえばアップルやマイクロソフトのことを考えてみれば、将来持ちこたえるかどうかは闇の中だ。いい悪いは別にしてこれが現実である。

FLACはまた、メタデータのサポートが他のどんなフォーマットよりも優れている。全てのタイプのメタデータがFLACファイルに埋め込み可能であり、FLACをサポートするほぼ全てのアプリケーションがこのメタデータを読み取ることができる(現在Songbirdはアルバムアートの読み取りに関して問題を抱えている)。

アプリケーションのFLACファイル読み取りに関する問題は些細なことだ。FLACはWAVやAIFFにはない標準規格を有している。

一例を挙げると、ファイルフォーマットのリサーチをしていた時、アプリケーション開発者の全員がFLACはプレイヤーソフトでサポートすることが簡単だと答えた。これらの開発者が言うには、WAVとAIFFはそれぞれ辻褄が合わないことをたくさん含んでいるということだ。

具体例を挙げるなら、ファイルヘッダが記述される方法について矛盾する部分があり、開発者としてはサポートするのに多大な困難を伴うという。WAVファイルについては実際に遭遇した事例が2つ思い当たる。PS AudioとBoulderはここ1年でついにReference Recordings HRxの24/176.4ファイルを再生することに成功した。開発が難航した一番の理由は2つの会社で共通するものだった。それはWAVファイルにファイルヘッダが書き込まれる方法の矛盾点に関連する問題であった。もちろんFLACにはこういった問題はない。




ファイルのフォーマット - 作業用用コピー


作業用コピーのファイルフォーマットはユーザー固有のニーズを解決するものであるべきであり、1:1の"bit for bit"なコピーであればオープンフォーマット(訳註:FLACのような)である必要はない。

ひとりの音楽愛好家、オーディオファイルとして私はロスレスと(または)非圧縮系フォーマットだけを推奨する。これから述べるのもこれらのフォーマットについてである。

フォーマットの選択はオペレーティングシステムと再生用アプリケーションの組み合わせに依存する。MACのOS Xのユーザーは作業用コピーをAIFFとしてリッピングするべきだ。AIFFはiTunesで有効なメタデータの埋め込みをサポートしており、コンパクトディスク上の芸術作品を1:1でコピーすることが可能である。

メタデータの適応範囲は決して広くはないが、AIFFは2、3のアプリケーションでは極めて使いやすいフォーマットだ。その他多くのアプリケーションでも少なくても再生は可能だ。なぜこの点に触れたかというと、モバイルデバイスやネットワークストリーミングデバイスで再生しようとファイルをあちこちに移動するユーザーのためである。AIFFはこういった状況でも真価を発揮する。

さらに、AIFFフォーマットは向こう数年間は変更が加えられないだろうと私は考えている。このことはALAC(Apple Lossless Audio CODEC)のようなコーデックには当てはまらない。

iTunesでALACファイルのプロパティを開くとメタデータの項目にエンコードに使用したコーデックのバージョンがリストされているのが見えるだろう。新しいiTunesがリリースされるたびにコーデックに変更が加えられているのだ。

その変更がいいものなのか、それとも悪いものなのか、無害なものなのか、といったことは誰にもわからないが、これまでに変更が加えられ、これからも変更されていくだろうということは紛れもない事実だ。後継バージョンと先行バージョンを比較するためにどのバージョンのALACをレファレンスとして使えばいいのかさえ私にはわからないのである。
個人的にはこのような比較は行ったことがないが、読者の中には新旧のALACを比較試聴して違いをレポートしている方がいる。都市伝説かどうかは別にしてこれは考慮に価することだ。

Windowsベースのコンピュータを使用しているユーザーには、作業用コピーのリッピングに関して妥当な選択肢が2つある。もしユーザーが埋め込み型メタデータの利用を最優先したいと思うなら作業用コピーをFLACにすることをお勧めする。再生用には非圧縮系ファイルを用いるという私の強い好みには反するが、埋め込み型メタデータの活用が重要であるならこの方法しかない。

もしユーザーが最高の音質を求めていて、作業用コピーのメタデータが失われる可能性が高くても構わないのなら、WAVをお勧めする。以前私はPC(訳註:Windows PC)でAIFFを使うように勸めていたので、この点に関しては前に書いた記事と異なっている。理由は、PCにおいてWAVは広範囲にわたってサポートされているからで、逆にAIFFのメタデータはほとんどサポートされていないし、PC上ではWAVを使うことが推奨されているためである。

PCにおいてベストのサウンドはWAVであると提案したことについては議論の余地はない。この結論に皆さんが自分でたどり着くように促すだけである。再生にWAVを使えばサウンドクォリティーが損なわれることはない、これが私の持論である。

WAVはAIFFと同様にファイルのポータビリティと相互運用性を備えている。WAVファイルを作業用コピーとして使うことに対してひとつ警告しておきたいのは、埋め込まれたメタデータのサポートが非常に限定されるので、最終的にはメタデータを見失ってしまうということである。

例えば、MediaMonkeyを使っているうちはメタデータとアルバムアートをWAVファイルと連携させることができる。だが、もし他のアプリケーションに切り替えたり、MediaMonkeyのデータベースが消失したり壊れてしまった場合には、メタデータは失われてしまう。

WAVファイルは埋め込み型メタデータをサポートしていない、ということはよく耳にすることだ。WAVフォーマットにはメタデータのための空きスペース設けられているという説があるが、これは100%正しくないと私は思っている。

埋め込んだメタデータとWAVファイルの辻褄が合わないことは何度か経験している。私がよく会うトラブルとしてはアルバムアートに関してだ。埋め込み方式にするか、連携するファイル(訳註:m3uファイルなど)にするのかは重大な懸案事項であり、軽々しく扱うべきではない。




ファイルのフォーマット - 編集済みコピー


編集済みコピーについては、非圧縮系であれロスレスであれロスする圧縮系フォーマットであれ、ユーザーが自由に選べばよい。


コンピュータオーディオファイル向けリッピング戦略は以下の4つのポイントによって決定される。「CDを正確にリップする」ということはひとつ目のステップであり、これに続いて、「信頼できるストレージメディア」、「将来性のあるフォーマットの選択」、「メタデータ」というステップがある。この戦略を自分のものにして、目標を100%達成するために手堅い方法論を構築していただきたい。


リッピング戦略の要旨


1. オリジナルと1:1のコピーを作るために16/44.1でリップすること。

2. アーカイブ用コピーと作業用コピーをリップし、CDは捨てないで保管すること。

3. 今現在のユーザビリティのため、そして将来的な復旧や内容確認のために、埋め込みメタデータを利用すること。

4. 将来のフレキシビリティと相互運用性のためにオープンなファイルフォーマットを使用すること。



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




オーディオファイル向けのリッピング方法論


方法論...【名詞】 研究や活動の特定分野で用いられるメソッド体系。

リッピング方法論の簡潔な説明: dBpowerampを16/44.1のセキュアモードで使用する。同時に2つまたは3つの異なるファイルフォーマットをそれぞれ別のストレージに出力する。

コンピュータオーディオファイル向けのリッピング戦略の実現は思っているよりも簡単だ。下記の方法論により一撃でゴールを達成することができる。推奨に価するリッピングソフトはいくつもない。自分で試して使いやすいものを選ぶべきだ。

音楽コレクションのリッピングのような作業は、成功を収めるために自分の手でセットアップするということが非常に重要である。セットアップさえきちんと行えば、あとは単調で退屈で頭を使わない作業があるだけだ。プロセスに無駄があったり快適でなかったりすれば、3つのコピーをそれぞれ別のディスクにリップするといった面倒な作業はできないだろう。

私が勧めるのはWindowsマシンをdBpowerampのプロファイルをいつでもリッピングできる状態にしておき、「リッピング・ステーション」にしてしまうことである。この方法は次のような場面に遭遇した時に考えたものだ。つまり、5枚のCDをリッピングしてる時にすぐ聴きたくなっても、この方法なら全体のプロセスを放棄しなくて済むのである。

途中でコンピュータの設定を変えることは避けるべきだ。コンピュータオーディオファイル向け方法論の奥義は、自分が決めた「伝統的な作法」でリッピングを繰り返すことにある。




必要要件


  1. WindowsベースのPC(XP, Vista, 7)
  2. 十分な内蔵ハードドライブの空き容量
  3. 十分な外部ハードドライブの空き容量。NAS, USB, FireWire, e-Sata接続のディスク。
  4. dBpoweramp Music Converter。AIFF、WAV、FLAC用コーデック。マルチエンコーダーユーティリティ。



ステップ・バイ・ステップ


これから述べるインストラクションは、私がどのようにWindows XPとMac Pro、NASドライブを一緒に使ってリッピングを行なっているかを説明するものである。

補足:Windows XPはミュージックサーバーとしてWAVファイルの作業用コピーを格納している。Mac G5はAIFFファイルの作業用コピーを格納している。NASはFLACファイルのアーカイブ用コピーを格納している。

Windows XP - 作業用コピーとしてWAVファイル
Mac G5 OS X - 作業用コピーとしてAIFFファイル
NAS - アーカイブ用コピーとしてFLACファイル




ステップ1.いつでもリッピングできるようにコンピュータをセットアップする。




ステップ2.リッピングしたファイルを保存できるように内蔵ドライブと(または)他のミュージックサーバーのフォルダをセットアップする。

NAS上に「アーカイブ用コピー」と名付けたFLACファイルを保存するためのフォルダを作成。Mac G5上で走るOS X 10.4 Tigerは"Windows Sharing"を有効にしている(OS X 10.6 Snow Leopardでは単純に"File Sharing"と呼ばれている)。Windows PCでは元からある"My Music"フォルダを利用、dBpowerampからアクセス可能である。

OS X 10.4 Tigerの"System Preferences >> Sharing"を開き"Windows Sharing"にチェックを入れる。次に"Accounts"をクリックして少なくてもひとつはアカウントを有効にしておく。



OS X Snow Leopardなら"Preferences >> Sharing"を開き"Windows Sharing"にチェックを入れる。次に"Shared Folders"ボックスの下の+マークをクリックする。下のSSではMacのミュージックフォルダを選択して、"Share files and folders using SMB (Windows)"にチェックを入れている。少なくてもユーザーアカウントのひとつは有効にする。"Done"をクリックして、"Shared Folders"のボックスにミュージックフォルダがあるかどうか、右の"users"ボックスに"Read & Write Access"としてリストされているか確認する。






ステップ3.ダウンロードとインストール

dBpowerampとAIFFコーデック、マルチエンコーダーユーティリティ(WAVとFLACはデフォルトで含まれている)をダウンロードする。下記の3つのファイルをダウンロード&インストールする。

dBpoweramp - http://www.dbpoweramp.com/download.htm
AIFF - http://www.dbpoweramp.com/codec-central-aiff.htm
マルチエンコーダー - http://www.dbpoweramp.com/codec-central-utility.htm




ステップ4.dBpowerampの"general settings"を設定する。

dBpoweramp CD Ripperを起動する。上部の"Meta"ボタンの右にある小さな下向き矢印をクリックし、"Make sure PerfectMeta (Intelligent Lookup)"が有効になっているかどうか確認をする。



次に"Option"ボタンの右にある下向き矢印をクリックして"Encoder Priority"を展開し、選択可能な中で一番高い優先度を選ぶ。さらに"After Ripping"を展開して"Display Error Log"と"Do Nothing"が選択されていることを確認する。これによりリッピングが不首尾に終わった場合にエラーログがポップアップするようになる。




リッピングオプションを設定するために"Option"の大きなボタン(訳註:矢印ではなく)を押す。私が有効にしているのは"Secure (Recover Errors)"と"AccurateRip"、"Eject After Rip"である。



"Ultra Secure Ripping"は無効にしている。もうたくさんだ!と思ってしまうので。もし良好な結果を得るために3回から6回のリッピングが必要だと思ったら、その時に有効にするかどうか検討する。ダメージのあるCDをリップするために忍耐力を総動員して"Ultra Secure Ripping"を使うことは可能かもしれない。しかしこれには多大な時間の投資が必要であり、CDの状態によっては24時間リッピングが続くこともある。この点に関しては、通常のセキュアリッピングと、オンラインデータベースによるチェックサムの照合を行うことでよしとする。



オーディオファイルの間では「補間(訳註:interpolation)」という言葉は「不良品」を暗に示すことが多い。補間とは、リッピングプログラムが、判明している前後の値から推測または計算をして、中間の値や項を級数に挿入することである。

例えばCDで読めない部分をフレームBと呼ぶことにすると、リッピングプログラムはフレームAとフレームCを利用して、フレームBにどんな値を読むべきだったかを推測し、新しい値を補間する。このことは可能なかぎりパーフェクトにCDを保存するということに関して疑問を投げかける。

この懸念について私は次のように考える。補間されたフレームは、補間されていないフレームがプチプチカチカチいったりするよりは、ダメージのないCDから記録した音に近い、と。もしダメージのあるCDが歴史的に貴重なものなら、補間あり/補間なしの2種類のコピーをとるのが賢明である。

まったく補間を利用しないという戦略は推奨しない。なぜなら私の知るかぎり、FLACファイルからAIFFをコンバートする際に補間する方法が存在しないからだ。元のFLACファイルが補間されなかったせいでプチプチノイズ入りだった場合、このファイルから生成される後続のコピーもすべてプチプチノイズ入りになる。

補間に加えて、"Write To File"オプションも有効にしよう。これを有効にするとアルバムフォルダにログファイルが作成される。リッピングやその他の事項についてなにか悪い結果が起これば全て説明してくれる。このファイルをアーカイブ用コピーにと一緒に保存しておくことは重要だ。私はリスニング中にクリック音などのノイズが聞こえたらこのファイルを開くことにしている。ログを読めば、本当にノイズが聞こえたのか気のせいだったのか、あるいはスタジオでのレコーディングに起因するものなのか、といったことの判断材料になる。




ログファイルの一例(訳註:外部リンクです)


私はさらに2つのすばらしいオプション、"Eject After Rip"と"Prevent auto-run"を全てのCDドライブに対して有効にしている。前者は自分があまり注意を払っていない時に便利だ。他のどんな手段よりもリッピングの終了を気づかせてくれる。"Prevent auto-run"はWindowsや他のプログラムが毎回勝手にCDフォルダを開くのを防いでくれる。この2つのオプションは絶対に必要なものではないが、リッピング戦略を成功させる設定の一部だと私は考えている。



※訳者注
"Eject After Rip"を有効にすることは人によっては不便になると思います。
CDが挿入されていない状態になるので、リッピング結果をウィンドウ上に残しておくことができなくなります。



ステップ5.異なる設定に素早く切り替えるためのプロファイルを作成

dBpowerampのウィンドウ左下にある"Profile"の下向き矢印をクリックし、[Create Profile]を選択する。ウィンドウがポップアップするのでプロファイル名を入力する。



この新しく作ったプロファイルにリッピングに関する全てを設定しておく。先に述べたが、私のニーズは2つのミュージックサーバーと1つのNAS用に、計3種のファイルフォーマットを別々のロケーションに収めるということである。ここで早くも先ほどインストールしたマルチエンコーダーユーティリティの出番だ。 "Rip To"の下向き矢印から"[Multi Encoder]"を選択する。



dBpowerampのウィンドウ下段中央のボックスに、設定したファイルフォーマットが表示される。アーカイブ用コピーを作成するためにFLACエンコーダーを指定する。私は"Compression Level 0 (Fast)"を選択している。なぜなら私がFLACを推奨するのは圧縮アルゴリズムのためではなく他のすばらしい機能のためだからだ。もし必要ならお好みで圧縮率を変更してもかまわない。

"After Encoding Verify Written Audio"にチェックを入れる。"Output Location"は外部ドライブにするべきだ。この例では"M:"は私のNASであり、ステップ2で作成したようにアーカイブ用コピーのためのフォルダが設置してある。"Dynamic"を選択して"artists、albums、tracks"を設定し、後で役に立つようなディレクトリ構造にする。"Set"ボタンをクリックすればディレクトリ構造をカスタマイズすることができる。デフォルトでは1つのアーティスト名フォルダの中に、全てのトラックがアーティスト名+トラック名で保存される。私の好みのディレクトリ構造は、アーティスト名フォルダ/アルバム名フォルダ/トラック である。SSのようにこのダイアログボックスにはディレクトリ構造として選択可能な項目が表示される。




AIFFエンコーダーを追加する。"bit depth"と"sample rate"、"channels"は"Same As Source"にしておく。ここで選択したフォルダ"Automatically Add To iTune"のロケーションが自動的にMac G5上のiTunesのフォルダに追加される。ステップ2で設定したようにこのフォルダは共有されている。リップした後でiTunesを開く必要がある。出力されたファイルはiTunesライブラリに自動的に追加され、"Automatically Add To iTune"フォルダから削除される。注意しなければならないのは、このロケーションにリップしている間はiTunesを開いてはいけないということだ。トラックがおかしくなりインポートされないというトラブルを経験している。





WAVエンコーダーを追加する。"bit depth"と"sample rate"、"channels"は"Same As Source"にしておく。SSにある"My Music"フォルダロケーションはこのコンピュータのローカルドライブである。私はこのリッピング用コンピュータ(Windows XP)をミュージックサーバーとしても使っている。ディレクトリ構造は先に述べたものと同じである。



プロファイルの設定が完了すれば、SSのようにマルチエンコーダーのボックスにFACとAIFF、WAVEが表示される。





ステップ6.リッピング

ウィンドウ左上の"Rip"ボタンを押したら後はゆっくり座っていよう。コンピュータオーディオファイル向けリッピング方法論がいよいよ始動開始する。

1枚目のSSはdBpowerampがリップしている様子である。CRCカラムの緑色の文字列は、トラックがリップされてデータベース上の第三者のチェックサムと一致したことを示している。

Rip Statusカラムの括弧内の数値は「リップしたけどエラーは見つからなかったよ。[X人の]他の人がリップしたトラックとこのトラックは同じだね。結果も正確に一致してるよ」ということを表している。

dBpowerampのウェブサイトによるとAccurateRipの一致はリッピングがエラーフリーであることを保証するものだ。2枚目のSSでは10曲のトラックをリップし、結果が10曲ともAccurateだった場合のものである。






ステップ7.リッピング結果をチェックする。

計画した通りにリッピングが行われたか確認をする。iTunesを開かなくても、リップしたアルバムが正しい場所にあるかどうかフォルダ"Auto Add folder"で確かめることができる。これらのトラックはiTunesが起動するとすぐに消えてiTunesのフォルダに移動する。"Auto Add folder"は通常は空になるか、取り残されたトラックが見つかることがある。トラックがインポートされないまま残る原因は、なんらかの理由でインポートすることができないアルバムアートを含んだフォルダであることが多い。なので心配する必要はない。





WindowsのMY MusicフォルダにあるWAV作業用コピー。



NASのFLACアーカイブ用コピー。






ステップ8.整備完了

アーカイブ用コピーはそのままにしておく。プレイヤーソフトから作業用コピーを選択し音楽を再生する。コンピュータオーディオファイル向けリッピング戦略と方法論の準備はこれで整った。




終わりに


コンピュータオーディオファイル向けリッピング戦略と方法論を継続すれば、このドキュメントで最初に述べたゴールにたどり着くだろう。


「信頼できるストレージに、将来性のあるフォーマットで、必要であればメタデータ付きで、CDを正確にリップする」


熱烈な「デジタル芸術遺産保護主義者」ではない一般の読者にとってもこの方法論は役立つだろう。冒頭の手順を踏めばミュージックサーバーを便利に活用することができ、なによりも音楽を楽しむことができるようになる。

正面から取り組む努力を少しだけすれば、リッピングのやり直しや時間と金の浪費をしないで済む。自分のミスやコンピュータの不具合でファイルが消えても、ほんの数クリックで元に戻すことができるようになる。

このリッピング戦略と方法論の最大の利点は、サウンドのクオリティと利便性を犠牲にしなくても、自分の音楽コレクションは将来の変化についていくことができるんだ、という意識改革にあるのかもしれない。




訳註と用語集


訳註

オリジナル記事:
Computer Audiophile - Computer Audiophile CD Ripping Strategy and Methodology
http://www.computeraudiophile.com/content/309-computer-audiophile-cd-ripping-strategy-and-methodology/



オリジナル記事との差異:

・そのまま訳すと日本語として異常に長くなってしまう部分はセンテンスを分けるか、意味上問題がなければ割愛した。これには学術論文を気取った冗長さやシェクスピア『マクベス』からの引用符のない引用が含まれる。

・エフェクティブライティングを意識したドキュメントではパラグラフを崩すと文意や効果が変わってしまうおそれがあるが、読みやすさを優先し改行を入れた。

・長いドキュメントなので迷子にならないよう、数カ所で見出しや項目を設定し直し、さらに複数のページに分けた(オリジナルは全1ページ、とにかく長い)。


その他:

・なるべくアルファベットが混ざらない文章を心がけたが、dBpowerampなどのソフトウェアについては英語のまま使用している方が多いと思い英語表記を残した。

・"rip"と"ripping"...名詞の場合は「リッピング」、動詞の場合は「リップする」という表記に統一した。つまり「リッピングする」を排除した。違和感があったらごめんなさい。


ピーター・コープランドについて:

Peter Copeland
http://en.wikipedia.org/wiki/Peter_Copeland

"Manual of Analogue Sound Restoration Techniques" PDFファイル版
http://www.bl.uk/reshelp/findhelprestype/sound/anaudio/manual.html



用語集

アーカイブ
http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%BC%E3%82%AB%E3%82%A4%E3%83%96

デジタル保管
http://en.wikipedia.org/wiki/Digital_preservation

サンプリングレート
http://e-words.jp/w/E382B5E383B3E38397E383AAE383B3E382B0E383ACE383BCE38388.html

AIFF
http://ja.wikipedia.org/wiki/AIFF

ALAC
http://ja.wikipedia.org/wiki/Apple_Lossless

WAV
http://ja.wikipedia.org/wiki/WAV

FLAC
http://ja.wikipedia.org/wiki/FLAC

AccurateRip
http://www.accuraterip.com/

NAS
http://e-words.jp/w/NAS.html

CRC 巡回冗長検査
http://www.sophia-it.com/content/%E5%B7%A1%E5%9B%9E%E5%86%97%E9%95%B7%E6%A4%9C%E6%9F%BB


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