最近はLG G2やGalaxy Note3、Galaxy JなどAndroidスマートフォンでも単体でハイレゾ対応している機種が出てきました。ひとつにはモバイル向けに低消費電力でハイレゾ対応のDACまたは音声CODECと呼ばれる音声処理用の統合ICが使われていることがあります。たとえばLG G2で採用されているWolfsonのWM5110ですね。
しかし、それだけではハイレゾでの再生はできません。アプリから内蔵DAC(ドライバー)に至る信号経路をハイレゾ対応にする必要があります。以前書いたようにAndroidでは音声処理用のAPIはGoogleが提供する古いAudioflingerというフレームワークでプログラミングされていて、それを使用する限りは48kHz/16bitを超えることはできません。
これに対するひとつの解はサムスンが最近(2013/10)リリースしたSamsung Mobile SDKの一部のProfessional Audio SDKにあるようです。Samsung Mobile SDKとはそれまでばらばらだった開発環境をひとつに統合しようというものです。
Professional Audio SDKはその一部で、JACK2互換であるという特徴があります。JACKはLinuxで使われるオーディオAPIで、JACK2はJACKをマルチプロセッサ(マルチコア)対応にしたものです。
http://developer.samsung.com/samsung-mobile-sdk#professional-audio
またProfessional Audio SDKではプラグインもサポートします。 プラグインというのはたとえばピアノプラグインをシンセサイザープラグインをベースに作成してMIDIを送れるようにするというもののようです。これらはDTM対応ですね。
一般向けにあまり詳しい資料と言うのはないようですが、JACK2とALSAを使用してAndroid上でハイレゾ対応の信号経路を確保しているように思えます(Pulse Audioかもしれませんが)。おそらく最近のNote3やGalaxy JなどはこのSDKを使用しているのでしょう。これによってほぼLinuxと同等のオーディオ再生環境が得られると思います。
Professional Audio SDKはサムスンのMobile SDKの中ではPackage Type 2と呼ばれるもので、Android Frame Work内の実装も必要になっています。Androidのマルチメディアフレームワークとか、Audioflingerのインターフェースに手を加えているならば、一般のアプリでもProfessional Audioを使用できるようにも思います。またこのSDKとNDKを組み合わせてネイティブコードでもプログラムを実装することが可能なようです。
また、JACKはアプリ間のオーディオデータストリームのINとOUTを結合できるので、Appleのinter-app audio相当のこともAndroidでできると思います。MIDI対応と合わせてiPadの持つタブレットでのDTM市場をも狙っているのでしょう。
ただしこれらはいまのところサムソン機器に限られると思いますし、サムソンでもPackage Type 2のSDKについては適用機種は限定されています。
一番良いのはGoogleが提供する基本のコードでハイレゾ対応に改良されることですが、この辺はKitKatでもまだ変更がないように思えます。おそらくはUSBクラスドライバーのサポート(issue 24614)と合わせて5.0で変化があるのではないかと考えていますが、、
Music TO GO!
2013年11月15日
この記事へのトラックバック