カテゴリー
オーディオ

今度こそ…FLAC再生時、WAV再生時の負荷の違い

前回はちょっとちょんぼがあったので、再度調べてみました。

使用環境はいつものVortexBoxです。
mpdのバージョンは、0.17.4。
マザーボードはASUS E45M1-Iで、CPUはAMDのE-450です。
USB DACは、TEAC UD-501です。
それ以外の出力先は指定していません。

試した曲は、EaglesのHotel California。196KHz、24bitのデータです。
オリジナルのFLACは、HDTracksより購入した、イーグルスのホテル・カリフォルニアです。
これを、まず、WAVにコンバートしました。さらに、そのWAVをFLACにコンバートしました。
FLACの圧縮レートは、XLDの設定を変えていくつか試してました。

それぞれのファイルサイズは以下の通りです。
WAV:450.3MB
FLAC(圧縮率最高):285.3MB
FLAC(圧縮率標準):259.9MB
FLAC(圧縮率2目盛り目):267MB
FLAC(無圧縮):451.1MB
これを見ると、圧縮率の表記と、実際のファイルサイズにはかなりの差を感じます。

CPU負荷は、topコマンドで確認しました。イントロから歌い出し始めのあたりまでを、目視で確認しただけなので、厳密な数値とは言えません。が、傾向はわかると思います。
その際、mpcbridgeなど、mpdのリモコン類は全て接続していない状態です。つまり、リモコンアプリとmpdの通信を行っていない状態ということです。

CPU負荷はさらに面白い結果となりました。
WAV再生時:1.7〜2.3%
FLAC(圧縮率最高)再生時:5.3〜6.3%
FLAC(圧縮率標準)再生時:4.0〜5.6%
FLAC(圧縮率2目盛り目)再生時:3.6〜4.6%
FLAC(無圧縮)再生時:4.3〜5.0%

WAVの負荷が低いのは何となく予想が付いていましたが、FLACの負荷が意外でした。
圧縮率最高の負荷が最も高いのは予想通りですが、軽めに圧縮をかけているほうが無圧縮よりも負荷が低くなっています。
FLACのデコーダーがどのようになっているのかわかりませんが、無圧縮よりも、多少圧縮しているほうがCPU負荷は低い結果となりました。
FLACの場合は、無圧縮ではなく多少圧縮するのが、ディスクスペースも含めて効率的といえるかもしれません。
(他の楽曲データでも確認したほうが良いですかね)

ちなみに、僕の糞耳では、いずれの形式の違いもわかりませんでした(笑)

カテゴリー
オーディオ

mpcbridge ver 2.1

mpd(Music Player Daemon)のリモコンとして動作するWebアプリ、mpcbridge ver 2.1をリリースしました。
mpcbridgeの詳細は、こちらをご覧ください。

↓↓ダウンロードはこちら
http://www.fourthgate.jp/mpcbridge/mpcbridge.zip

【ver 2.0から2.1への変更点】
以下の修正、変更を行っています。
1) イニシャル検索、フリーテキストの検索において、アーティストごとのアルバムの並びを、リリース年(タグ情報のDate)でソートするか、文字コード(アルファベット順)でソートするかを選べるようにしました。
「設定」画面の「ソート順」で指定できます。
Ver. 2.1ではデータベースの構成を変更していますので、データベースの作成から行ってください。
なお、今回追加したソート順の設定は、Webデータベースに保存しますので、HTML5に対応していない古いWebブラウザーでは機能しません。Webデータベースを使用しているので、複数のWebブラウザーを使用している場合は、それぞれに設定値が異なってきます。
デフォルトは、リリース年になります。
2) ディレクトリ一覧から検索において、前ページに戻った際に、ページのトップが表示されていました。
これを、「戻る」ボタン(Webブラウザーの前ページへ戻る機能ではありません)で一つ上の階層のページに戻った場合、タップした箇所近辺に自動スクロールするようにしました。
なお、本機能は、Webクライアントによっては正常に動作しない場合があります。Webブラウザーの処理速度に起因していると思われます。
3) 日本人アーティスト名情報を追加しています
4) 読み仮名を振る処理の部分のアルゴリズムを見直しました。多少処理が速くなっていると思います。

 
カテゴリー
オーディオ

FLAC再生時、WAV再生時の負荷の違い

FALCとWAVの再生時、負荷の違いを調べてみました。

使用環境はいつものVortexBoxです。
mpdのバージョンは、0.17.4。
マザーボードはASUS E45M1-Iで、CPUはAMDのE-450です。
USB DACは、TEAC UD-501です。
CPU負荷は、topコマンドで確認しました。

試した曲は、EaglesのHotel California。196KHz、24bitのデータです。
オリジナルのFLACは購入したデータです。
これを、まず、WAVにコンバートしました。さらに、そのWAVをFLACにコンバートしました。
FLACの圧縮レートは、XLDの設定値で標準と無圧縮の中間です。
ファイルサイズは、WAV形式が450.3MB、FALC形式が256.6MBです。

FLAC再生時のmpdのCPU負荷は4〜6%、WAV再生時のそれは2〜3%でした。
mpdのCPU使用率はWAVのほうが小さいですが、ディスクI/OはWAVのほうが大きいはずです。
(mrtgかmuninで測定した方が良いですね)

上記システムとは別に、いろいろ突っ込んだUbuntuがありますので、そちらでも確認してみました。
PCはPRIMERGY TX100 S3です。CPUはPentium G640。
OSはUbuntu 12.04。mpdのほかに、apache、MySQL、Netatalk、Samba、bindなどが動いています。
mpdのバージョンは、0.17.6です。
こちらでは、FLACもWAVもほぼ同じで、11〜12%でした。E450って、そんなに性能が良かったんでしょうか?

ちなみに、糞耳の僕には、WAVとFLACの音質の違いはわかりませんでした。

カテゴリー
オーディオ

mpcbridgeの次バージョン

だんだんネタ切れになってきました。
追加機能が思いつきません(笑)
こういう機能が…というのがあれば、コメントをつけてください。

最近実装した機能は、五十音順、フリーテキスト検索の結果のソートに、タグ情報のDate(Year)で並べる機能を追加したくらいでしょうか。。
ところが、これが意外と便利だったりします。
あるアーティストのアルバムが数枚あって、リリース順が定かでない場合、楽曲のタグがちゃんとつけられていると、リリース順に並んで表示されるので、結構便利かもしれません。
ただし、タグの年のところが空欄だったり、再発売日だったりすると、これまた微妙な結果になりますが…

Screenshot20131031

カテゴリー
オーディオ

mpd 0.17.6

http://www.musicpd.org/news/2013/10/mpd-0-dot-17-dot-6-released/

mpdのバージョンが0.17.6に上がっていました。
(2013/10/14)

詳細なリリースノートがないのですが、上記URLによると、“It fixes an ALSA/USB bug”とあります。
というわけで、早速ソースコードをダウンロードして、ビルド、インストールしました。
手順は、以前のエントリーに書いたとおりです。

configureのオプションは、ver 0.17.5と変わりはありませんでした。

カテゴリー
博多弁

「博多弁」言葉追加

しかと~~~ない」を追加しました。

カテゴリー
オーディオ

mpcbridge 2.0リリース

mpd(Music Player Daemon)のリモコンとして動作するWebアプリ、mpcbridge ver 2.0をリリースしました。
mpcbridgeの詳細は、こちらをご覧ください。

↓↓ダウンロードはこちら
http://www.fourthgate.jp/mpcbridge/mpcbridge.zip

【ver 1.9から2.0への変更点】
以下の修正、変更を行っています。
1) PCのWebブラウザーからアクセスしたとき、ジャケット写真一覧ページで一度に表示するアルバム数を20に変更しました
2) 再生中の曲の曲名、アーティストで検索できる機能を追加しています
再生状況画面、曲名およびアーティスト名の横の虫眼鏡アイコンをクリックしてください。
曲名およびアーティストの楽曲で検索してヒットしたものを表示します。いずれも、前方一致するものを検索します。
3) 「ディレクトリ一覧」において、ディレクトリ内にサブディレクトリと楽曲ファイルが混在している場合に、楽曲が表示されない問題を解消しました。
4) 日本人アーティスト名情報を追加しています

 
カテゴリー
オーディオ

mpcbridge 1.9リリース

mpd(Music Player Daemon)のリモコンとして動作するWebアプリ、mpcbridge ver 1.9をリリースしました。
mpcbridgeの詳細は、こちらをご覧ください。

↓↓ダウンロードはこちら
http://www.fourthgate.jp/mpcbridge/mpcbridge.zip

【ver 1.8から1.9への変更点】
以下の修正、変更を行っています。
1) 添付しているjQueryのバージョンを1.8.3に変更しました。
2) 各ViewのJavaScriptを見直しています。
Internet Explorer 10であれば、大きな問題は起きないのではないかと思います。
3) お気に入りリストが空の時に「エラー」と表示される問題を修正しました。
4) 再生中の楽曲のカバーアートを表示する際、楽曲ファイル名に/が入っていると正常に表示できない問題を解消しました。
5) 未使用のファイルを削除しています。

カテゴリー
オーディオ

mpd.confのmixer_type

mpd.confのmanを見ると、mixer_typeが取りうる値は三つあります。

mixer_type
Specifies which mixer should be used for this audio output: the
hardware mixer (available for ALSA, OSS and PulseAudio), the
software mixer or no mixer (“none”). By default, the hardware
mixer is used for devices which support it, and none for the
others.

bit perfect出力のためには、noneもしくはhardwareとすれば良いのですが、両者では若干異なった動きをすることに気付きました。
mpcbridgeでは、mpdの音量をコントロールすることができます。その辺の詳細は、mpcbridgeのサイトのサウンドデバイスの認識とmpdの設定の項に書いていますが、要はmpdのステータスの戻り値を見て、volumeが-1であれば、mpcbridgeの音量コントロールを非表示にしています。
mixer_typeをnoneとした場合にはvolumeは-1となるのですが、mixer_typeをhardwareとした場合はvolumeは0となります。
そのため、mpcbridge側は、mpdの音量がコントロール可能と判断して、音量コントロールを表示します。しかし、音量を変更しても、volumeはずっと0のままという状態が続きます。

というわけで、mpd.confにてmixer_typeをhardwareとした場合は、mpdbridgeの音量コントロールが表示されてしまいますので、ご注意ください。
ただし、全てのサウンドデバイスにおいて、mixer_typeをhardwareとした場合に、volumeの値が0で戻ってくるかは不明です。
サウンドデバイスのハードウェアやドライバーによっては、-1が戻ってくるものもあるかもしれません。

ところで、bit perfect出力のためには、mixer_typeにdisableを指定すると書いているWebサイトもけっこうありますが、これは、mpdの旧バージョンにあった設定値なんですかね?

カテゴリー
オーディオ

mpdのWebクライアント mpcbridge ver 1.8リリース

mpcbridge ver 1.8をリリースしました。
mpcbridgeの詳細は、こちらをご覧ください。

↓↓ダウンロードはこちら
http://www.fourthgate.jp/mpcbridge/mpcbridge.zip

【概要】
mpcbridgeは、アーティスト名の五十音表示に対応したmpd(Music Player Daemon)のリモコンとして動作するWebアプリです。
完全ではありませんが、アーティスト名が五十音順にソートされ、アーティスト名を読みがなで検索することができます。
また、スケジュール再生機能を持っていますので、指定した日時に楽曲を再生させることもできます。
Webアプリですので、インストール先は、mpdが動いているホストである必要はありません。
※mpdのデータベースアップデートにmpcを使用する場合は、mpcbridgeをインストールするホストにもmpd/mpcが必要です。

【動作環境】
1) Webアプリ側
・ApacheなどのWebサーバー
mod_rewriteが必要です。
・PHP 5.2.8以上(CakePHP2.2を使用しているためです)
DOM/libxmlも必要です。また、ImageMagickも必要です。
・MySQLなどのデータベース

その他にjQueryとjQuery Mobile、jQuery autopagerも使用しています。

2) クライアント側
Safari、Chrome等のレンダリングエンジンにAppleWebKitを使用したWebブラウザーを想定しています
・Internet Explorer では表示が崩れるかもしれません
・FirefoxやOperaでは、十分なチェックをしていません
・ユニコード絵文字を使用しており、OSやWebブラウザーによっては、正しく表示されない場合があります
(Mac OS X 10.8のSafari、iOS6のiPod touch、Nexus 7のGoogle Chromeで表示されることを確認しています。Kindle Fire HDは絵文字部分が化けます)
画面レイアウトは、タブレット端末(iPod touch、Nexus 7、Kindle Fire等)を想定しています。
個人的には、7インチサイズのタブレットがオススメです。

【ver 1.7から1.8への変更点】
以下の修正、変更を行っています。
1) アルバムカバー表示プログラムを変更しています
デイレクトリ内の画像ファイルを検索・表示する前に、再生中の楽曲ファイルに添付されている画像を探します。
なお、本機能を使用するためには、getID3が必要です。
http://getid3.sourceforge.net/
getID3は、VortexBox(Fedora)、Ubuntuともにパッケージが用意されています。
2) アーティスト名のフリガナ変換部分を変更しています
3) 日本人アーティスト名情報を追加しています

また、まだ十分なチェックを行っていませんが、アルファベットのアーティスト名にもよみがなを付けられるようにしています。
添付のアーティスト名情報ファイルは従来通り漢字名のみのままです。

以前の変更履歴は、別途「変更履歴.txt」を参照ください。

mpcbridgeの詳細は、こちらをご覧ください。