Androidの音楽再生アプリ

作成日:2019/08/18 更新日:2023/07/29

BMW and more(デジタル)のインデックスページ
Mastodon(お一人様インスタンス)

人気ブログランキング

ブログランキング・にほんブログ村へにほんブログ村

PVアクセスランキング にほんブログ村

Androidの48kHz問題を回避する必要がある

Androidの音楽再生アプリをいくつか調べてみたので各アプリの特徴など。まず、その前に

という前提での話。デジタル音源を聴く場合、エフェクト無しでのアプリからの出力は全部同じになるので実は使い勝手だけで選んでも問題はなかったりする。ただ1点注意が必要なポイントがあってAndroidのOSにリサンプルをさせてはいけないということ。非ハイレゾ端末(かAndroid7以前)の場合、アプリの出力が48kHz以外だとOSは48kHzにリサンプルするのだがOSにリサンプルをさせると16kHzくらいから上がカットされてしまう。さすがに16kHzでカットされると若い人にはわかってしまうのではないだろうか。方法としてはアプリで48kHz(96kHzも大丈夫だったかな?)にリサンプルするかAndroid8以降の端末でAAudioのAPIを利用可能なアプリを使用する。もっとも16kHzでのカットの話を除けばサンプリング周波数が44.1kHzだろうが96kHzだろうが違いはわからずそれよりもイヤホンやイコライザーの設定の方が音に対する影響は全然大きい。また、ハイレゾに拘るより聴きたい曲を聴く方が楽しい。クラシックがハイレゾ向きだからといって年中クラシックを聴きたいか(クラッシックファンの方、ゴメンナサイ)?あとOpenSL ESは音質に関しては何ら寄与しない模様。OpenSL ESの出力がOSのリサンプラーに取り込まれる。あくまでもレイテンシの向上。ということでその辺りを中心に。

(2022/03/06追記)AQUOS wish+Powerampのハイレゾ出力で苦労したついでに少し情報が増えた。AAudioをしようしていればハイレゾというわけでもなくAAudio+MMAPという構成でハイレゾになるようである。AAudio自体はOpen SL ESの代替となるAPIでこれもレイテンシに効く。MMAPがサポートされるとAudioFlinger(この中にSRC、すなわちリサンプラーがいる)を回避するらしい。AAudio と MMAP  |  Android オープンソース プロジェクト  |  Android Open Source Projectあたりに公式の情報がある。

Play Music(標準プレイヤー)

foobar2000(無償)

Onkyo HF Player(無償利用)

Poweramp(有償?)

Neutron Music Player(有償)

こうしてみるとどこかのテストでPlay Musicの評価が高かったのもわかる。Play Musicはきっちり上限まで再生出来ていてその他のアプリが上限カットされていたらそういう評価にもなる。自分としては昔から使っていたfoobar2000にするかNeutron Music PlayerにするかだがソースのままDACにいれられるということでNeutron Music Playerかな?DACに入れる前にサンプリングレートをできるだけ高くした方がいいという説もありその理由も納得出来るものではあったが。どちらにしても違いはわからないだろうしそれならばなるべく加工の少ない方で。

AndroidのSRCとfoobar2000のリサンプラー

(2023/07/29追記)そもそもSRCって何の略?と思ったら「サンプリングレートコンバーター」らしい。で、これがこの記事を最初に書いた頃は16kHz位でカットされていたが最近では16kHzでカットされるという事もなく20kHzまでは出ているようである。そうなるとアプリで48kHzにリサンプリングするのとSRCに任せるのはどちらがいい?という話になってくる。そもそもリサンプリングを回避できればそれに越したことはないだろうがそこはそこでまたいろいろ問題が出てくるので。ということでXperia 10 IVとAQUOS sense6で試してみた。結果、THD+Nの値で見るとXperia 10 IVだとOSに任せた方がよくAQUOS sense6だとfoobar2000のリサンプラーの方がよかった。とはいえ僅かな差なのでおそらく聴き分けは出来ないだろう。周波数特性のグラフと違ってこのあたりは正確に計測出来ているか怪しいしTHD+Nが全てでもないのであくまで参考程度。それでも昔と違って今は20kHzに拘らなければあまり気にしてもしかたないという感じか。20kHzはそもそも聞こえないしハイパーソニック・エフェクトもイヤホンでは無意味なはずなので。なお96kHzの音源を使用した場合、SRCは20kHzで頭打ちだがfoobar2000で48kHzにリサンプリングした場合は22kHzまで出力される。まあここも20kHz超なのでそれほど拘っても意味が薄いかな。