趣味のプログラム工房

PCオーディオ

Webベース mpd client NeoMPC

以前紹介した、NeoMPCというWEBのMPDクライアントについてです。


NeoMPCの前の記事

NeoMPCは非常に使いやすいクライアントソフトだと思います。
バグさえなければ、、、

これは使い物にならなくなった、iphone用クライアントの「MPod」に代わり、iphoneから利用しているWEBベースのMPDクライアントですが、実はバグがあります。

というわけで、その修正方法を紹介します。

バグ
1、Browseのメニューで曲の一覧を表示時、一画面に一覧が全部入らない時に、曲を追加する操作を行うと、その後の画面で下へスクロールできなくなる。
(リストの下にあるはずの曲が操作できない)

これの修正方法は簡単で、
./templates/default/style.css
①24行目あたりにある、「#menu」のpositionの設定をコメントアウト。
②12行目のbodyのmarginをすべてゼロにする。
以上です。


2、Playlistが空の時、Browseのメニューでファイル名が表示されない。
ファイル名は表示されないが、タグが設定されていればタグの内容は表示される。(タイトルなど)
通常は、タグが設定されていればタグが、タグが設定されていなければファイル名が一覧として表示されるが、Playlistが空のときはファイル名が表示されれなくなる。

修正方法は、
./lib/page.php
①246行目のforeachの行をコメントアウト。
②その閉じるカッコの、254行目のカッコをコメントアウト。
これでOK。

うーん、このループ文は何をしてるんだろう。。。


あと、個人的に修正した点は、
Browseでの曲の追加リンク「+」。
これを押したときに、一番上まで自動スクロールして戻ってしまうのを、ボタンを押した曲の位置でとどまるように修正。
曲を何度も追加するときに、いちいちスクロールしなおすのに便利です。

改修対象のファイルは
./template/browselist_item.html
①27行目のaタグに「name="{:$browselist_item.file|escape:'url':}"」といったラベルを設定。
②上記アンカータグのリンク先のURLとして、リンク先URL末尾に「#{:$browselist_item.file|escape:'url':}」を追加。
意味は分かりますよね??


NeoMPCお勧めですよ!
2013年01月18日


Raspberry pi 到着!!

6月に注文していたRaspberry piがようやく到着しました!

3000円台のPC(ARM CPUなので厳密にはPCではない)として有名なRaspberry pi。
電源用のケーブルは付属してなかったのですが、とりあえず、スマートフォン用のUSB電源と、ケーブルを仕様。

まず、サイトからOSのダウンロード。
Raspbian “wheezy”の最新版を利用しました。
http://www.raspberrypi.org/downloads
とりあえず、適当に日本語化。


でだ。
誰もが悩むと思いますが、これの使い道。
消費電力が2.5wはかなり魅力的ですが、、、我が家のサーバとしてはFedoraのが1台あるので、今から新しいのをつくろうとも思わないんですよね。

とりあえず、音を鳴らしてみようと、設定を開始。
が、どうしても鳴らない。

イヤホン端子につないで、音源を再生してみますが全然鳴りません。
、、、でしばらくたってから気がついたのですが、HDMIの方から音が出ていたようorz

HDMI出力先の切り替えはこのコマンドみたいです。
$ sudo amixer cset numid=3 1 # Raspberry Pi 内蔵の端子に流す
$ sudo amixer cset numid=3 2 # HDMI に流す

あと、手元にあるUSB DACをつなげてみましたが、若干、ぼやけた印象?
高音部分がかすれるような薄い感じがします。


さて、ほんと何に使おう。


2012年10月14日


Fedora17でMediatomb! コンパイル&インストール

公開されているパッケージを使ってもよかったのですが、リポジトリにあるパッケージをつかってだと、どうもトランスコード(Transcode)が効かない。


というわけで、ソースを落としてきて自力でコンパイルすることに。
必要なライブラリはいろいろサイトを見たり、configureの結果を見てインストール。

で、いざコンパイルとなると必ずこける。

from ../src/zmmf/zmmf.h:35,
from ../src/autoscan.h:36,
from ../src/autoscan.cc:36:
../src/zmm/object.h:51:32: error: declaration of 'operator new' as non-function
../src/zmm/object.h:51:27: error: expected ';' at end of member declaration
../src/zmm/object.h:51:39: error: expected ')' before 'size'
make[2]: *** [libmediatomb_a-autoscan.o] Error 1

../src/scripting/script.h:69:5: error: ‘JSScript’ does not name a type
../src/scripting/script.h:70:5: error: ‘JSScript’ does not name a type
../src/scripting/script.h:118:5: error: ‘JSScript’ does not name a type
../src/scripting/script.h:119:19: error: ‘JSScript’ has not been declared
make[3]: *** [libmediatomb_a-autoscan.o] Error 1

とか。。。

どうも、コードのバグっぽく、有志によるパッチが出ています。
mediatomb-0.12.1.tonewjs.patch
mediatomb-0.12.1-gcc46.patch
mediatomb-0.12.1.jsparse.patch
libav_0.7_support.patch

とりあえず、自分が当てたのは上4本。
機能の有効の有無によっては、必要のないものもあります。
(configureのオプションしだい)

自分はパッチを探すまでにだいぶ時間がかかってしまいました。
てか、mediatombだれかバージョン上げた品質の高いのを公開してくれ!


ちなみに、一般常識かもしれませんが、
make install はrootで行わないとエラーになります。


だが、結局最後までlibdvdnavを有効に出来なかった、、、
コンパイルが通りません。orz

2012年07月14日


iphoneでMPD! (NeoMPC)

題名のとおり、iphoneMPDを操作しよう!

ということで、私が使用していた(過去形)ソフトは「MPoD」。
iphoneにおいてかなり使いやすいソフトでした。

が、このソフト、最新の「2012/6/9」版だと私がFedoraにインストールしているMPDと接続できなくなったのです。

ふべん~~。


かといって、iphoneで他によさそうなMPDクライアントも無いわけで。


というわけで、方向性を変えて、WEB Clientを導入することに。
ネイティブアプリではなく、WEBブラウザから操作しようというわけです。

とりあえず、httpd(apache)とphpを導入。

最初に導入したのは「RelaXXPlayer」
これは、思ったよりレベル高い。導入も物凄く簡単です。
が、iphone向きじゃない。
残念ながらiphoneでは操作不可能です。


続いて、「NeoMPC」にトライ。
これも、configファイルの設定だけで、簡単に導入できました。
で、これはiphone用にデザインされておりシンプルで使いやすいです。
まさに完璧!

iphone用のMPDクライアントをお探しなら選択肢としてありだと思います。


2012年06月20日


AACエンコード 何故か再生できない、、、

我が家の環境でAACエンコードされた音楽ファイルの中で、何故か再生できないファイルがある。
よくよく調べてみると、どうも、「xrecode II」というソフトを使ってエンコードしたファイルが駄目くさい。
このソフトでエンコードしたAACファイルは内のWinampでは再生できませんでした。

ソフトによっては再生できるものもあるのですが、、、Ubuntuのmpdで再生できないのは問題!


①OKなファイルとNGなファイルを真空波動研で調べてみると、NGな方には「[Extra][2]」という項目で「MetaData~」というような情報が書き込まれていました。
②あと、AACの種類が、OKな方は「LC-AAC」、NGな方が「HE(CL)」でした。

どうも、ここら辺が原因らしい。
特に、①が怪しい。(少なくてもHE-AACでも、Winampで再生できていた気がする)


というわけで、問題なくエンコードをしてくれるソフトを探した結果、見つけたのが、「MediaCoder
http://www.mediacoderhq.com/download.htm

英語ですが、かなり機能豊富です。
あと、日本語化のパッチはここにあります。
http://www.nihongoka.com/jpatch_main/mediacoder/


AACへの変換としては「FAAC」がよさそう。

2012年05月07日


Ubuntu 11.10 で MediaTomb 0.12.1

さて、Ubuntu 11.10MediaTomb 0.12.1の利用ですが、コレ自体は簡単にできます。
しかし、DLNAのメニューがかなり使いにくいですね。
例えば、音楽をPCのディレクトリで探すといったことができない。
(PCのディレクトリ構成から音楽を探すことは可能だが、ディレクトリ単位で再生する場合、そのディレクトリ内にある画像ファイル等の余分なファイルまで再生の対象となるため不便)

で、それを何とかするための機能もMediaTombにはあるのですが、なんと、0.12のバージョンでは無効になっているんです!
その機能とは「import.js」の設定によって、ライブラリを作成するというもので。
ファイルのライブラリへのインポート時に「import.js」の設定にしたがって、フォルダの階層を作成したり、登録するファイル名を指定できる機能なのですが、Ubuntu11.10で使えるMediatombのバージョンではこの機能のオプションが無効になっているようです。
使おうとするとログに「ERROR: MediaTomb was compiled without js support, however you specified “js” to be used for the virtual-layout.」と表示されます。

というわけで、何とかこのオプションを使おうと、ソースファイルを取得しての自力のコンパイルを行おうとしたのですがどうにもなりませんでした。

http://tobias-zimmer.blogspot.jp/2011/12/howto-compile-mediatomb-with-javascript.html
のサイトを参考にがんばったのですが、無理。
どうがんばっても、ライブラリを追加しても、
「./src/scripting/script.h:69:5: error: 'JSScript' does not name a type」といったエラーが出てしまいます。

また、「Mediatomb with Javascript support」というバイナリを配布している人もいるようですが、これも結局正しくインストールできませんでした。
https://launchpad.net/~jinto/+archive/mediatomb-js

必要なライブラリが多すぎて、依存関係が解決できず断念。
、、、この状況を見ると、Mediatombがjsのサポートを外したのも、ライブラリの依存関係がめんどくさいからではないかと思います。
必要なライブラリがことごとくUbuntuのリポジトリに存在しないため、インストールができないという状況。
だから、Mediatombもライブラリが使えず、サポートから外したのでしょう、、、
もしかすると私の環境がAMD64だったのがダメだったのかも。


というわけで、結局あきらめ、代わりに、「minidlna」というメディアサーバソフトを導入しました。
これは結構いい感じです。
2012年04月02日


MP3 オーディオファイル タグ情報編集 Unicodeへ変換

Voyage MPDを使って持っているのですが、持っている音楽ファイルを読ませたところ、日本語のタグ情報で文字化けが発生!

どうやら、タグ情報はUnicodeじゃないとダメのようです。

というわけで、持っているファイルのタグを一括編集することに。

単純にタグの文字コードの変換であれば、↓のソフトがお勧め。

TagScanner
http://www.xdlab.ru/en/index.htm


海外のソフトですが、日本語にも対応しているので安心(設定から日本語表示にできます)。
また、タグの変換だけじゃなく非常に多機能なのでいろいろ使えると思います。


あと、タグ情報を編集するのであれば、

SuperTagEditor
http://hp.vector.co.jp/authors/VA012911/STEP/step.html

現在、本家は閉鎖していて、ほかの人が作った改造版が公開されているようですね。

MP3のタグ編集ソフトをお探しの人の参考になれば。
2012年01月03日


Voyage MPDでメディアプレイヤーPC!! これは面白い!!

PCを簡単にメディアプレイヤー化するOS「Voyage MPD」を試してみました。
が、これが予想以上に面白い!
意外にもかなり使えます。

MPD(Music Player Daemon)ソフトウェアがデフォルトで組み込まれた、voyage Linuxなのですが(voyage Linuxは元々ルータ用Linuxなどで使われた軽量なディストリビューションらしい)、私は、これをVMware ESXiにインストール!!

正直ちょっと無い組み合わせですね!(笑)

下記サイトを参考にインストール作業。
http://asoyaji.blogspot.com/2011/01/voyage-mpd-2011122_25.html

コマンドは基本コピペです。(ドライブのデバイス名を変えたくらい)


クライアントのWindowsマシンにはGMPCをインストールしました。
で、動かしてみるとあっさり起動。
仮想環境のUbuntuではマウントできなかったUSB DACから普通に音が出てます!!
しかも、同じく仮想にインストールしてるWindows server2008 R2のデフォルトよりも全然問題なく鳴ってます!
音質は若干高めになってる印象ですが、、、気のせいかな?
音を聞き分けるほどの経験は無いので感想はあまり当てにしないでください。


個人的に、USB DACがあっさりマウントできたのは◎
音楽フォーマットもかなりサポートされていて文句なしです。
仮想環境でも使えているしこれは結構遊べますね。

ただ、メディアファイルのライブラリの日本語がかなり文字化け。
メディアファイルのタグ情報の文字コードが合っていない様子。

うーん、、、こちらを見てください。
MP3 オーディオファイル タグ情報編集 Unicodeへ変換


ただ、「Voyage MPD」を使うくらいならUbuntuでMPDの方が面白いと思います。
MPDにしか使えないLinuxでマシン一台つぶすよりは、だいぶ有意義ではないでしょうか?

2012年01月01日


VMware ESXi+windows server 2008 R2で音質改善

VMware ESXiのWindows server 2008 R2のサーバをジュークボックス的に使えないかと、試行。(前回の続きです。)

目的としては、このサーバをネットワークオーディオプレイヤーとしたい。
でも、前回の記事で書いたように、音質が致命的に悪いです。
ホストマシンに接続したUSB DAC(デジタル-アナログコンバータのですが、音とびがひどすぎます。
(ちなみに、同じホストに入れているUbuntuではハード自体は認識しているが、オーディオデバイスとしては仕様不可。同じハードに入れた、ネイティブでは使用できていたのに、、、。VMでだと使えないみたい)

Windowsでは、出力先に選択できるドライバインタフェースにはいくつか種類があるらしいが、通常「DirectSound」が使われる。
また、デバイスが対応していれば「AISO」というオーディオ用のインタフェースもある。
「DirectSound」の場合、音楽ソフトとオーディオデバイスの間に、OSの処理が多く入るため、OSの影響を受けやすく、遅延も発生する。(その分、音響処理とかできるメリットがある)
また、間の処理をより少なくした「ASIO」(オーディオデバイスが対応している必要がある)。
しかし、私の持っているUSB DACでは当然ASIOは対応していない。

でも世の中にはあるんですね。
http://ta2020.huuryuu.com/asio4all.html
非対応でもASIOを使えるようにするソフトです。

↑これと、出力インタフェースを変更できるオーディオソフト WINAMP(プラグインが豊富)で、ASIO用outプラグインを使用して鳴らしてみると、、、うーん、いまいち。
若干良くはなったが、まだノイズ、音飛びが酷い。


出力インタフェースでかなり改善できることがわかったので、この方向でとさらに調べた結果、ついに発見!!

それが、「Kernel Streaming」。
以外にも古い仕組みらしいのですが、音質は一番良かったです。
OSの処理をかなり排除しているらしく、軽いため、音飛びもないです。

ただ、Kernel StreamingやASIOを使うためには、対応する音楽ソフトを用意する必要があります。
WINAMPではプラグインを追加することで対応可能なので、WINANPプラグイン互換のソフトならば使えます。


追記
そもそもの問題として、Windows 2008が悪い気がする、、、
XPならば通常ドライバでも音質はそれなりなのに。(Kernel Streamingよりは悪い)

2011年12月25日


VMware ESXi+UbuntuでUSB DACが使えない!

我が家で、VMware ESXiにUbuntuをインストールして使っていて気がついたのですが、どうやら、USB DAC(デジタルオーディオ機器)が使えない様子。
VMを通さないで、ネイティブで使っていたときには普通に使えていたのに、、、

ちなみに、ゲストがWindowsの時には使えました。
ただし、音飛びがひどくて使い物になりません、、、
WindowsXPはそれほどでもないのですが、なぜか、Windows Server2008R2では酷いです。
2008のDAC標準ドライバの質が悪いのでしょうか。
何とかならないものですかね。
2011年12月22日


前へ 次へ