Music TO GO!

2010年04月15日

オーディオファイル向けミュージックプレーヤー(6)  - Pure VinylとPure Music

Macはプラットフォームとしての音のよさの素質はあると思うけれども、プレーヤーの選択肢がWindowsにくらべて少ないのが難点です。特にこのコーナーで紹介してきたcPlayとかXXHiendのようなマニアックな高音質プレーヤーは、MacではAmarraの独壇場かと思ってたんですが、さらなる選択肢も生まれつつあります。
それがこのPure VinylとPure Musicです。

更なる選択肢と書きましたが、Pure Vinylのほうはそんなに新しいものではないようです。そこでまずPure Vinylの方から説明が必要でしょう。また、こちらはPCオーディオが単に楽曲ファイルを再生するものだけではないという興味深い側面をみせてくれます。

1. Pure Vinyl

まずはじめの疑問にお答えしますと、Vinyl(ビニール)とはLPなどアナログレコードのことです。うちでよく書くトッドさんのところ、TTVJのVもVinylのことです。いうならばVinyl Junkieはレコード キチ●イみたいな意味になりますね。
これから推察されるようにPure Vinylはデジタル化された楽曲ファイルを単に再生するミュージックプレーヤーというわけではありません。簡単に言うとPure VinylはLPレコードを使用したアナログ再生のオーディオシステムにおいて、従来ハードで行っていたイコライザの機能をソフトウエアで行うものです。
ホームページはこちらです。
http://www.channld.com/pure-vinyl.html

アナログレコードでは諸特性の問題からいったん録音時にはRIAAカーブという特性をもとに高域強調、低域減衰でイコライジングをして録音し、それを再生時に逆にイコライジングして戻すということをします。しかしハードでそれをやるかぎり歪みやノイズなどの電気的な問題から逃れられません。
そのRIAAイコライジングをソフトウエアで実現するのがPure Vinylです。
そのためRIAAイコライジングをしない前段をパソコンに組み込んで、パソコンの中のPure VinylのRIAAイコライザーソフトウエアで処理するのです。そのあとで普通にアンプに流します(ここがプレーヤー部分になるわけです)。
具体的にはこのSetaプリアンプなどのようにイコライジングしないで出力する機能のある前段機器と組み合わせます。
http://www.channld.com/seta.html

このアイデア自体はPure Vinyl独自のものというわけではなく、Griffin iMicとか類例はあるようです。国内でも探してみると同様なソフトがあるようです。(PureDigital RIAA)
http://www.megaegg.ne.jp/~pure-digital/PD_RIAA.html

またオーディオ以外でもこうしたハードをソフトで置き換えるという例はあります。
たとえばradikoなんかで再びラジオが見直されていますが、古いラジオ技術にも新しい波があります。それはソフトウエアラジオ、SDR(Software Defined Radio)です。これはパソコンをラジオ技術に応用したものですが、インターネットラジオやradikoとはまったく異なります。
SDRは普通のラジオのようにまず電波を受信します。そしてその後段で一定の帯域の電波をごそっとAD変換してからそのデジタル化されたデータをソフトウエアで処理します。これにより隣接局の混信などをハードでやるより効果的に取り除くというものです。従来ハードで行っていたラジオの機能をソフトウエアで行うことにより、柔軟により精密に行えます。またデータをファイルに保管しておいて後で処理することも可能ですので完全なオンデマンド再生ができます。
いままでハードでやっていた部分をソフトウエアで処理することで、根本的な技術革新ができます。

オーディオの話に戻ると、プレーヤーソフトの再サンプリングなんかもそうですが、ハードでできることはソフトでもかなりのところ実現できます。(また逆も真ではあります)
パソコンが高性能になるほどこうした応用が増えてくるでしょうね。いわばアナログにおけるPCオーディオの応用例みたいなものです。PCオーディオって言うのは単にデジタル化した楽曲ファイルを再生するだけのものではないことを教えてくれます。

そのPCオーディオで言うところのRIPを行うような部分がeditorというのですが、この部分のプレーヤーとしての再生機能の音質がとてもよいので、これをミュージックプレーヤーとして使うことができます。
先に書いたように同様なソフトも他にあるので、比較的高価なPure Vinylでは特に音質面に力を入れたんでしょう。

pure_vy3.gif

プレーヤーとしてのポイントはiTunesとの連携機能があり、iTunesで選択した楽曲をamarraのようにPure Vynilのeditorに転送することができます。するとPure Vinyl上でレコードをカッティングするようなアニメーションが現れます。(おそらく楽曲ファイルをメモリー上に展開しているのではないかと思われます)

pure_vy2.gif     pure_vy1.gif

それから再生が始まります。おもしろいのはタグに書かれた曲名やアーチスト名がレコードのラベルに印刷されたように表示され、再生が始まるとクルクルと回転することです。
曲をスキップすることもできますが、音はいいといってもプレーヤーとしての使いかっては今ふたつです。iTunesと連携できるといってもAmarraに比べると原始的なデータの受け渡し程度です。
そこで、、

2. Pure Music

そこでこの音楽再生機能のみを独立させたものが、Pure Music Playerです。有料ソフトですが、Amarraよりはお得です。
リンクはこちらです。デモ版もあります。
http://www.channld.com/pure-music1.html

Pure Vinylに比べるとiTuneとの親和性も増して、Amarraのようにサイドバーとしてitunesの横に張り付きます。ただわたしのつかってるバージョンでは漢字で文字化けする場合があります。
単体ミュージックプレーヤーとしての機能は格段に向上しています。ただしPure Music playerだといったんPureにコントロールが行くと、iTunesに戻すのはプレーヤーをいったん落とす必要があるので、iTunesとの親和性はまだAmarraには及ばずと思えます。

pure_music1.gif     pure_music2.gif

Amarraを意識しているのか、機能の対比表がこちらにあります。Player "A"はAmarraのことでしょうね。
http://www.channld.com/pure-music3.html
再生のための機能設定はかなり詳細で細かく設定できます。なおボリューム位置は上画像の位置が0dBです。一番上はプラスdBになりますので注意ください。

音をAmarraと比較してみると、音質のレベル的にはかなりAmarraに近いと思いますが、一方で個性の違いもあると思います。
Pure musicはAmarraより骨太でアナログライクな方向を感じます。Amarraは比較するとですが良い意味でデジタルっぽいというか、やや冷たさを感じますが上品で洗練された感じがします。

また面白いのは、上記のようにPure MusicはPure Vinylから切り出しただけのように思えますが、Pure MusicとPure Vinylでも音の違いがあるように思えます。
音質的にはPure Vinylの方がPure musicよりもより余裕を感じ、空間表現に勝ります。またソリッドでもっとタイトですがシャープなせいか少しきつめにも感じることがあります。ただPure MusicはPure Vinylよりも少し豊かさに欠けるように思えます。
基本的にはサンプルレートコンバーターやディザリング、メモリー上の再生など両者に違いはないはずなんですが、もしかするともとの成り立ちがPure Vinylの場合はイコライザー込みを想定してるのですこし違うのかもしれません。

上の記事は3月くらいの情報ですが、まだまだ進化しそうなソフトではあります。
Macのプレーヤーソフトもこれからまた増えてくるとこの分野もいっそう楽しみなことになりますね。
posted by ささき at 23:21 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

2010年04月14日

オーディオファイル向けミュージックプレーヤー(5)  - Amarra、Amarra mini

Amarra(アマーラ)はSonic StudioというプロオーディオメーカーのミュージックプレーヤーでMac 専用です。http://www.sonicstudio.com/amarra/

Macのミュージックプレーヤーと言えばiTunesですが、iTunesは実際は楽曲管理をしているだけで、実際の音を出すのはMac OS XのマルチメディアエンジンであるところのQuicktimeです。Amarraはそこのところを独自のSSEエンジンという再生モジュールに置き換えて高音質をはかるというものです。そうしてiTunesの使いやすさと、高音質を両立できるという良いとこどりのシステムといえます。ただしサポートする楽曲ファイルの形式はiTunesで対応するすべてではありません。
この仕組みはあとで紹介するPure Music Playerも同じです。

amarra1.gif

Windows XPだとカーネルミキサーのバイパスという問題が常にあるのですが、Mac OS Xの場合はCore AudioというOSの中にそうした仕組みがすでにあるので、Amarraはそれを利用しているようです。そうしたところに頭を悩ませる必要がない点もMac OSXのよいところです。

*購入

Amarraにはフル機能版と機能限定版があり、フル機能版は$960、機能限定版(mini)は$360(ファイルライセンスは$300)となっています。
mini版は安い代わりに96/24まで、イコライザーなしなどの制限があります。ここで書いているのはminiの方です。

購入にはライセンスが必要ですが、これはiLokというUSBドングルを使用します。
しかしUSBポートをひとつ占有してしまうので、Airについてはファイルライセンスを購入しています。
そのため、一台でよい人はファイルライセンス、二台で差し替えて使いたい人はiLokドングルという風に使い分けることができます。

*音質

多くのプレーヤーソフトが無料なのにAmarraが有料というところに難を感じるところもありますが、無料で入手できてかつ音が良いCogやPlayと比べてもやはりAmarraの音の優位性は納得させられます。
音再現は明瞭でかつ細やか、なにより気品があり、繊細です。情報量の多さ細やかさが、音に厚みや豊かさ、質感も乗せています。
かつ無理なDSP違和感がなく聴いていて歪みなくクリーンで破綻がありません。こう書いているとクラシックかジャズ向きか、と思わせますが、低域方向にも手当てが厚く意外とロックポップにもあったりします。

*機能

わたしはminiを使っていることもあり、機能はそう豊富に選べるというわけではありませんが、まああまり細かい設定をいじり倒すタイプのプレーヤーではありません。そうした人には後で書くPure Music Playerの方がいいでしょう。
フル版ではボリュームコントロールにOzoneのところで書いたiZotopeの64bit volumeを使っているとのことです。

あとAmarraの裏技という訳ではないけど、Amarraではギャップレス再生のためにPlaylistモードというのがありますが、Playlistモードを使うとメモリーに楽曲をロードできるメモリープレーヤーにもなるようです。そのかわりPlay ListモードではiTunesからは切り離されます。
これはAmarraのマニュアルには記述ありませんが、Pure Music Playerの比較表のところに書いてあります。

対応フォーマットがまだ完全ではないので他のプレーヤーが介在する余地はありますが、やはりMacを代表するプレーヤーだと思います。


*AmarraとMacbook Airのポータブルオーディオ化計画

Amarraにはリモート機能が二通りあります。
ひとつはApple Remoteを使った赤外線による方法と、iPhoneを使った無線LANによる方法です。これにはRowmoteアプリが推奨されています。RowmoteはAmarra専用ではありませんが、Amarraを標準でサポートしているので安定感はあります。

Rowmoteのリンク
http://itunes.apple.com/jp/app/rowmote-remote-control-for/id300265786?mt=8

と、いうわけでさっそく試しました。Macbook AirのデカiPod化計画。PCオーディオのポータブル版です。先に書いたNECのWimaxポータブル無線ルーターを組み合わせています。

IMG_5133.jpg

以前FoobarのuPnPコンポーネントを紹介したときにやはりポータブルシステムのリモコンとしてのDLNA(uPnP)の応用例を挙げましたが、このときはアドホックという直結タイプのネットワークを組みました。今回はさきのNECのポータブル無線ルーターを介して普通のルーターを使ったネットワークを構築しています。一概にネットワークといってもいろんな構成があります。

このシステムではAirを閉じてバックに入れたままで音楽を聴いて、iPhoneでポーズや音量調整が可能です。しかもAmarraをプレーヤーとして使えます。
RowmoteはuPnPネットワークシステムとは異なりただのリモコンソフトなので、できることは限られています。再生、ストップ、音量変更とスキップくらいで、楽曲情報の取得などはできません。この辺は簡単さと柔軟性のトレードオフですね。
なお現在のMacbookはWindowsノートと違い通常は液晶を閉じたまま動作できない仕様になっています(外部ディスプレイとキーボードをつけたときは例外)。
そのため液晶を閉じたまま動作させるにはInsomniaというソフトウエアをMacbookにインストールする必要があります。

DACPortとEdition8でこのシステムを使ってると終点になっても電車から降りたくないほどです(笑)。
posted by ささき at 21:36 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

2010年02月04日

Foobar 2000のuPnP機能と小さなDLNA互換ネットワーク

1. ポータブルのPCオーディオ

DACportとUMPCの組み合わせは、iPod+ポータブルアンプというのとは違うまた新鮮な面白さをポータブルオーディオ環境にもたらしてくれます。たとえば下記の組み合わせはEdition8とUSBケーブルで、ケーブルはWireworldのStarlight 5です。こうしてケーブルに凝ることもできます。

IMG_5057.jpg

これは音質的にはかなりすばらしいものがあります。とくにいろいろとPCで設定したfoobarやOzoneMPの設定のノウハウがポータブルでそのまま使えるというのは新しい面白さがあります。オペアンプを交換したりすることのソフトウエア版とでもいいましょうか、自分で音をいじれる面白さですね。
DACportのような高性能DACとEdition8があれば、まさに外でもオーディオ並みの音が出せますが、PC内蔵のオンボード音源でもカーネルストリームが使えたりするので、プレーヤーソフトを工夫することでそれなりに音を楽しめます。
こうした「ポータブルPCオーディオ」というのも面白いテーマではないかと思います。


これを外で使うときの問題点は、曲を変えたり音量を変えたりするときにいちいちPCをごそごそと取り出してタッチパッドやマウスで操作するというのはちょっと無理があるということです。電車で空いているならともかく、立っているときはとりあえずランダムプレイのみになってしまいますね。
それを解消するためにiPhoneをリモコン的に使おうと考えてみました。
こうしたことはfoobar2000が一番いろいろと拡張されているので便利です。foobarだといくつか解法がありますが、その中で前に紹介したFoobar 2000のuPnPコンポーネントを使ってみることにしました。コンパクトなDLNA互換システムを作ってみたいという狙いもあります。(uPnPとDLNAについては後述)
USB DACとDLNAというのがPCオーディオの軸になっていますので、その両方をコンパクトなシステムでも作ってみようというわけです。


2. 手順

2-1. foobar2kにfoo_upnpコンポーネントをインストールします

http://www.foobar2000.org/components/view/foo_upnp
uPnPはDLNAで使われるプロトコル(通信の規格)です。そのため、uPnPコンポーネントをインストールするということはDLNAの世界とつなぐことができるということです。
uPnPコンポーネントはDLNAでいうところのメディアサーバーやクライアントなどの機能を提供しますが、いま使おうとするのは「メディアレンダラー」機能です。
レンダラー機能は自分のもっているファイルの中身をコントローラーに伝えて、自分自身の再生やボリューム変更などの操作をコントローラーからWiFi経由で可能にするものです。


2-2. iPhoneにPlugPlayerをインストール(600円)

http://itunes.apple.com/jp/app/plugplayer/id293235450?mt=8
レンダラーであるPC(foobar)を操作するためにはコントローラーが必要なので、iPhoneにuPnP対応のPlugPlayerをインストールしてコントローラーとします。
PlugPlayerはLINNのDSなんかでもよく使われているiPhoneアプリです。

余談ですがiPadが出ればさらに大きくなって家では使いやすくなるでしょう。この辺でもiPadがただのデカイiPhoneであるという利点が生かされるわけですね。とはいえ通常は解像度倍になって広く使えるだけですが、もしかするとiPad向けに改良もなされるかもしれません。そうするとさらに使いやすくなるでしょう。

2-3. 無線設定

ここまでの設定でオーディオと組み合わせたノートPCをLINN DSのように使うこともできます。
ただもう少しつっこんで、これを外で使えるようにします。そのためにはレンダラーであるPCとコントローラーであるiPhoneを直接つなぐために、アクセスポイント(ルーター)なしでネットワークを構成しなければなりません。そのためアドホック接続(ピア・ツー・ピア接続)を設定します。
簡単に書くとPCではネットワークの設定からAd hocネットワークを作成します。iPhoneは通常のWiFiのようにそのAd hocネットに参加します。長くなるので詳細手順は省きますが、検索をすると手順はたくさん出てくると思います。


3. 実際の使用

iPhoneのPlugPlayerを立ち上げると画面のようにFoobar2000と接続します。

IMG_5084.png

画面は大きく二つに分かれていて、上部の再生ボタンがあるところは接続しているレンダラーを示しています。下部は接続しているメディアサーバーです。
考え方としてはPlugPlayerが接続しているメディアサーバー(下部)から曲を選んで、レンダラー(上部)に対して再生の指示をするという流れになります。

IMG_5081.png

ここでおもしろいのはPlugPlayerのiPhone自身をレンダラーとして指定できます。その場合はPC内のFoobar管理の楽曲をPCからiPhoneにストリーム再生ができます。つまりiPhoneがリモコンといっても機能立場を入れ替えて、iPhoneを再生機器として使うこともできます。
たとえばPCをカバンにしまったまま網棚に上げて、そこからiPhoneにない曲をPCからストリームしてiPhoneで聴くこともできます。この辺は実用性はともかく、ちょっと面白いところです。

IMG_5082.png

とはいえメインはiPhoneをコントローラとして、PCを再生機器として使うことです。PC上のFoobarに再生を指示するためには、いったん設定に行って、使用しているレンダラーを設定する必要があります。
次に+ボタンでプレイリストにメディアサーバーとしてのFoobarの持っている楽曲リストから再生したい曲を指定します。+を押すことで階層をたどるとFoobarが管理しているプレイリストが表示されます。ここで楽曲を選択して完了で戻ると楽曲リストが追加されています。
ここでそのプレイリストの曲を選択してメディアレンダラーであるFoobarに再生や音量変更がiPhoneから行えます。PC本体はカバンの中に入れたまま、iPhoneのUIで操作ができるわけです。

ただ使ってみるとこの通りにできるのは間違いないんですが、リスト取得やPlugPlayerからのサーバーの検索が不安定です。
アドホック接続が悪いのか、PlugPlayerとuPnPコンポーネントの相性か、PCのスペックか、ちょっといまのところ調査中です。


4. uPnPとDLNA

ここでこのシステムをもう一度整理して、DLNA的に書くとこうなります。

メディアレンダラー - PC+Foobar2000+foo_upnp
*レンダラーはコントロールポイントからの指示を受けて、自分の持っている楽曲ファイルの再生を行います。

コントロールポイント - iPhone+PlugPlayer
*コントロールポイントはレンダラーから持っている楽曲リストを取得して、再生やボリューム変更などの指示を行います。

DLNAというのは技術的な標準規格ではなく、ネットワーク家電がある基準を満たしていればDLNA準拠と認めましょうという認定組織と考えたほうが良いと思います。
その基準を満たすために、デバイスが満たしているべき機能の観点からクラスわけをしています。ここにその一覧表があります。
http://www2.dlna.org/digital_living/devices

言い換えるとDLNAというのは技術ではなく、ロゴステッカーのようなものといえるかもしれません。それで実際の技術はuPnPというプロトコル(通信手順)でこちらは技術的な標準規格です。そのためuPnPを実装していればDLNA機器と互換性があるということになりますが、それは机の上での話であって、実際の製品が接続できるかは試してみないと分かりません。そのテストをして商品として保障したものがDLNA機器ということになると思います。
また、もうひとつの見方はDLNAはuPnPという道具を使ってできることから代表的な例を抜粋したもの、とも言えるかもしれません。それがクラスということでしょう。そのため、かならずしもDLNA=uPnPとなるわけではないでしょう。

次のステップとしてはこれに自宅のメディアサーバーからつなげるようにすることですが、その前に解決することは多そうです。
ちなみにfoobar2000からiPhoneをリモコンとして使うという点ではuPnP以外にhttpやBonjourを使う方法もあるようですが、これはまた後で試してみたいと思います。
posted by ささき at 23:17 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

2010年02月02日

オーディオファイル向けミュージックプレーヤー(4) StealthAudioPalyer

1. 特徴

昨年cPlayを紹介したときにいっしょにPlayWASAPIというWASAPI専用プレーヤーにちょっと触れましたが、そのプレーヤーソフトがASIOにも対応してXPでも動作可能になりましたので紹介します。
*WASAPIはVista以降のみサポートされています

この対応によってプレーヤーの名称もStealthAudioPlayerと変わりました。こちらに開発者のブログがあってここがホームとなります。
http://andy-audioplayer.blogspot.com/
またこちらのAudioCircleあたりでもいろいろと話されています。
http://www.audiocircle.com/index.php?topic=68364.0

今回の記事は前回の美麗なグラフィックのOzone MPに比べると画像がなくていささかさびしいんですが、撮りたくても撮れないのです。
このプレーヤーの特徴は「操作画面がない」ことです。cPlayでさえ簡単なリスト画面がありましたが、StealthAudioPlayer(PlayWASAPI)ではなにもありません。それがステルスという名の由来でもあります。
どう再生するかというと、StealthAudioPlayerをインストールするとコンテキストメニュー(マウスの右クリック)に"Play With StealthAudioPlayer"という項目が追加されますので、再生したいファイルを選んだら右クリックしてこの項目で再生してください。
停止やポーズのときは他に用意されたバッチファイルを使います。

もうひとつの特徴は高音質志向であるため、cPlayのようにASIO/WASAPI専用であるということと、メモリにいったんすべて楽曲データをロードしてから再生するという点です。再生はすべてメモリー上で行われるメモリープレーヤーになります。このため再生指示してから実際に再生されて音が出るまでやや時間がかかります。
またメモリー領域は物理メモリ(RAM)上に固定してスワップアウトされないようにすることができます(後述)。

Atom1.3GのXP 1GBメモリでも走るので必要な環境としてはそれほどきつくないと思います。
再生ファイルフォーマットはWAVが基本です。FLAC、ape(Monkey's audio)、MP3はモジュールを別にインストールしておく必要があります。(2008/12/23のコラムにあります)

さて、ここまで読んできて「どうやって出力先を指定するんだろう? まさか..」と思われたかもしれません。そうです、そのまさかです。出力先はiniファイルで書かねばなりません。
ASIO4ALLを使う場合はASIO4ALLを指定して、他のASIOドライバの場合はその名前を書きます。ASIO4ALLではASIO4ALLの設定画面(タスクバー)から実際の接続デバイスを切り替えることができます。現実的な運用としてはこれが便利です。
またcPlay+cMPと同様にCUEファイル(同一ディレクトリのみ)を読むことができます。

肝心の音質ですがやはりなかなか良好で、音質が改良されたFoobar1.0に比べてもより厚みとか深みを感じられオーディオ的な意味での実体感とか重みがあります。開発者ブログのコメント欄にはいままでいろいろと(こうしたマニアックな)プレーヤーを使ってきたけど、これが一番音がいいという人もいます。


2. インストールと使用法

下記ページのリンクから最新版をダウンロードしてください。(リンク先でfreeでダウンロード可ですが時間帯によってはつながらないかもしれません)
ダウンロードするファイルも200KBと軽量です。
(2010.2.1現在で0.1.1)
http://andy-audioplayer.blogspot.com/2009/11/stealthaudioplayer-with-cue-sheet.html

解凍してinstall.batをダブルクリックしてください。「レジストリに書き込みますがいいですか」というダイアログが出るのでOKを押してください。するとフォルダ内にたくさんのbatファイルが出てきます。
Next trackバッチファイルはおそらくCUEファイルを使って管理しているときだと思います。ポーズとストップはCUEがなくとも動作します。

XPでASIO4ALLを使う例を説明すると、Stealthの解凍フォルダ内にiniファイルができるので、そこの[ASIO]セクションを書き換えます。
下記にXPとASIO4ALLでのiniファイルの例を書きました。ASIO4ALL以外ではASIOドライバー名をDriverListに記述してください。

[ASIO]
Enabled=1
DriverList=ASIO4ALL v2;
SelectedDriver=ASIO4ALL v2
[MemoryManagement]
AllowVirtualLock=1


上の[MemoryManagement]セクションのAllowVirtualLock=1で物理メモリ内にロードしたデータ領域がロックされて、ディスクにスワップアウトされなくなります。簡単に言うと音が良くなるでしょう。
高音質志向でミュージックプレーヤーを使う人は仮想メモリの設定でページングファイルなし(スワップをしない)を設定したりしますが、このプレーヤーではそれは不要ということになります。

またVista以降、特に7を使いの方は旧バージョンのPlayWASAPIの方が音が好みというユーザーも多々いるようですので、そちらの方を別に試してみることもお勧めします。(PlayWASAPIはXPでは動作しません)
リンクがブログの下のほうにあります。

PlayWASAPIの場合は
[AudioClient]
BufferSizeInMilliseconds = 30

が足されることになると思いますが、これは30固定が開発者の見つけたベストの値だそうですのでいじらないほうがよさそうです。


StealthAudioPlayerもいろいろと手間はかかりますが、いったん設定してしまえばいちいちアプリを立ち上げて選曲というステップがないので、ある意味便利に使えます。
Windows7ではリモート再生(Play to)というDLNAサポートのコンテキストメニューがありますが、意外とこういうタイプも増えていくかもしれません。
posted by ささき at 00:08 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

2010年02月01日

XXHighEndの新エンジンとWin7

以前紹介したXXHighEndプレーヤーですが、Vista用の#3エンジン(WASAPI)はWin7では予期どおりに動いていないようですので、最新のバージョンでは#4エンジン(Kernel Streaming)という7用のものが作られ、Win7の方はそちらが推奨だそうです。

http://www.phasure.com/index.php?board=1.0

後に書くPlayWASAPIはVistaよりWin7の方が良いといわれてますので、この辺は実際よくわかりませんね。
posted by ささき at 23:29 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

2010年01月20日

オーディオファイル向けミュージックプレーヤー(3) iZotope OzoneMP

OzoneMPは正確には単体のアプリではなく、Winampのプラグインです(Win Media Player用もあります)。
ただその機能範囲も広く、かなり大きく音を変えるのでミュージックプレーヤーとして紹介します。iTunesに対するAmmaraのような存在ともいえますが、Ammaraのように再生エンジン自体を挿げ替えるものではなく、基本的にはDSPとかイコライザーに属するソフトだと思います。

ozone0.gif

OzoneMPはプロオーディオエンジニアリング用のソフトウエアを開発しているiZotope社がコンシューマー用に開発したソフトウェアです。デモ版は無料で使うことができますが、フルバージョンは$39です。無料版は限られたプリセットだけが使え、下に書いているような調整はできません。(画像は有料版のものです)
ホームページはこちらです。
http://www.izotope.com/products/audio/media/ozone.html

Ozone MPのユニークな点は仮想的なアナログの真空管アンプをシミュレーションして、その音鳴りをチューニングしていくという考え方です。
この考えを使うと普通のイコライザーに比べて音の微妙な調子を感覚的にチューニングできます。たとえば、単に100Hzの音を上下させるというのではなく、低域に「厚み」を少し加えたまま、「量感」は少し押さえ目にする、など実際に聞きながらフィードバックして調整ができます。またウォーム感や柔らかさなどの感覚的な調整もできますし、パワーをかけたときに出る真空管特有のゆがみ(心地よいほうに働く)もシミュレートされているとのこと。
たとえばクイックスタートでは、「高域の輝き感(sparkle)を加えるには」、「厚みのある音(fuller)にするには」、「空気感(airly)を出すには」、「きつさ(Harsh)を取るには」
など音質のレビューで使うような言葉を使用して感覚的に調整を行う方法が示されています。
また、ルームシミュレーションという機能で、スピーカー間隔を変えたり、デッドやライブなどルームアコースティックを変えるようなイメージでもイコライジングができます。

ozone5.gif   ozone4.gif   ozone3.gif
左から真空管イコライザー、ルームシミュレーター、真空管アンプ設定(低域補正画面)

さらに細かく指定を行うことができますが、やや複雑になってきます。あるパラメータと別のパラメータの間に相互関係があったりするので下手にいじると音がおかしくなったりと、使いこなしはそれなりに大変です。ただ聴きながら調整ができるので、ここは試行錯誤というところでしょう。
またプリセットも豊富で、ジャンル別どころか、アーチスト向けの設定がすでに多数用意されています。これらはWinampのプレイリストと紐付けができるので、曲ごとに使用するパラメーターセットを自動で変えることができます。

ozone2.gif   ozone1.gif
左はプリセットの一部、右はアーチスト設定のごく一部

プリセットのいくつかは音が変わりすぎていわゆるDSPくさくなりますが、うまくやると自然に音の厚みを増す方向でオーディオ的に使えると思います。
これはなかなか気に入っていてWinampでは標準で使っていて、foobar2kとは区別して使い分けています。

DSPというとあまりよい印象はないかもしれませんが、一般的に売られているハードについているものはメーカーが決めたものなので万人にはあわないかもしれません。しかしPC上ではこうして自分の好みに応じて自在に変更ができます。この辺は面白い使い方ができそうです。
posted by ささき at 21:00 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

2009年12月30日

オーディオファイル向けミュージックプレーヤー(2) cMP2

1. cMP2=cPlay+cMP

オーディオファイル向けミュージックプレーヤーの二本目は少し変わったcMP2を紹介します。(2は二乗記号です)
これはレビューサイトEnjoy the musicの2008年度のベストプロダクトのひとつにも選ばれています。
CMP2のホームページはこちらです。
http://cplay.sourceforge.net/

普通ミュージックプレーヤーはWindowsのデスクトップからWordやエクセル同様にひとつのアプリとして立ち上げて使うことを目的としてますが、これはちょっと違います。cMP2は自作でPCトランスポートを作る際に基本ソフトとなることを目的としたものです。
最近PCトランスポート的な機器がショウでも発表されていますが、たいていは別にPCの液晶ディスプレイが付いて普通のマウスとキーボードで操作します。そこでプレーヤーソフトを立ち上げて普通のPCのように使うわけです。オーディオ用PCといっても普通の静音PCとあまり変わりありません。

もう少しオーディオに近いアプローチとしてはここにあるようにHTPC用のPCケースを使うことができます。HTPCとはホームシアターPCのことで、ホームシアター用の自作PCです。
http://www.zalman.co.kr/jpn/product/cases/HD160XT.asp
上のリンクはZalmanのHD160XTというケースですが、7インチの組み込み液晶がつけられて、タッチパネル操作もできます。ただし画面が小さいので普通のプレーヤーソフトでは操作に苦慮するでしょう。
こうした自作PCトランスポートの基本ソフトとして使用できるように設計されたのがこのCMP2です。普通のPCでも使用できますが、もともとはそういう発想です。

実際はタイトルに数式で書いたようにCMP2はcPlayとcMPという二つのモジュールから構成されます。このcはcicsという作者のハンドルに由来しています。cPlayはいわゆるミュージックプレーヤーの部分で、CMPはWindowsを抽象化(隠す)するためのシェルです。
すべてgnuライセンスの元に無料で配布されています。(GPLに基づいてソースコードも開示されているはずです)

2. cPlay

cPlayはCMP2のモジュールとして音楽再生機能を提供しますが、単体でも動作可能です。そのためfoobar2kやwinampのようなプレーヤーと考えることができます。ただし最小限にシンプルなものです。UIはやたら曲名だけがでかいのですが、べつに近視用のユニバーサルデザインというわけではありません。ここが液晶などのパネルになるわけです。
cmp2.gif

cPlayではWAVとFLACのみに対応しています。cPlayはジッターの低減を第一テーマとしていて、そのため楽曲ファイルをいったんメモリ上に展開するメモリープレーヤーとなります(XXHighEndと同じですが消費メモリは最小に考えられています。
また出力はわりきってASIOドライバーしか対応しません。そのため普通のドライバーを使用するときにはASIO4ALLが必須になります。
標準でアップサンプリングが可能で、リサンプリングのライブラリとしてSoXとSRC(Secret Rabit Code)をサポートしています。なおSecret Rabit CodeとcPlayではCPU制限があって、145dB設定は2Ghz以上のCore2 duo以上向けですので注意ください。(あとでまた出てきます)
下記画面はcPlayの設定画面です。
cmp4.gif

曲選択は一曲単位かプレイリストの選択です。プレイリストはCUE形式です。基本的にCMP2というシステムはCUEドリブンといってよいほどCUE中心のシステムです。EAC(Exact Audio Copy)->WAV+CUE->CMP2というのが基本的な考え方です。
このためplaylist editerがないと単体でも著しく使いにくいので、合わせてcPlaylist editorというツールが必携です。

インストール後にアイコンをクリックして立ち上げることができますが、基本的には次のcMPから呼び出されることを前提としています。
cPlayのみで使うときはcPlayからファイルやCUEを読み込みますが、cMP2としてcMPとあわせて使うときはcMPがファイルマネージャとして働くので、再生する楽曲情報はcMPから渡されます。

3. cMP

専用PCトランスポート化するためのUIの核となるのがCMPです。cMP はcics Memory Playerの略称です。ここは普通のミュージックプレーヤーにないところなので理解しづらいところではあります。
cMPは端的に言うとOSのシェルとして働く、ということになります。cMPはリモコンもタッチパネル入力も考慮されています。
cmp1.gif

シェルというのはOSの一部でプログラムの実行とかファイル管理をするものです。たとえばUNIXだとcpでファイルのコピー、lsで内容リスト表示など、コマンドを受けるCシェルなどがそうです。難しくおもえるかもしれませんがWindowsの場合はなにげなく立ち上げているウインドウ(エクスプローラ)がそれにあたります。それをオーディオ用の画面に合うようにしたものと考えてもよいかもしれません。
また音楽再生に不要なプロセスを終了させたり最適化を行う機能もあります。下記はcMPの設定画面です。
cmp3.gif

ただ既知の問題としてインストール時にウイルス検知が働いてインストールできないという問題があります。これは実際には誤検知で問題ないと言われていますが、よくは分かりません。(Auto Hot Keyに関する問題と書かれています)
cPlayはそうした問題はありません。

4. ミュージックプレーヤーのいろいろなカタチ

似たようなものにはPlayWASAPIというプレーヤーもあります。
http://www.audiocircle.com/index.php?topic=68364.0

PCオーディオの自由度をもってすれば、ミュージックプレーヤーにもさまざまな解法や応用が考えられます。
次の記事にCMP2を実際に応用した例を挙げます。
M2TechのhiFaceの項であげた写真のタッチパネルPCトラポです。
posted by ささき at 09:22 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

2009年12月29日

オーディオファイル向けミュージックプレーヤー(1) XXHighEnd

WindowsのミュージックプレーヤーソフトについてはWindows Media PlayerやiTunesをはじめとして、こっている人は前記事であげたFoobar2000やWinamp、SongBird、Lilithなどもよく使われていると思います。加えてFrieve Audio、J.River、Media Monkeyなどなどソフトはまだまだ多種多様にあります。ミュージックプレーヤーといっても動画重視であったり、対応ファイル形式の多さが特徴であったりとその特質もさまざまです。
そこで一般向けとは言いがたいけれども、とくにオーディオ向けに考えられたものを少し紹介いたします。
まず今回はXXHighEndです。

xxhe1.gif

1. XXhighEndとは

XXhighEndは文字通りハイエンドを目指したミュージックプレーヤーです。
もともとは2006年ころより真のビットパーフェクトを実現したミュージックプレーヤーを製作するという趣旨で始まったようです。ホームページはこちらです。
http://www.xxhighend.nl/
あまり整理されていないんですが、まず一番上のDownload area and Release noteから見ていくと良いと思います。

現在(09/12/29)の最新は09-y4というバージョンです。このバージョンからアップサンプリングができるようになっています。
一応対応フォーマットはWAV, AIF, AIFF, FLAC, MP3,(DXD?)とされているようですが、基本的にWAV向けです。FLACは認識していますが、わたしのPCではメモリーエラーで再生できませんでした。このメモリーエラーは随所に出てきますのでかなりのメモリ食いです。ちなみにわたしのPCはXPですが4GB入っていますがそれでもだめです。

必要条件はXP、2000、Vistaですが、Vistaが最適です。7ではまだ問題があったと思いました。
メモリの最低条件は2GBとあります。フォトショップとかならともかく、音楽プレーヤーソフトでこれはすごい条件です。なお24bitの再生には3GBのメモリが必要とありますが、わたしのPCは4GB入ってますが、24bitは選択できません。ただし32bit Windowsは4GBはいっていても仕様で3GBしか認識しませんのでそのせいか、固有の問題かは分かりません。いずれにせよ後述のエンジンの点も含めて本来はVistaで使うプレーヤーでしょう。

デモ版は無料でフルに機能を使えますが、連続再生時間に制限があります。マルチコアCPUでの動作にも制限があります(わたしのはCore2quadですがデモでも動作したので動作自体は問題ないと思います)。上記制限を取りたければPaypalで支払いをして解除コードを申請します。これに78ユーロ(約1万円)かかります。

設定が多いのにマニュアルがないので使い方はいまふたつ分からないんですが、なんとなく分かったことを書いておきます。
参考になるのはツールチップとヘルプファイル、そしてこちらのスタートアップページです。
http://www.phasure.com/index.php?topic=833.0
あとはフォーラムの内容を読んでいくことになります。

2. XXHighEndの特徴

*ビットパーフェクトのサポートと複数の再生エンジン

XXHighEndには3つの再生エンジンが用意されていて、#1エンジンと#3エンジンはビットパーフェクトです。また#2エンジンはビットパーフェクトではありません。

ビットパーフェクトは日本では一般に「バイナリ一致」と呼ばれています。これはいろんなところでいろんな使われ方をする言葉です。たとえばiTunesやEACなんかでCDからWavなどにRIPするときにも言われますが、この場合はCDのデータを忠実にデジタルデータに落とせるかということを指すと思います。
一方で海外のフォーラムでこういうオーディオドライバーとかプレーヤーなどの話題でビットパーフェクトと言うときは暗にカーネルミキサーを通さない、という意味で使われているようです。
XXHighEndでもそういう使い方をしています。これは逆に言うとカーネルミキサーを通すとビットパーフェクトにならないということです。この辺はさきに書いたfoobar2000の記事もご覧ください

XXHighEndに戻りますが、逆に言うと#2エンジンは標準的なものなのでもっとも安定していて、柔軟性が高いものになっています。音質という点では素の性能はビットパーフェクトの#1が高いということになりますが、XPの場合は#1はダブルレート(後述)が使えないため、トータルでどの組み合わせが最適かは結局いろいろ自分の環境で試してみて聞き比べないと分かりません。そのためにエンジン選択があるということのようです。
また、FoobarやWinampはビットパーフェクトにするためにはカーネルストリーミング、ASIOやASIO4ALLなどの知識が必要となりますが、XXHighEndは同様なもの(おそらくカーネルストリーミング使用)をはじめからもっているので、とくに#1でも追加は必要ありません。
おもしろいのは#1を指定していてもメモリが足りなくなると自動的に#2に切り替わることです(曲によります)。これは曲ごとにすべてメモリに展開しているからでしょう。
このときにはエンジン指定が赤くなります。

#3はVistaに特化していて、これが一番お勧めとのことです。ただしXPで#1や#2を使っていても音質のよさは体感できます。中ではおそらくWASAPIを使っていると思います。また#3ではリアルタイムと銘打っていますが、かなりの低レイテンシー(遅延)を実現しているとのことです。Vistaで#3エンジンのときはおそらくLinuxやMacもびっくりという低レイテンシーが実現できるようです。

他のプレーヤーだとオプションで指定するところを、XXHighEndではコアのエンジン自体をすげ替えるというのは開発の歴史的な背景があるようです。

*アップサンプリング
ドライバーが許せばDouble rateとアップサンプリングが可能で44.1のデータを88.2として送出できます。
その違いというのはDoubleは同じデータを二回送出して、アップサンプリングの場合は補完計算をするということだと思います。Doubleは再計算ではないので、指定は整数倍のみになります。(Vistaについては88.2が選べないようなのでこのためDoubleは#1と#2ではできないようです)
ただ音はDouble rateでも変わります。
アップサンプリングはSoX(Sound Exchange)ライブラリーを使用しているようです。

*プロセッサスケジューリング
マルチコアのときにはプロセッサのスケジューリングとか優先度が設定できます。
どれがどうなるという具体的な説明は見つかりませんが、たしかにこれも微妙に音の差があります。これも好みではあると思います。ちなみに#1スケジュールパターンがオリジナルで、それ以外は派生版ということです。


3. 音の印象など

音はたしかにちょっと良いものがあって、精細さという点でもなかなかのものですが、単に細かさだけではなく、厚みとか豊かさを感じられる点がオーディオ向けという気がします。それらがあいまってトータルの情報の豊かさと感じられる点はたしかにオーディオファイル向けといえるかもしれません。

(お金は取るのですが)まだベータ版に近くて、不安定だしすべての機能を使うのはちょっと大変なところがあります。使い勝手はいまひとつですし、PC側にもオーディオ機材側にもそれなりのものが必要ですので、PCオーディオに手軽さよりも高性能を追求する人向けです。既成のプレーヤーに飽き足らない人は試してみるのも良いと思います。


Appendix. 簡単な使い方

1. 最新のバージョンのdownloadページに飛ぶ
http://www.phasure.com/index.php?board=1.0
現在(09/12/29)の最新は09-y4

2. インストールはなく、unzipするだけ

3 データフォルダーを作成する
名前は何でもいいんですが空フォルダを作ります。たとえばxxhe_dataなどです。これはプレイリストとか個人設定などが入るようです。
反面でレジストリーは使わないようです。

4. まずrootを設定する
いまあるライブラリでOKだと思いますが、こうした三階層にしておくと良いと書いてあります。

G: (ドライブ)
--WAV (タイプ)
----Lounge (ジャンル)
------Album (アルバム)

これに沿う必要はないのですが三階層のほうがカバーアートと同期させるためには良いとのこと。

5. データフォルダーを設定する
6. libraryを表示する(jpegのアルバムアートが表示可)
7. libraryのアルバムをクリックする
8. playlistに追加されるので、playlistから曲を選択して再生(play)

(再表示がきれいにできない場合があります)
posted by ささき at 20:57 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする

2009年12月20日

Foobar 2000とプレーヤーソフトの周辺知識

最近はProtonやhiFaceなどPCオーディオ系のデバイスを紹介していますが、ハードのほかに重要なのはソフトウエアです。
USBデバイスは単に音を出すのはむずかしくありませんが、より良い音で聞くのはまた別に工夫が必要になります。
そこで実際にどうやってそれらのデバイスを使うかという点を中心に、PCのミュージックプレーヤーソフトでは代表的なfoobar2000を例にとって少し書いてみたいと思います。
Foobar2000自体は語りつくされているとは思いますが、他の記事とか後の記事とのつながりのため、ここであわせてfoobar 2000の簡単な解説とカーネルミキサーのバイパスのような基本的な項目や周辺の知識も交えていきます。
ちなみにここでは主にWindows XPについて書いていきます。

0. Foobar2000とは

もともとWindowsの音楽プレーヤーソフトではWinampというソフトが定番だったのですが、人気を得ていく上で肥大化したWinampに反発した内部のエンジニアがスピンアウトして製作したのがこのFoobar2000ということです。そのため、プログラムの基本部分はシンプルでそれに好みでカスタマイズをしていくという構造になっています。
最近1.0がベータ版として登場しました。

ちなみにfoobarというのはプログラマでよく使われる業界言葉みたいなもので、名前はなんでもいいときの代名詞です。fooだけとかbarだけでも使いますが、foobarと続けても使います。たとえばプログラムAを実行すると、と似たように、プログラムfoobarを実行すると、という感じですね。日本ではhoge(ほげ)と言うのもよく使います。
ですからfoobar 2000を日本語訳するなら、hoge 2000という風になるでしょうか(笑)。

1. インストール

こちらのサイトから最新版をダウンロードします。
http://www.foobar2000.org/download
他にもダウンロードできるサイトはありますが、信用できるサイトであるかを確認してください。(McAfeeのサイトアドバイザリーをお勧めします)

現在のところ安定している正式版と、開発途中のベータ版があります。
正式版は0.9.6.9です。1.0はベータ版のみです。ベータ版でもいくつかバージョンがあります。この記事の時点では最新はBeta5です。

なおベータ版にはbit torrentという転送プロトコルをサポートしたダウンロードツールが必要です。
それ以外でダウンロードするときはミラーサイトか他の配布サイトを探す必要があります。

2. 簡単な使い方

インストールするときはどこにインストールするかを確認しておいてください。そこのcomponentというフォルダに追加コンポーネント(プラグイン)をコピーすることでインストールします。

使い方は一例ですが、まずlibraly->configureでライブラリのルートを指定します。次に画面の基本レイアウトを指定します。Layout->Quick SetupでAlbum List+Propertiesを選択すると左側にアルバムのリスト、上は情報(properties)欄になり、右下はプレイリストになります。ここでAlubum listを開いていくと楽曲が出てきますので、曲単位、あるいしアルバム単位でプレイリストにドラッグして聴く曲を決定して、プレイリスト欄からダブルクリックや曲の選択して再生ボタンなどで再生します。

またはLayout->Quick SetupでSimple Playlistを選び、デフォルトのプレイリストを選択しておいてそこにFileからAdd Folderでライブラリのルートを指定しても簡単に再生できます。

うまく音が出ないときはFile->Preference->outputのタブから目的のデバイスが選択されているかを確認してみてください。
とりあえず音が出ることを確認したら基本的なところは終了です。

この状態ですぐに使えますが、さらに拡張できるのがPCプレーヤーのよいところです。

3. コンポーネントの追加

Foobar2000ではコンポーネントと呼ばれるモジュールで追加機能をインストールできます。
さきのcomponentフォルダーにダウンロードしたfoo_xxx.dllというファイルをコピーしてプレーヤーの再起動をします。

コンポーネントにはそれぞれ目的と役割があります。役割はファイル名を見ても分かります。
たとえば次のようなものです。

目的*対応CODEC(再生フォーマット)を増やす
ALAC - foo_input_alac.dll
iPodでApple Lossless(ALAC)でたくさんのライブラリを使用している人には、Foobar2000で標準で対応していないALACを対応させる必要があります。

ちなみにCODECはCOmpress DECompressの略で圧縮と伸張の形式のことです。正確に言うとCODECとファイルフォーマットは異なるので注意が必要なこともあります。例えるとファイルフォーマットは入れ物のカタチのことで、CODECはどうぎっちりと詰めるかという詰め方のことです。
これはデジタルカメラなんかの画像でも同じです。たとえば有名なJPEGはCODECのことでファイル形式のことではありませんので、JPEGファイルというのはほんとは正しくない言い方です。

目的*アップサンプリングに対応させる
DSPと呼ばれるコンポーネントでは音そのものを変えることができます。ここではアップサンプリング(リサンプリングとも呼ばれます)を可能にするコンポーネントをいくつか紹介します。このほかにもクロスフィードを可能にするものやサラウンド対応、イコライザーなどもあります。

アップサンプリングを行うコンポーネントはひとつではなく、複数あります。これは元になるリサンプリングのためのライブラリーが違うので異なる方式でアップサンプリングをしているというわけです。これらはfoobarだけではなく、同じライブラリを使用して他のプレーヤーで使われるものもあります。
たとえば下記のようなものがあります。標準でもPPHSというのが付いてきますが、これらの方が良いと思います。

SoX - foo_dsp_resampler.dll
SoXはSound eXchangeというクロスプラットホーム(OS非依存)のサウンド関係のライブラリです。
SoX自体はバンドパスフィルターやイコライザー、リサンプリングなどの機能を提供します。基本的にはコマンドラインかAPIを使いますが、foobar2k用のものはSoXの中でもめずらしくGUIを持つものです。

Secret Rabbit Code - foo_dsp_src9.dll
Secret Rabbit Codeはリサンプリングに特化した同様なライブラリです。こちらもfoobarだけではありません。(あとでまた出てきます)。
わたしはSecret Rabbit Codeが一番良いと思いますが,一番CPUパワーを食います。また残念ながら試したところ1.0 beta2ではSecret Rabbit Codeは使えませんでした。

SSRC - foo_dsp_ssrc.dll
日本でよく使われているもので海外でもOtachanの名でよく使われます
。使われているライブラリはShibachi Sample rate converterというものです。


目的*カーネルミキサーをバイパスできる出力方式を追加する
Windows標準のDirectSoundではカーネルミキサーをバイパスできないので、それを可能にする追加コンポーネントをインストールして対応します。
これらについて次の章でまた解説します。
Kernel Streaming - foo_out_ks.dll
ASIO driver - foo_out_asio.dll



4.出力とドライバの指定

最後に重要なのは出力とドライバの設定ですが、ここでのポイントはカーネルミキサーのバイパス(迂回)を念頭に設定することです。
よくWindowsで音質を向上させるためにはカーネルミキサーのバイパスが必要であるということを聞くでしょう。その理由は音楽データがWindowsのカーネルミキサーというモジュールを通ることで意図せず手が加えられてしまうからです。そのため音が劣化してしまいます。

4-1 カーネルミキサーの功罪

カーネルミキサーというモジュールはOSの一部で、OS上で扱われる音を一元管理するためのものです。
たとえばWindowsの起動音は22kHzで、CDからリッピングした楽曲ファイルは44.1kHzです。その他さまざまなサンプリング周波数の音源を一元管理してボリュームの調整などを行うためにはどれか統一したサンプリング周波数が必要です。その標準は44.1kHzではなく、Windowsの場合は48kHzです。つまりそれ以外のデータは48kHzに再サンプリング(つまり再計算)されてしまいます。
しかしたとえ48kHzだったとしてもカーネルミキサーでは再計算されるようです。これは計算のために他と型をそろえるためです。

よくデジタルは0と1の数値だから音は変わらないと言われますが、仮にジッターの問題を置いてもデジタルが0と1の数値のデータだからこそ音が変わる理由があります。
それは計算精度と桁落ちの問題です。1/3x3が1になるためには十分な小数点精度が必要です。カーネルミキサーではインとアウトが等しくなるほど計算精度という点で十分ではないということです。それゆえビットパーフェクト(バイナリ一致)ではないと言われるゆえんです。
デジタルは数値の処理ですので、足しても混ぜてもテープのダビングをするようなアナログ的な意味での劣化はしませんが、数値ならではの問題があるわけです。
最近32bit処理とか64bit処理なんていう言葉も出ていますが、これを情報処理的に言うと32bitは単精度形式で64bitは倍精度形式になります。写真分野のHDR(high dynamic range)なんかもそうですが、32bitで扱うというのは単に24bitに8bit増えただけではなく、大方の場合は浮動小数点形式で扱うということも意味しています。16bitも24bitも整数型です。(32bitは整数型もあります)

もっとも後述するASIOに求められたのは音質というよりはレイテンシー(遅延)の問題のようですし、また実際のカーネルミキサーの問題はもっと複雑のようです。ただビットパーフェクトという言葉はよくカーネルミキサーのバイパスと組に出てくるので、それを端的に解説するとこんな感じでしょうか。
カーネルミキサーの問題はカーネルミキサー自体の演算精度というよりも、余分な処理が加わるということ自体が問題です。ですので簡単な解決策はそれをバイパス(迂回)することです。

こうしたソフトウエアで「ビットパーフェクト出力」というと、暗にカーネルミキサーをバイパスするという意味になります。
http://www.mp3car.com/vbulletin/faq-emporium/88852-faq-what-bit-perfect.html

4-2 カーネルミキサーをバイパスする方法

それではどうやってカーネルミキサーをバイパスするかということですが、大きく3つの方法があります。
ひとつはASIO対応ドライバを使う方法、ふたつめはASIO4ALLを使う方法、そしてカーネルストリーミングを使う方法です。これはドライバによって使い分けられます。
たとえばわたしのPCの3つのオーディオインターフェース機器について考えてみると、PCについているPCI内部バスのサウンドカードはDAL CardDeluxe、またUSB DACとしてWavelengthのProtonがあり、USBのSPDIFコンバーターとしてhiFaceがあります。
CardDeluxeはASIO対応とうたっていて、hiFaceはカーネルストリーミング対応とうたっています。しかし、Protonはなにも書かれていません。

まずドライバーがASIO対応しているCardDeluxeでは、それを使ってソフトウエアではASIO出力を指定します。ASIO対応にするため、ASIOコンポーネントのインストールが必要です。
Right/Leftのチャンネルをマップ(割り当て)しなおしする必要があることもあるので、音が出ないときは設定を開いて確認してください。

またASIOの対応のないProtonですが、こういう場合はASIO4ALLというソフトウエアをいったん途中にかませて、間接的にASIO対応にします。
まずASIO4ALLをダウンロードしてインストールします。次にASIOコンポーネントもインストールします。
設定はConfigureで行いますが、音がでないときは他のプレーヤー(iTunesも含む)を立ち上げてないかを確認し、次にASIO Virtual deviceタブを開いてチャンネルが空になっていないかを調べてください。空であればleftとrightを設定します。

ドライバーがカーネルストリーミングに対応しているhiFaceは、それを使ってソフトウエアではKernel Streaming出力を指定します。Kernel Streamingコンポーネントをインストールすると、ドライバーはASIO以外はDSとKSという二つのカテゴリーに分けられるようになります。
さて、hiFaceはカーネルストリーミングに対応していると書きましたが、本来はカーネルストリーミングについてはドライバーでなくプレーヤー側の対応で、ドライバー側の対応は不要なはずです。しかし、カーネルストリーミングについてはちょっとトリッキーなところがあり不安定だったりするのですが、hiFaceはfoobarでのKernel Streaming使用という点で、DirectSound用とKernel Streaming用のモードを分けてきっちりと開発しているようなので安定して動作します。
一般のドライバでも内蔵サウンドチップを含めてカーネルストリーミングでも動作できます。ただ動作すれば問題ありませんが、動作しない場合は海外のフォーラムにあったワークアラウンドですが、24bitまでのドライバだったとしても32bitとして出力指定すると動作することもあります。(CardDeluxeはそうでした)

まとめるとASIO対応ドライバーはASIO指定、それがなければASIO4ALLかKernel Streamingということになります。
またASIO4ALLも内部的にはカーネルストリーミングを使ってたと思います。つまりASIO4ALLはカーネルストリーミングにASIOの口をつけたものと言えるように思います。


なおVista以降ではWASAPIという方法もあります。FoobarではWASAPI用のコンポーネントもあります。


5. 詳細設定

このほか音に関係しそうなところとしては詳細設定のPlaybackからfull file bufferingを選ぶと曲データをすべてメモリーに展開することができます。
またThread Priorityで優先度を変更することができます。
これが効くのはメモリがたくさんあるデスクトップというよりもUMPCなど非力なPCで音飛びがするときに有効に思えます。


6. PCオーディオのソフトウエアと自由さ

追加機能はまだまだたくさんあるのですが、PCオーディオの利点としてそうした追加機能を自由に追加できるという拡張性があります。
またFoobarではDLNAで使われているuPnPプロトコルをサポートしたコンポーネントも用意されています。
http://www.hydrogenaudio.org/forums/index.php?showtopic=69664
これを使えばFoobar2kとLINN DSをリンクさせることが可能です。実際にFoobar2kにKinsky Desktopに似た機能を実装させるというプロジェクトもLINNのフォーラム内で進んでいます。こちらです。
http://forums.linn.co.uk/bb/showthread.php?tid=4456
uPnPコンポーネントはクライアントだけでなく、サーバー機能もサポートしていますが、こうなってくるとただのプレーヤーでさえなくなります。

Foobarの欠点としてはローカライズにあまり対応していないので英語前提であるということがあります。やはり日本語でなくては、という方にはWinampFrieve Audioなんかが良いのではないかと思います。
またこうしたソフトウエアの自由さは反面ではじめての人はなにをやっていいか分からないという点にもつながってしまうかもしれません。

いままでのCDプレーヤーと違い、PC上のプレーヤーはこうしたかたちのなさが利点でもあり、またとっつきにくさにもなり得ます。
新しいフォーマットが出たら自由に対応フォーマットを追加でき、アップサンプラーなどはさまざまな方式から選べます。こうした点はいままでのCDという決まったカタチに束縛されない自由さがあります。
foobarが定番なのは拡張性の高さがそのようにPCオーディオらしいから、という点にあるように思います。
posted by ささき at 22:54 | TrackBack(0) | __→ PCオーディオ・ソフト編 | このブログの読者になる | 更新情報をチェックする