Music TO GO!

2013年03月28日

AndroidでハイレゾUSB DACを使用可能にするアプリ USB Audio Recorder PRO

いままで書いてきたようにAndroidで一般のUSB DACを使うためにはUSBオーディオドライバーが有効化されていなければなりません。はじめからこれが可能なのはGalaxy S3など一部の機種です。たとえばNexus 7は標準状態ではUSBオーディオドライバーが有効化されていないので、Nexus 7でUSB DACを使うためにはroot化してからドライバーが有効化されたカーネルを入れ替えるという面倒でリスクのある手段を使う必要がありました。

IMG_0993.jpg
Nexus 7とDragonfly

しかし今回紹介するUSB Audio Recorder PROは(本来は録音アプリですが)単にこのアプリをインストールするだけでNexus 7のようにいままで対応できなかったものでもUSB DACを使うことができるという優れものアプリです。しかもハイレゾに対応していて、真に192/24bitのハイレゾをUSB DACに出力することが可能です。これでAndroidもようやくiPadなみにハイレゾ対応が可能になりました。

ダウンロードはこちらのGoogle Playから429円です。(USB Audio Recorderは別アプリです。USB Audio Recorder PROを買ってください)
https://play.google.com/store/apps/details?id=com.extreamsd.usbaudiorecorderpro&hl=ja

下記にアプリの解説が書かれています(Google Play画面です)。

Screenshot_2013-03-27-19-59-09.png     Screenshot_2013-03-27-19-59-26.png

無料のお試し版もあります。こちらはサイトからダウンロードです。かなり低いレベル(ハードに近い)のソフトウエアなので、Android端末、USB DACとも機種によってはまず無料版で動作確認をしてからフルバージョンを買った方が良いかもしれません。
こちらの開発元サイトに動作可能のAndroid端末とUSB DACの組み合わせが書いてあります。
http://www.extreamsd.com/USBAudioRecorderPRO/

* USB Audio Recorder PROの実際の使用について

USB Audio Recorder PROの使用条件はUSBホスト機能が必要なのでAndroid4.0以上であるということ、USB OTG(On The Go)ケーブルが必要ということです。USB OTGケーブルはiPadのカメラコネクションキットに相当します。下記に書いたマイクロB-AメスのUSB OTGケーブルはAmazonなどで簡単に入手可能です。
またUSB DAC側は標準ドライバーで動作するものが必要です。USB DACの電力制限はiOSではないのでかかりませんが、よくはわかりません。
私は標準状態(無改造)のNexus 7(Android 4.2)で試してみました。USB DACと組み合わせる際には干渉を防ぐためにAirplaneモードにしてください。
iBasso DX100はAndroid 2.3ですので残念ながら使えません。(Google Playからダウンロードできません)

Screenshot_2013-03-27-20-39-36.png

再生はアプリ内でのみ可能です。USB audio recorder proを音楽再生アプリとして扱ってください。対応フォーマットはFLAC/WAV/OGG/AIFFです(録音はAIFFは不可ですが再生はできます)。MP3は使えません。他の音楽再生アプリからドライバーとしてだけ使うということはできないようです。iOSみたいにAudioBusみたいなのがあればできるのでしょうけれども。ただしUSB audio recorder proのサービス版を開発中ではあるということです。またもともとは録音アプリなので録音したデータを他の音楽再生アプリで再生するということは可能です。
音源を指定するにはフォルダアイコンをクリックして階層をたどってください。音楽再生用として使用するために簡単なプレイリスト機能がついています(わざわざこれは録音アプリだけど再生用のリクエストが多くてつけたと注釈が書いてあります)。

はじめにUSB DACをUSB OTGケーブル経由で接続してからUSB Audio recorderアプリを立ち上げてください。アプリの立ち上げ時にUSB DACを検知すると下左のようにUSB DACへのアクセスを聞いてきます。OKを押下してください。初期化に失敗すると下右のようにエラーが出ますのでそのDACは使えません。初期化に成功すると対応している出力ビットが16とか24のように表示されます。

Screenshot_2013-03-27-20-56-13.png     Screenshot_2013-03-27-22-11-13.png

問題なければ左上のフォルダアイコンをクリックして音源ファイルを選択してから再生ボタンを押下してください。またPlay Listタブで簡単な複数ファイル再生も可能です。

Screenshot_2013-03-27-21-29-09.png
USB Audio Recorder PROでのハイレゾ再生

バッファは再生音に問題があるときに下記のように機種ごとに調整が必要です。再生音が異常のさいには下記のようにバッファ長を調整してみてください。動作の安定性は接続するDACにもよるようですが、やや安定動作に欠けるところもあります。動作が安定していないときにはリブートでたいてい解消できます。

ポータブルDAC : AudioQuest Dragonfly

Dragonflyが標準状態のNexus 7で使えています。なんと画期的ですね。これでハイレゾ再生も可能なポータブルオーディオシステムになります。Dragonflyの場合は片側AメスのUSB OTGケーブルを使います。

IMG_0996_filtered.jpg   IMG_0998_filtered.jpg   IMG_1002_filtered.jpg

ハイレゾ音源(Blue Coast)を再生しているときはDragonflyの色が変わってきちんと96KHzでロックしているのがわかると思います。緑が44kHzでマゼンタ(赤紫)が96kHzです。
なおDragonflyの時はバッファ設定を標準の4096 framesではなく44kHz音源はBuffer=8192 frames、96kHzのときは16384 framesに指定しないと音が安定しません。

Screenshot_2013-03-27-21-29-58.png

またDragonflyのように内蔵ボリュームがあるタイプでは上のようにボリュームの調整にはMixerタブを開いてchannel1と2のスライダーで音量を調整してください。

据え置きDAC : Wavelength Proton

このWavelength Protonのように据え置きタイプでももちろん使えます。片側AメスのUSB OTGケーブルを普通のUSBケーブルで延長してください。

IMG_1009_filtered.jpg     IMG_1018_filtered.jpg

Protonでも96kHzでロックしているのが確認できました。ProtonでもDragonflyと同様にバッファ設定の変更が必要です(DragonflyとProtonはファームがほぼ同じです)。仕様としては192kHzまでいけるようです。

○ ポータブルDAC内蔵アンプ : xDuoo XD-01

xDuoo XD-01でも使用できます。(XP-01が調子悪いのでXD-01でXP-01のアクセサリーを使っています)
この場合はXP-01についていた短いUSB OTGケーブルを使用すると便利です。

IMG_1022_filtered.jpg     IMG_1032_filtered.jpg

このUSB OTGケーブルには上下別で、プラグの向きによって折り返して使えるようにもなっています。

IMG_1024_filtered.jpg     IMG_1030_filtered.jpg

XD-01の場合はバッファ設定にはよらず安定しています。XD-01でも96kHzまでハイレゾ出力が可能です(ロックは確認できませんが)。この場合はSRC(アップサンプリング)は切った方が良いでしょうね。XP-01ではUSBコントローラ(PCM27xx)の都合で48/16までになりますからXD-01の方が向いているかもしれません。


* USB Audio Recorder PROの仕組み

USB Audio Recorder PROがUSBドライバの有効化なしでUSB DACと接続できる仕組みは、アプリ内部にミキサーとオーディオドライバーのような音声システムをそっくり持っているからです。これは開発元のeXtreamが書いたものということで、通常のアプリですからユーザー空間に置かれています。それでAndroid標準の音声システム(Audio flinger)をバイパスしてOSのUSBホストドライバーにアクセスしているようです。感覚的にはDX100のiBassoアプリにも似ているかもしれません。

Galaxy S3やドライバー有効化改造されたNexus 7との違いは、USB Audio recorder proはユーザー空間を使用する普通のアプリであるためroot化する必要がないということです。対してNexus 7でのドライバー有効化はカーネル(Android的には別な言い方がありますが)を書き換える必要があるのでroot化(つまりカーネル空間にアクセス)する必要があります。rootというのは管理権のことですから通常のユーザーでは扱えないシステムレベルでアクセスできるということです。iOSなんかで標準添付のアプリが消せないのもこの理由です。

ミキサーなどのシステムモジュールはカーネル空間(つまりOS内部)にあるのが普通ではありますが、ユーザー空間にあってもおかしくはありません。たとえばWindows7(Vista以降)のミキサーであるAudio engineはユーザー空間にあります。そのためAudio engineをミキサーと呼ぶことは問題ありませんが、XPのようにカーネルミキサーと呼ぶことは誤りです。(ただしWindowsのAudio engineはユーザー空間にありますが特別なメモリ保護下にあります)ちなみにWindowsでミキサーをユーザー空間に出したのは当時のMSのOSアーキテクチャ戦略の一環です。

ユーザー空間にこうしたシステムモジュールを置くというのは欠点もあると思いますが、自由なAndroidならではの着眼点です。
Appleのがっちりとした管理下にあるiOSアプリに比べると、規制の緩いAndroidアプリは長短ありますがこうした自由度が高い点は面白いところです。これがiOSアプリだったらAppleに却下されているかもしれません。接続するDACも消費電力制限などが緩いのでいろいろ使えますしね。
あとはサービス化してくれて、他の音楽再生アプリから使えるようにしてくれれば、Androidのオーディオ利用もずっと広がっていくでしょうね。いずれにせよXP-01、ADL X-1などのAndroidを考慮したポータブル系の隆盛とも合わせてAndroidとUSB DACの組み合わせの分野もちょっと活気づいてきたように思えます。
posted by ささき at 20:19 | TrackBack(0) | __→ スマートフォンとオーディオ | このブログの読者になる | 更新情報をチェックする
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/353122143
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック