AM-AFSを開発しました(Amazon Musicユーザー向けWindows設定自動変更アプリ)

概要

AM-AFS (Amazon Music – Audio Format Switcher)は、Amazon Musicユーザーのためのアプリケーションです。Amazon Musicで再生中の曲に合わせて、Windowsのオーディオデバイス設定を自動で変更することにより、音質向上を目指します。

更新履歴

2023/04/27 v1.0.0
アプリケーションをリリースしました。

動作環境

Windows 7 SP1 以降のOS
できるだけ最新のバージョンへのアップデートをお願いします。

.NET 6.0 デスクトップランタイムのインストール
アプリケーションを起動するために必要な要素が含まれています。

Windowsのサウンド設定で出力形式を変更できる再生デバイス
別のソフトウェアが必要な場合、このアプリケーションでは変更できません。

最新版のAmazon Music
古いバージョンでは正しく連携できない可能性があります。

※自動変更機能を使用するためには、さらに以下の条件が必要です。
・Amazon Music Unlimitedに加入していること
・HD/Hi-Res音質で再生する設定にしていること
・Amazon Musicのウィンドウがアクティブな状態であること(アプリ画面のどこかをクリックした状態)

インストール

1. アプリケーションを動作させるのに必要なソフトウェアの導入
Microsoft公式サイトから.NET デスクトップ ランタイムをダウンロードし、インストールしてください。リンク先ページを少し下にスクロールすると右側にありますので、ご使用のコンピューターのCPUに応じて適切なものを選択します。後ろの数字については、6で始まっていれば問題ありません。

2. AM-AFSの導入
配布ページにてダウンロードしてください。リンク先のページ右側にある「Release」セクションの「v1.0.0 (Latest)」をクリックします。移動先のページ下部に「Assets」セクションがありますので、「AM-AFS_v1.0.0.zip」をクリックしてダウンロードしてください。次に、そのファイルをお好みの場所に移動・解凍し、保管してください。zipファイルはその後削除することも可能です。

アンインストール

1. AM-AFSの削除
AM-AFSを実行している場合は終了し、アプリケーションを含むフォルダを削除してください。

2. .NETデスクトップランタイムの削除(任意)
他に.NET Core 6を使用するアプリケーションがなければ、.NETデスクトップランタイムも削除できます。Windowsのアンインストール機能を使用してください。

使い方

AM-AFSを起動し、自動変更機能をオンにします。詳しい手順は readme.txt(説明書)をご確認ください。

仕組み

Amazon MusicやWindowsの仕様に関しては独自の調査に基づいており、正確性を保証できないことをご了承ください。

AM-AFSは、Amazon Musicのログを定期的に読み取り、ビット深度やサンプリングレートなどの音声情報を取得しています。これは、Amazon Musicが曲の再生中に、楽曲の形式、Windowsに送るデータ形式、再生デバイスへの出力形式に関する情報をログファイルに記録していることを利用します。これらの情報をもとに、アプリケーションの動作を決定しています。

デバイスへの出力設定を変更するべきと判定した場合、Windowsにコマンドを送信して自動的に変更します。出力設定を変更する目的は、不要なオーディオ処理を避けるためです。Amazon Musicの音声データは、Windowsのオーディオエンジンを経由して再生デバイスに送信されます。推測ですが、ここでデータ形式と出力設定が一致しない場合、Windowsの変換処理により聞こえる音が変化してしまいます。この問題を解決するため、AM-AFSはAmazon Musicの音声情報をもとに、適切な出力設定に変更します。通常はWindowsの設定アプリから手動で変更する必要がありますが、Nir Soferさんのソフトウェアを組み合わせて自動化しています。

AM-AFSはハイレゾ楽曲にも対応していますが、処理はやや複雑です。まず、アップロードされた楽曲本来の形式を確認し、それに合わせて出力設定を自動変更します。これにより、Amazon Musicはハイレゾ再生が可能な環境であると判定し、ハイレゾ形式のデータをWindowsに送るようになります。ただし、すでに再生中の楽曲の形式は曲が終わるまで維持しようとする仕様となっているため、出力設定の変更を反映させるためには、曲をリスタートするか、シークバーを操作する必要があります。通常はこれを手動で行う必要がありますが、AM-AFSはAmazon Musicのショートカットキー(左矢印)を入力することで、曲のリスタートを自動化しています。なお、この動作を実行するためには、Amazon Musicのウィンドウをアクティブ表示させておくことが必要です。

dpeaklimとの連携について

dpeaklim(Disable Peak Limiter in Windows Audio Engine)は、川本優さんが開発したアプリケーションで、Windowsオーディオエンジンのピークリミッター機能を制限します。これにより音声データの変化を避け、いわゆるビットパーフェクト出力を目指すことができます。Amazon Musicのストリーミング再生にも効果があるといわれ、実際に使用しているユーザーからの評価も高いようです。

ただし、AM-AFSを使ってデバイス出力形式を変更すると、音質が低下する可能性があります。これは、dpeaklimをそのまま実行すると、その時点の出力形式に対してのみ効果があるからです。この場合、AM-AFSを使用せずにデバイスの出力形式を固定したほうが音が良いかもしれません。

この問題を解決するためには、コマンドラインで「-to:-1」という引数を指定してdpeaklimを実行してください。これにより、出力形式を変更した後でもピークリミッターが無効のままになり、音質の維持に期待できます。具体的な手順については、dpeaklimの使用方法を参照してください。

既知の問題

現在のバージョンには以下の問題があります。今後のアップデートで一部は改善されるかもしれません。

・機能のON/OFFが保存されない
・標準音質で再生すると、デバイス設定の変更が頻繁に発生する
・排他モードが設定変更のたびにオフになってしまう
・ハイレゾ形式に切り替える場合、設定を反映させるために曲を再スタートさせる必要がある

ライセンス

このアプリケーションは無料で公開されていますが、著作権は保持されています。
日本の法令に従ってご自由にお使いください。

フィードバック

不具合、ご提案、ご意見などございましたら、お問い合わせからお気軽にご連絡ください。アプリの改善に向けて、ぜひご協力をお願いいたします。なお、ご要望はすべて大切に受け止めさせていただきますが、時間的または技術的な要因により実装が困難な場合がございます。あらかじめご理解いただけますと幸いです。