GMPCの文字化けが解決しました。

まずはこれをご覧ください。

「dBpoweramp CD Ripper」を使うと、waveファイルにもタグが入力できるのだが、日本語の場合は文字化けするという問題がありました。
しかし、困ったことがあれば必ず「解決法」を誰かが考えてくれるのがネットの世界でして、ご覧のように日本語で入力されたタグが問題なく「GMPC」で表示されています。
これで、日本語表示の問題があるために「FLAC」を選んでいた人も、何の問題もなく「WAVE」を選択できます。
ただし、解決法はいささか「敷居」が高いのが困った話なのですが、挑戦する人は「自己責任」でチャレンジしてください。

文字化けの原因はMPD本体にありました

さて、この文字化けの原因は「dBpoweramp CD Ripper」にあると思われていました。
しかし、「dBpoweramp CD Ripper」で日本語入力したタグは「Lilith」などで再生すると、きれいに日本語で表示されることに気づきました。と言うことは、「dBpoweramp CD Ripper」を文字化けの犯人にする事はできないと言うことです。

となると、犯人はクライアントソフトの「GMPC」にあると思っていたのですが、考えてみると、「GMPC」はMPDがファイルを読み込んで作成した「tag_cache」を読み込んで表示するだけです。調べてみると、盛大に文字化けして表示される部分は既に「tag_cache」の部分で文字化けしています。
と言うことは、この文字化けの犯人はどうやらMPD本体らしいのです。
つまり、MPD本体が日本語で記入されたタグ情報を正しく読み出すことができないために、結果として「GMPC」も日本語のタグを表示できないというのが事の真相のようなのです。

ですから、この「文字化け問題」を解決するためには、誰かが(^^;、MPDを日本語化するようなパッチファイルを作ってくれればいいと言うことになります。
まあ、何とも虫のいい話ですが、そう言う虫のいい話がどこかで転がっているのがネットの世界というモノです。

適当な言葉「MPD 日本語化」とでもしてGoogle先生に聞いてみれば・・・何と、見事にヒットしました。

MPDの日本語化(ShiftJIS/UTF-8両対応)パッチ

このサイトで配布してくれている「mpd-0.15.4-cp932.patch」というパッチファイルをMPDのソースコードにあててコンパイルしてからインストールをすればいとも簡単に問題は解決しました。

パッチをあててソースコードからインストールする方法

ソースコードからインストールする方法は既にこのサイト内でも紹介しています。yanさんのパッチファイルを適用してインストールする方法も紹介していますので、やり方は基本的に同じです。

既に、ソースコードからコンパイルして最新のMPDをインストールしているという人は、「mpd-0.15.4-cp932.patch」を使ってパッチをあててから再度「make」「make install」すれば終わりです。

詳しくは、「yanさんのパッチファイルを適用して優先度を弄る方法」をご覧ください。

以下、取りあえずソースコードにパッチをあててインストールするためのコマンドだけ列挙しておきます。

# mpdを停止
/etc/init.d/mpd stop

まずは、MPDを停止しておきましょう。

# 基本ライブライリのインストール
apt-get install aptitude wget
apt-get install git binutils gcc make subversion autoconf automake autotools-dev libtool pkg-config
apt-get install build-essential libncurses5-dev libncursesw5-dev linux-headers-`uname -r` libglib2.0-dev

MPDをソースからコンパイルしてインストールする上で必要なライブラリ群です。
事前にインストールしておきます。既に、ソースコードからインストールしている人はこの作業は済んでいるはずです。

# 個別のライブラリをインストール
apt-get install libflac8 libflac-dev # flacをサポートします。(必須)
apt-get install libogg0 libogg-dev libvorbis0a libvorbis-dev # Ogg Vorbisをサポートします。
apt-get install libid3tag0 libid3tag0-dev libmad0 libmad0-dev # id3タグをサポートします。
apt-get install libcue-dev libcue1 # cue sheetをサポートします。
apt-get install libasound2 libasound-dev libasound2-dev # ALSAをサポートします。(必須)
apt-get install libsamplerate0 libsamplerate-dev # サンプリングレートの変更をサポートします。
apt-get install libavformat52 libavformat-dev libavcodec-dev libavcodec52 libavutil49 libavutil-dev # mp3、apeなどをサポートします。(必須)
apt-get install libsndfile-dev libsndfile1 libaudiofile0 libaudiofile-dev # WAVEファイルなどをサポートします。(必須)

Wave・FLAC・mp3を再生するだけならこれくらいインストールしておけば大丈夫なのではないでしょうか。
当然のことながら、ソースコードからインストールしている人はこの作業は済んでいるはずです。

# mpdの最新版のソースを入手してconfigureする
git clone git://git.musicpd.org/master/mpd.git
cd ./mpd

ここでパッチをあてます

MPDの日本語化(ShiftJIS/UTF-8両対応)パッチ」から「mpd-0.15.4-cp932.patch」をこのディレクトリにダウンロードしてきます。
wgetで上手くダウンロードできないとき(私は何故か上手く落とせませんでした)は、このページの内容をコピーして「mpd-0.15.4-cp932.patch」をディレクトリ内に作成してください。

vi mpd-0.15.4-cp932.patch
コピーした内容を貼り付けて保存する。

patch -p1 < mpd-0.15.4-cp932.patch

ここが肝心のパッチをあてるコマンドです。

./autogen.sh
./configure -disable-ipv6 -disable-sndfile

ここでyanさんのパッチファイルを適用して優先度を弄るチューニングに取り組んでもいいかと思いますが、初めての人は欲張らずに日本語化だけに絞った方がいいと思います。

#コンパイルしてインストールする
make
make install

ここが一番時間がかかりますので、あわてず様子を見ましょう。訳の分からない文字列が端末の画面にずらずらと表示されるのではじめは驚きますが、気にしないで終了するのを気長に待ちましょう。

# 起動させるmpdを変更する
echo DAEMON=/usr/local/bin/mpd >>/etc/default/mpd

起動時に自動起動させる「MPD」は「/etc/default/mpd」というファイルに記述されているので、新しくインストールした「MPD」が起動するように書き直します。
既に、ソースコードからインストールしている人はこの作業は済んでいるはずです。

# 日本語化したmpdを起動する

過去に作成されているMPDのデータベースファイルは上書きされませんので、文字化けしている日本語のタグが多数存在する場合は「tag_cache」を一度削除しておきましょう。「tag_cache」のある場所は一般的には「/var/lib/mpd/tag_cache」ですが、mpd.confを編集して別の場所に置いている人は指定した場所の「tag_cache」を削除してください。

rm -f /var/lib/mpd/tag_cache
/etc/init.d/mpd start # MPDを起動すれば、自動的にtag_cacheの作成が始まります。

GMPCで接続して日本語のタグが表示されていることを確認する。

こういう感じで、waveファイルに打ち込んだ日本語のタグが表示されれば成功です。


9 comments for “GMPCの文字化けが解決しました。

  1. 2012年1月25日 at 8:28 AM

    ゴンザエモンです、こんにちは。

    世界は広いというか、何というか、、、、やはりパッチがあったのですね。
    貴重な情報を整理していただき、改めて深謝です。もう少し自分で探してみるべきでした。(反省!)

    ところで例題が、「中島みゆき」というのもイケてますね。当方も結構なファンです。

  2. ユング君
    2012年1月25日 at 7:53 PM

    世界は広いというか、何というか、、、、やはりパッチがあったのですね。

    結局は、文字化けの犯人が誰かというのがポイントでした。
    上でも書いたのですが、最初は「dBpoweramp CD Ripper」が犯人だと思い、せっかくWAVEファイルにタグを入力してくれるのに勿体ない話だと思っていました。

    私の中で、この問題が急転直下したのは、何気なく「lilith」で再生すると日本語のタグがきれいに表示されるのに気づいたことでした。
    その事で、文字化けの主犯がMPDであることに気づく事ができました。

    そして、この手の日本語化はいろんなところでやられていますから、、きっとMPDの日本語化も誰かがやってくれているだろうと思いました。
    結果はまさにビンゴだったわけです。・・・何という、他力本願(^^;・・・。

    個人的には、これで何の憂いもなくWAVEファイルでライブラリを作ることができます。

  3. nino
    2012年1月25日 at 8:32 PM

    貴重な情報ありがとうございます。フォーマット変換やタグ情報の付加などはすべて音質の阻害要因になりますから、音質にこだわるならWAVにしておくに越したことはありませんからね。

    それにしても、クラシックとジャズしか聴かないようなオーオタでも、中島みゆきだけはこっそりと聴いている人が多いようで(笑)。詞とコントラルト(?)ともいうべき声が、どことなく宗教音楽を想わせるものがあるように思います。

  4. ユング君
    2012年1月25日 at 8:57 PM

    >クラシックとジャズしか聴かないようなオーオタでも、中島みゆきだけはこっそりと聴いている人が多いようで(笑)

    先ほどはふれるのを忘れていました。
    壁一面に収納されたクラシックのCDの一角に、しっかりと中島みゆきのCDがおさまっているのが私の「正体」です。あとは、エンヤと元ちとせだったりします。(^^;

    「化粧なんてどうでもいいと思ってきたけれど… せめて今夜だけでも、きれいになりたい」
    昔これを聞いて泣きましたね・・・若かったんですね。

    http://www.youtube.com/watch?v=aY9H347q3XY&feature=colike

    これも泣けますね。

  5. nino
    2012年1月26日 at 8:41 PM

    大学1年の夏休みに、新宿のパブレストランでバイトをやっていた時期がありました。店内には当時の流行歌が有線で延々と流されていましたが、流行歌や歌謡曲にはまったく関心がない私には、ほとんど雑音のようなものでした。

    ところが、誰かも知らない女性歌手が

    忘れられない歌を突然聞く
    誰も知る人のない遠い街の角で…

    と歌い始めたときには、その強烈なインパクトに全身を耳にして聴き入ってしまいました。それからは、その曲が3日に一度くらいのペースで流れてくるのを心待ちにするようになっていました。

    世の中の流行にはまったく疎い私には、結局その曲名も歌手もわからないまま20年余りがたった頃、子供が話題の「地上の星」のCDを車の中に持ち込むようになって、初めてその曲名と歌手を知りました。

    アルコールの匂いとたばこの立ち込める薄暗い店内で聴いた中島みゆきの声は、鮮烈な音楽体験でした。「忘れられない歌」そのものですね。

  6. 2012年1月27日 at 7:10 PM

    nino onさん、こんにちは。

    > どことなく宗教音楽を想わせるものがあるように思います。

    いや、まさにその通りだと思います。力強さを合わせ備えた素晴らしい「宗教音楽」です。

  7. jun
    2013年1月9日 at 7:01 PM

    はじめまして、最近VortexBox2.2を使い始めたものです。
    LINUXについてはまったくの初心者ですが、こちらのサイトの記事を参考に何とかNASのライブラリーを再生できるようになりました。が、wave形式の楽曲のタグの日本語部分の文字化けを修正することができません。「apt-get」「libtool」などのコマンドが「not found」になってしまいます、よい方法を教えていただけないでしょうか。

  8. 2013年1月10日 at 10:14 PM

    >wave形式の楽曲のタグの日本語部分の文字化けを修正することができません。

    VortexBoxを使うことはあまりないので記憶が曖昧なのですが、私の環境では文字化けしていなかったような記憶があります。今はちょっと忙しいので確かめる余裕がないので、今度の3連休にでも少し調べてみようかと思います。

    それから、ついでながらなのですが、ここで取り上げた日本語化は、残念なことに最新版のMPDにはきちんとパッチが当たりません。何かいい方法を考えないといけないとは思っています。

  9. 2013年1月20日 at 11:44 AM

    >VortexBoxを使うことはあまりないので記憶が曖昧なのですが、私の環境では文字化けしていなかったような記憶があります。

    遅くなりましたが、この記憶はやはり間違いだったようで、VortexBoxでも日本語のタグ情報は見事に文字化けしますね。
    まあ、考えてみれば、MPDを使ってデータベース化しているのですから当然といえば当然です。

    おそらく、上手く日本語化のパッチをあてれば解決するのでしょうが、私の手には余ります。

    ただし、タグは文字化けしてもファイル名は化けないので今のところはそれで良しとしてます。

Comments are closed.