
Android OS 5.0(コードネームLollipop)の最初の搭載モデルNexus9が発売されて1ヶ月あまり。
自分のNexus7にアップデートが来たら上げようと思っていたネタですが、LTEモデルの更新はちょっと遅れていてなかなか来ないので、先にアップしちゃいます。
AndroidのUSBオーディオ対応状況について検証してみました。
(2015/2/11追記)
ようやく、うちのNexus7にも5.0.2が降ってきたので追加検証しました。
まず前提として、ここで挙げる方法は全て、端末のハードウェアがUSBホスト動作をサポートしている必要があります。(ホストモードを使わない、「もう一つのUSBオーディオ」については
こちらの追記部分をご覧ください。)
目安としては、OTGケーブルを用いてキーボードやマウスが使用可能であれば、その端末はホスト機能が有効といってよいでしょう。
(2018/8追記)今では
こんな感じでホストモードが使える端末を公開しているキャリアもあります。
OTGケーブルはまだ一般的ではありませんが、ネットで探せば容易に入手できるようになりました。この先は普通のUSBケーブル(Aオス→Bオスなど相手先に対応するもの)でUSBオーディオ機器に接続します。

アイ・オー・データ機器 USB-OTG10

(2015/5/7追記)オーディオグレードのOTGケーブルも登場し始めました。
オーディオテクニカ AT-EUS1000hc
(2016/7/1追記)
また、スマホ・タブレット用のUSBハブも発売されています。この場合はハブがOTGケーブルの機能を持っているのでOTGケーブルは不要です。マウスなど、USBオーディオ以外の機器も同時に使用したい場合はこちらを使用します。

バッファロー BSH4UMB05BK
写真のバスパワー品の他にセルフパワー品もあります。スマホはPCに比べてUSBの電源供給能力が弱いので、複数のUSB機器を使用すると電流が足りなくなる場合があります。そのような時にはセルフパワーHUBを使って外部から給電してあげると動作でき、スマホのバッテリー消費を抑えられるメリットもあります。接続する機器に応じて選択してください。
USBオーディオを鳴らすためには、普通はさらにOS側の対応も必要です。
4.4までのAndroid OSはUSBオーディオをサポートしていませんが、SAMSUNG、SONYなどの一部の端末ではメーカーが独自にOS拡張を行いUSBオーディオに対応しています。
また5.0以降のAndroidはOSレベルでUSBオーディオが使用可能になりました。
どのOSでも接続するUSB機器はUSB Audio Class対応品である必要があります。

(2016/8/2追記)
なんだかこのページ、人気あるみたいなので加筆してみました。
ちょっと複雑ですが、こういうことです。
USB Audio Player PRO(UAPP)および
HF Player(末尾に追記)、あと
HibyMusicは特別なアプリで、自らUSBオーディオのドライバを持っているため、これを使えばUSBオーディオをサポートしていない端末(USBホスト機能は必要)でもUSBオーディオ機器による再生が可能になります。
USBオーディオ機器を接続し、UAPPにより再生を行うための端末の条件
1. USBホスト動作が可能であること (UAPPを使うためには必須)
2. ホスト動作時に本体の充電が可能であること (必須ではないが長時間再生するため推奨)
UAPPにより再生を行うためのUSBオーディオ機器の条件
1. USB Audio Class対応品であること
動作確認がとれている端末およびUSB機器は
UAPPの互換性リストを見てください。「Working」と標題がついている表が対応品です。NOTはダメですよ。
検証に使用した端末はタイトル画像の3機種。
1年で3台も買ってしまった・・・
USBオーディオ機器はこれを使いました。

TEAC UD-301
USB Audio Class 2.0、ASIO/DoP、32bit/192kHzまでのPCMと2.8MHz/5.6MHzのDSDに対応。USB/同軸/光入力ができ、前面パネルに入力信号の状態を示すLED表示もあって実験用に便利なUSB-DACです。自宅ではDSDを受け付けてくれないDAC64mkIIの補完機として活躍中。
各端末標準の音楽再生アプリと、UAPP使用時の2パターンで検証します。
いずれもUSB接続のみで単体での再生は検証しません(キッパリ)。
ファイルはflac(PCM)とdff(DSD)です。
それでは実験開始。
その1 Google Nexus7(2013)
最初の車載機でした。ワイヤレス充電Qiが超便利なので、現在はベッドサイド端末として活用中。
※USB再生中の本体充電:標準OSではACA対応機器のみ充電可。
カーネルまたはROM書き換えにより市販の三つ又OTGケーブルで充電可。
(2015/1/6修正)USBと充電の両立について再調査の結果修正しました。詳しくは
こちらをご覧ください。
4.4(KitKat)+標準アプリ(Google Playミュージック)
4.4までのNexus7はUSBオーディオ対応ではないので、OTGケーブルで接続しても標準アプリでは音が出ません。
ただし対応ROMがあるので、
書き換えのリスクをとれるならUSB再生可能です。
4.4(KitKat)+UAPP

全てのフォーマットを変換なしで出力してくれました。さすがです。DACのLEDが5.6MHzDSDを示しています。
○16bit/44kHz PCM (*.flac):再生可能
○24bit/48kHz PCM (*.flac):再生可能
○24bit/96kHz PCM (*.flac):再生可能
○24bit/192kHz PCM (*.flac):再生可能
○2.8MHz DSD (*.dff):再生可能
○5.6MHz DSD (*.dff):再生可能
その他:DSD64とDSD128の曲の切り替わり時にノイズが出たり再生停止したり。
5.0.2(Lollipop)+標準アプリ(Google Playミュージック)

Android OS 5.0以降では、標準アプリでもUSBに音が出せるようになりました。ただし48kHzに強制変換されます。
△16bit/44kHz PCM (*.flac):48kHzで再生
○24bit/48kHz PCM (*.flac):再生可能(16bitかも)
△24bit/96kHz PCM (*.flac):48kHzで再生
×24bit/192kHz PCM (*.flac):表示されるが再生できず
×2.8MHz DSD (*.dff):ファイル認識せず
×5.6MHz DSD (*.dff):ファイル認識せず
その2 SAMSUNG Galaxy Tab S 8.4 (SM-T705)
Galaxyシリーズのフラッグシップ機。2560x1600(WQXGA)という超高解像度しかも有機ELパネルのディスプレイが美麗です。少し重いですがトンがったスペック。我が車を退役となった後もリビング用端末として活躍しています。
※USB再生中の本体充電:
対応OTGアダプターにより可能。
4.4(KitKat)+標準アプリ(ミュージック)

標準アプリでUSBオーディオ再生可能なのは立派ですが、48kHzに変換されます。
ちょっと気になるのは44kHzも48kHzに変換される点。ということは全て16bit?
△16bit/44kHz PCM (*.flac):48kHzで再生
○24bit/48kHz PCM (*.flac):再生可能(16bitかも)
△24bit/96kHz PCM (*.flac):48kHzで再生
△24bit/192kHz PCM (*.flac):48kHzで再生
×2.8MHz DSD (*.dff):ファイル認識せず
×5.6MHz DSD (*.dff):ファイル認識せず
4.4(KitKat)+UAPP

こちらは全て再生可能。もちろん無変換です。
Nexus7やペリタブとは表示される曲数が全然違います。横画面でコレですからね・・・
○16bit/44kHz PCM (*.flac):再生可能
○24bit/48kHz PCM (*.flac):再生可能
○24bit/96kHz PCM (*.flac):再生可能
○24bit/192kHz PCM (*.flac):再生可能
○2.8MHz DSD (*.dff):再生可能
○5.6MHz DSD (*.dff):再生可能
その他:接続後最初のUAPP起動時にUSBを認識しない。UAPPを一度終了すればOK。
その他:DSD64とDSD128の曲の切り替わり時にノイズが出たり再生停止したり。
その3 SONY Xperia Z3 Tablet Compact (SGP621)
現在のメイン端末です。8インチクラス最薄最軽量。ディスプレイはGalaxy Tab Sより少し落ちて1920x1200(WUXGA)となりますが、車載用にはこの位の方が見やすいです。
性能とポータビリティのバランスを「うまくまとめた」感があり使い勝手の良い機種です。欲を言えばこのまま90%縮小コピー、7インチくらいが欲しい。あとUSB端子の場所が気に入らない。フタが邪魔。マグネット充電の場所が合わせづらい。すぐ外れる。
文句多いなw
※USB再生中の本体充電:可能 Xperiaで最も評価するポイントです。これが出来ると出来ないでは使い勝手が大きく違います。
なお後継のZ4以降ではマグネット充電端子が廃止されたため、USBホスト動作と充電の両立が可能かどうかは不明です。
4.4(KitKat)+標準アプリ(Walkmanアプリ)

PCMは192kHzまで標準アプリでUSB出力可能です。意外に健闘。

DSDも2.8MHzはPCM変換ながら再生できました。
○16bit/44kHz PCM (*.flac):再生可能
○24bit/48kHz PCM (*.flac):再生可能
○24bit/96kHz PCM (*.flac):再生可能
○24bit/192kHz PCM (*.flac):再生可能
△2.8MHz DSD (*.dff):176.4kHzPCMで再生
×5.6MHz DSD (*.dff):表示されるが再生できず
(2015/7/25追記)
Walkmanアプリがバージョンアップされ、名称が「ミュージック」となりました。
USBオーディオの扱いにも仕様変更があり、全てのソースを「接続されたUSBオーディオが対応する最高スペックのLPCM」に強制変換して再生するようになりました。つまりこうです。
△16bit/44kHz PCM (*.flac):192kHzPCMで再生
△24bit/48kHz PCM (*.flac):192kHzPCMで再生
△24bit/96kHz PCM (*.flac):192kHzPCMで再生
○24bit/192kHz PCM (*.flac):再生可能
△2.8MHz DSD (*.dff):192kHzPCMで再生
×5.6MHz DSD (*.dff):表示されるが再生できず
設定画面を開いてもアップサンプリングをON/OFFする項目は見当たりませんでした。これ自分にはとても困った仕様で、車載環境ではUSB-DDCの先に接続しているプロセッサーが192kHzに対応しないので44.1kHzは44.1kHzのまま再生してほしいのです。UAPPは基本的に無変換、HF Playerは無変換かアップサンプリングを選択できるのに比べると評価ダウン、というか使用不可となってしまいました・・・
4.4(KitKat)+UAPP

全て変換なしで再生可能。
○16bit/44kHz PCM (*.flac):再生可能
○24bit/48kHz PCM (*.flac):再生可能
○24bit/96kHz PCM (*.flac):再生可能
○24bit/192kHz PCM (*.flac):再生可能
○2.8MHz DSD (*.dff):再生可能
○5.6MHz DSD (*.dff):再生可能
その他:DSD64とDSD128の曲の切り替わり時にノイズが出たり再生停止したり。
検証結果は以上です。
Xperiaのウォークマンアプリは全くのノーマークでしたが、良くできてます。
PCMファイルは一通りきっちり再生しましたし、DSD64のファイルもPCM変換ながら再生できたのは予想外でした。
Walkmanの名をつけるだけあって、なかなかのUSBオーディオ対応力です。これなら標準アプリでいいやと思う人も多いでしょうね。
(2014/12/11追記)
ウォークマンアプリが好印象だったので車でも使ってみました。CD音質しか試していませんが、USB-DDC(Audiophilleo 2)との組み合わせで再生できました。
ボリュームコントロールが無効となり、再生音以外の音は出力されない動作から、UAPPと同様OSの音声システムを回避する仕掛けを持っているようです。しかし出てくる音は違うのが面白いところ。
現在の「ミュージック」はウォークマンアプリとは全くの別モノになってしまったので、削除しました。
メーカーがOSに手を入れている一部のケースを除きUSBオーディオに対応していない、4.4以前のAndroid OSでも、UAPPを使用することによりUSB再生が可能であることが確認できました。
5.0以降になるとOSレベルでUSBオーディオの接続に対応しますが、Google標準アプリで再生する場合は48kHzでの再生となりました。これは、OSのオーディオシステム(Audio Flinger)が16bit/48kHzでの動作となっているためです。
いっぽうUAPPではAndroidのバージョンによらず5.6MHz DSDまで無変換で再生し、OSの対応よりも先に行ってますね~。エライ!
特にDSD再生時にはCPUパワーの高い端末でないと再生中にプチノイズが出るそうですが、ここに挙げた端末では特に問題ありませんでした。(短時間なので検証不足の可能性あり)
またこのアプリはOSのオーディオシステムをバイパスしてアプリからUSBに直接音声データを出力するため、標準アプリと音質比較するとCD音源(16bit/44kHz)のファイルであってもかなりのアドバンテージがあります。これは本格的なオーディオ再生には重要で、自分はハイレゾ対応であることよりもこのメリットによりUAPPを利用しています。
一方UAPPで初めて本格的にハイレゾ再生してみて、問題点も明らかになりました。
DSD64とDSD128が混在すると切り替わり時に「ボツッ、ザー」と一瞬ノイズが出るのはいただけません。機種によらず発生したので、UAPPかDACの問題ですね。これは改良の余地ありです。
アルバム単位で再生すれば回避できますけど、自分は全曲シャッフルを使うので致命的です。
「だからDoPは・・・」と言いたいところをグッとこらえて、将来に期待します。
それと、DSDファイルは標準のメディアフォルダに入れてもダメで、フォルダ指定しないと再生できない点も実用的ではないです。タグやアルバムアートの処理も含め、まだまだDSDに関しては試験的実装の印象があります。
とはいえ、音質優先派の再生アプリとして、UAPPの存在価値は5.0時代も健在といってよいでしょう。
今年一年速いペースで改良が進んだので、上記の不具合もそのうち解消するのでは。
(2016/9/29追記)
解消してました。UAPPエライ!
これで、AndroidもiOS並みにDSDを含むほぼ全てのハイレゾ音源を再生できることが確認できました。
アナログ接続でよければ(USB-DACを接続して)車載もすぐにできそうですが、スピーカー出力までハイレゾの性能を維持しようと思うならひと工夫必要です。またデジタルでは「きちんと」受けられる機器がほとんどない(
前回のブログ参照)のは来年以降の課題ですね・・・
その日が来るのを妄想しつつ、ホーム環境で実験することにします。
(2014/12/23追記)
iOS用定番プレーヤーアプリHF PlayerのAndroid版が1月に正式版になります。
高音質アプリの選択肢が一つ増えそうで、こちらも楽しみ。
(2015/2/11追記)
HF PlayerのAndroid版が正式リリースとなったので試しました。
このアプリもUAPPと同様、自前のUSBドライバを持っているのでOSに頼らずUSB再生が可能です。
ただし機種対応力は今のところUAPPには及ばず、うちのUSBオーディオでは3勝1敗でした。

○ hiFaceTWO Pro:24bit/192kHzまで再生可能
× Audiophilleo 2:通信エラーで再生不可
○ TEAC UD-301:5.6MHz DSDまで再生可能
○ Pioneer N-70A:24bit/192kHzまで再生可能。DSDはN-70Aの仕様により再生不可
AudiophilleoはUSB Audio Class2ではなくClass1+HighSpeed/Async.のちょっと特殊な仕様なので仕方ないか。でもUAPPでもウォークマンアプリでも使えるんですよONKYOさん、頼みますよ・・・
(2015/4/26追記)
N-70AのUSB入力はDoPによるDSD再生には未対応であることがわかったので修正しました。
またXperia Z3 Tablet CompactのOSを5.0にバージョンアップしたらHF Playerが起動すらしなくなってしまいました。一方UAPPは問題なし。どうやら自分はONKYOさんとは縁がないらしい・・・
(2015/7/25追記)
HF Playerがバージョンアップされ、Android OS 5.1で使えるようになりました。
USBオーディオが使えるアプリとして、
・ファイルのデータを無変換で出力することに主眼を置いたUAPP
・アップサンプリング・DSD変換などが魅力のHF Player
の2本から選択できるようになったのは大きいですね。
関連ページ
Android端末でUSBオーディオする方法まとめ