ソフトウェアの更新が入った時点で昔話になってしまうという旬の短い話題です。2023/10/11 時点の情報ですので、お読みになったタイミングによっては「過去の教訓」のような感覚でお受け取りください。
[2023/10/13 追記]
Amazon Music アプリ、バージョン 23.13.2 が配信されていたので更新しました。
このバージョンにしたところ、記載の現象は再現しなくなりました。
やはり旬は短かったです(笑)
掲題の日付時点で、いくつかの HiBy 製 DAP で 音楽を再生したら最大音量で鳴り始めた! という危険極まりない現象が発生しています。
結論からいいますと、直接的な引鉄は Amazon Music アプリです。内部の挙動としては、Android OS 固有のボリウム管理の仕組みと各 DAPメーカーが行っている Android OS へのパッチ、そして Amazon Music アプリが使用している API との関係性によるものが原因だと推定できます*1。
いやぁ、Amazon はほんとうに困ったものです。これがあるので、どの DAP メーカーも Amazon Music 対応とは言わないんですよね・・・。この件に限らず過去に何度も残念挙動が Amazon Music アプリでは生じています。やっぱりね、とか、またか等と思う方は少なくないでしょう。
それでは、現象を書いた後にお小言的な話という流れで記します。
「音量が勝手に最大」現象の再現手順
最初に申し上げたいのが「Amazon Music アプリを入れていない人には無関係な話」ということです*2。かくいう私も、ふだん購入した音源をメインで聴いているので、随分前から現象は発生していたが気付くのが遅れ今になったのかもしれません。
再現環境
現象の再現に使用した DAP はもちろん HiBy R6 Pro II です。再現確認に使うソフトウェアのバージョンを以下の画像に示します。
操作手順
前準備
いちど正常動作する状態に戻す必要があるため、Amazon Music アプリを殺しておきます。
画面下からのスワイプ操作や□ボタンタップでマルチタスク画面を表示し、Amazon Music アプリを終了しておきます。さらに、ホーム画面で Amazon Music アイコンを長押ししアプリ情報画面を呼び出し、強制停止を実行してバックグラウンド処理も止めます。
次の操作は不要なものですが、再現実験時の原因切り分けで可能性の選択を狭めたいという方は実施してください。全ての音量を 100 以外の数値にしておきます。
HiBy R6 Pro II の音量は以下の 5 つがあります。
- Line Out 4.4mm 用
- Line Out 3.5mm 用
- Phone Out 3.5mm 用
- Phone Out 4.4mm 用
- 最大音量制限用
これらの数値を全て 100 以外にします。最後の「最大音量」は設定画面のオーディオ設定のなかにあります。その他は、各端子にプラグを差したとき左上に表示される音量です。各端子の音量を別々に記憶しているわけです。便利です。よく出来てますね。但し、4つまとめて弄れる画面 UI は存在しないので、都度プラグを差して操作する必要があります。
なお、最大音量の制限値は全端子共通、端子ごとに変えることは出来ませんです。
これら 5 つを全て 100 以外にしておけば、音量が変わってしまったときに「最大になってしまったのか、別の端子の音量に変わってしまったのか」の区別がつきます。わたしは AK PA10 使用時に Line Out の音量を 100 にしているので、念のためにこの仕込みをしました。結論として、別の端子の音量を拾ったわけではなかったです。
最後に HiBy R6 Pro II を再起動します。再起動状態から実験をスタートしますので、まだアプリを起動しないでください。
これで準備完了。正常動作する状態に戻りました。
正常な状態から最大音量発生へ
まずは HiBy Music アプリで音楽を楽しんでみてください。3.5mm でも、4.4mm でも構いませんです。爆音が恐ろしい方は耳にイヤホンを入れないで再生し始めてください。何の問題もなく楽しめると思います。絶賛執筆中の私も、この状態で既にアルバム 2 枚聴いています。
次に、音量最大の現象を発生させます。危ないため、とりあえず耳からイヤホンを外します。HiBy Music アプリで再生している音楽も止めておきましょう。一時停止、アプリ終了の何れでも構いません。
ホーム画面の Amazon Music アイコンをタップしてアプリを起動します。起動だけ。音楽の再生は開始しないでください ! ※この時点で既に音量最大になってます! 機材や周囲の環境など音が出て大丈夫な方は試しに再生しても構いません。
上に貼った画面でも、そして実験していらっしゃるお手元の端末でも音量の数字は最大になっていないと思います。「音量が変わっていないじゃないか!」と突っ込まないでください。内部でコッソリ音量を変えられてしまっているので画面の更新がされていないだけです。本体の電源ボタンを押して画面を消し、また押して再表示してみてください。
この操作で画面が書き換わり、正しい音量が表示されます。
この通りです。実態が反映されました。
このように Amazon Music アプリが内部でコッソリと音量を変えてしまい、気づかずに音楽再生して爆死するわけです。画面をきちんと見ていても、変わった瞬間に気くことができません。このせいで私も凄いのを 1発喰らいました。
まぁ、ため息しか出ないです。
この現象の質の悪さ
この現象、たちが悪いことに設定した最大音量を突破します。突破するというと内部の挙動とちょっと違うでしょうか。HiBy 側でパッチをあてた音量関係の API よりも低いレイヤのもので変えられています。
Amazon さーん、何の API をコールして音量を弄ってますかー。全ての DAP メーカーが知りたがってますよー (苦笑)。
原因や対処法をざっくりと
他社さまの書いた雑なアプリをソースを見ることなく解析するという行為は、地面に穴を掘って埋める行為と何ら変わらない不毛なこと、限られた人生の時間の浪費*3なので、この時点で推察できる範囲のことをざっくりとだけ記しておきます。これ以上の解析はしません。
ソースを見ればすぐわかる Amazon のエンジニアと HiBy のエンジニアがどうすべきだったか考えればいいではないか、ということですね。
誰かが聴力を失ってからでは遅いです。Amazon に出来ることは、音量操作に関わる API の使用状況など最低限の情報を公開するか「DAP での Amazon Music アプリ使用は危険だから使うな」と周知するか。HiBy に出来ることは、こういった問題が発生することをもう前提として置いてしまって、全ての DAP 購入者が集い情報交換できるコミュニティを用意してしまうとか。利用者が「全て承知で使った。もう自己責任でしゃーないな。」と言える環境にしてしまえば、等々。HiBy 本体のほか代理店が取り組んでもいいでしょう。ほんとうに誰かが聴力を失ってからでは遅いです。明確に Amazon Music アプリを禁止してはいない状態ですから、これが原因で聴力失った方がアメリカで裁判起こしたら判決はどうなるのだろうかと思います。
引鉄は Amazon Music アブリの初期化処理
Amazon Music アブリを起動しただけで音量が最大になっています。また、この DAP を使い始めてそろそろ半年を迎えようとしていますが、この現象は10月に入って初めて喰らいました。
Amazon Music アブリの更新 (バージョンアップ) で、初期化に関する処理を変えたのでしょう。別の API を使うようにしたのか、それとも引数を増やしたのか等までは分かりません。コードを書いた人なら分かることですし、また同 API を使ったプログラミングを日常的にしている人なら「たぶんアレだな」と連想出来るのかと思います。
HiBy 側でバッチを当てていないサウンド関係のAPIがある
Android OS には音を鳴らす処理に関して複数種の API があります。様々な音楽再生アプリがありますが、どんな API の使い方や鳴らし方をするかはアプリの開発者次第のところがあります。OS を使わずに完全に自前でやるケースもありますし、自前と既存の API を組み合わせているケースもあります。HiBy はできるだけ多くのアプリで 192kHz にし、且つハードウェアでの音量操作ができるように頑張っていると思いますが、網羅できてはいなかったのでしょう。裏を返すと、HiBy のエンジニアが想定しえない奇妙な API 操作を Amazon Music 側でしているのかもしれません。
Amazon は我が道を行く。HiBy は直す。
確度の高い将来の想定。
Amazon は「知ったこっちゃない」というスタンスを取ります。これは、事業上の契約もしていない会社の DAP の挙動がどうなろうと Amazon には関係ないことなので当然といえます。数年前のこと、Amazon Music への対応を謳っている DENON の Heos でさえ、予告なく仕様が変わる Amazon Music の API に振り回されてお客様から「聴けなくなったやんけ、Amazon Music 対応はどうなっとんねん ! 」という厳しい叱咤を受けていました。お客様と Amazon との板挟みになった DENON は見るからに悲惨そうでした。故に、契約していない企業の DAP など眼中にないでしょう。その DAP を Amazon で販売していても、です。
現時点の Amazon は既に生まれ変わっていて違うのかもしれません。Sony が LDAC の仕様を公開し「業界全てで盛り上がりましょう」というスタンスを取っているように、Amazon という企業のスタンスが当時と変わっていてもおかしくありません。しかし、少なくとも私はまだ Amazon が変わったと見聞きしたり実感したりしていないです。変わっていたらどんなに素敵だろうとは思いますが。
HiBy は直します。Android DAP を製造、販売している会社にとって重要な対応のひとつです。また、「アップデートする Amazon Music アプリに対し頑張って追従する」という対応はいま始まったことではなく、今までの繰り返しに過ぎません。問題になるのは「(今回の対応が技術的に)可能か否か」と「手間が大変か否か」だけでしょう。大変で時間がかかってもやると思います。ユーザーは気長に待つことになるのでしょう。
ユーザーがいまできる対処法
大切な耳やイヤホンをダメにしないために、ユーザーが今できる対処法を挙げてみます。
Amazon Music アプリを使わない
確実なのは使わないことです。アンインストールするか、操作手順→前準備に書いた方法でアプリを殺しておけばよいでしょう。
Amazon Music アプリをバージョンダウンする
Google Play ストアでない他のアプリ配信サイトには、過去のバージョンを配信しているところもあります。特に中国系のアプリ配信サイトには多いです。お勧めはしませんが、そういったサイト*4で過去のバージョンの Amazon Music アプリを入手するのは一つの手だと思います。
まめに音量を確認する、は危なそう
「Amazon Music アブリ起動直後に音量が最大になるのだから、アプリ起動直後に上がった音量を下げればいいのでは? 」と考えるのは自然です。しかし、お勧めはできないです。Amazon Music アブリ起動直後に音量が最大になることは再現確認までしていますが、他の遷移での発生状況を調査・検証していないからです。アルバム1枚聴いたあとで次のアルバム選択したときに初期化が走るかどうかとか、プレイリスト中で曲のサンプリングレートが変わったときに初期化が走らないかとか、Sleep からの復帰では初期化が走らないかなど「起動時以外のタイミング入る初期化」で音量変化が発生する可能性は潰していません。発生する現象が最大音量になるという危険なもの故に、リスクが高すぎると思います。
お小言的なこと
このブログの読者の方でしたら、上記の諸々全てが「想定内」なんですよね。
過去の記事に書いた通り。これが Amazon Music というサービスの質ですし、Android という OS の出来ですし、Android DAP の限界というものなんです。ほんと、ダメなんです。Android の 14 でロスレスに対応したようなので将来的に改善する望みは出てきていますが、現状は以下の記事の通りです。
そして、DAP 各社が行っている OS へのパッチは、ビットパーフェクトで流すことではなく最大音量・最大周波数への変換ですから、そのまま最大音量でアナログにして流してしまい耳を破壊する事故へのリスクをゼロにすることができません。限りなくゼロになるよう各 DAP メーカーが努力しているので、我々がそのことを忘れてしまっているだけです。いや、そのリスクをメーカーはあまり説明せず、また知らずに聴いているユーザーが大半なのが実態ともいえます。Android OS で高音質を目指した際の音量処理については、こちらの記事に詳しいです。
ゼロベースで設計した建物と増改築で歪になった建物とに例えると、パッチを当てた OS は増改築で歪になった建物です。Amazon 側から見るとパッチの当たった DAP は"違法"建築物ともいえ、サポートなど爪の先も考えていないのかも知れないです。違法だろ、最大音量で耳が壊れても俺は知らんがなと。
書いていて悲しくなります。ハイレゾ配信をしている一方でユーザーに高音質で聴いてもらうことを、はなっからスポイルしているわけになってしまいますから。
前項で書いた対処法とは根本的な質が異なりますが、Amazon Music を聴くにはこれもお勧めします。追加投資が必要ですがリスクゼロの健全な状態にできます。
↓ R6 Pro II 側の音量を 100 にするのが基本なので耳の心配無用。
↓ ビットパーフェクトで手軽に聴くなら Android DAP よりこちら
*1:OSへのパッチ部分とAmazon Music アプリのソースを見ないと断定できませんので"推定"とさせてください
*2:もしかしたら私の知らない他のアプリでも同じ不具合を入れているものがあるのかもしれませんが、その可能性は極めて低いでしょう
*3:業務として必要且つそれしか手段がない状況なら別ですが、勉強にもならず趣味として楽しめもしない行為です
*4: APKPure 等が有名です。私は Google Play ストアからしかインストールしないようにしていますので、お勧めはできませんです。