見出し画像

Windows 11 22H2 以降 + Rekordboxの音量バグ問題に対応した話

0. はじめに

※ 4/1追記
この問題は KB5035942 (2024年3月27日) にて修正されようです!

こちらは適用必須では無いため、自分でアップデートを掛けていなければインストールされていないかも知れません
(参考:最新の Windows Update を入手する - Microsoft サポート
こちらを取り込んだWindows Updateは2024年4月には配信される予定とのことで、自動更新を止めてなければそのタイミングで全てのPCにインストールされると思われます


自作のスクリプトとffmpegを使ってiTunesのM4Aファイルを再変換し、Windows 11 23H2 環境で問題なくRekordboxを使えるようにした話です

一般の方にはあまり参考にならないかも知れませんが、誰かの助けになることもあるかと思い記録を残しておきます

前提知識が多くて全部丁寧に説明するのは難しいので、ある程度PCの知識がある方向けです
ffmpeg??? コマンドプロンプトってあの黒くてもぞもぞした!? という方は、この記事を詳しい方に読んでもらい助けを求めるのがいいと思います


1. どういう現象か

簡単に言えば、
「Windows 11 22H2 以降でiTunesのM4A(AAC)ファイル再生時に音量がおかしくなるバグ」
です
23H2でも未解決でした

Yutayukiさんの次の記事が分かりやすいです

Rekordboxユーザーからの報告が多いですが、Windows Media Player、Serato DJ Pro、Studio Oneなどでも報告されています
(参考:Windows 11 M4A file issues. (Which are not getting fixed so please help!) : r/DJs

どうもWindows組み込みの機能でiTunesのM4Aファイルを読み込むときに問題が起きているようです
VLCなどの独自方式で読み込むタイプのソフトでは問題は起きていません

2. 対処方法

2-1. Windowsのダウングレード

Windows 11 22H2 より前のバージョンならなんでも良さそうです
Windows 10 からアップグレードしたところであれば、10日以内なら元に戻せるのでそれが簡単でしょう

賢明にもリカバリーディスクなどを作った上でアップグレードされていたのならそれを使えば問題ないです

2-2. M4Aファイルを再変換する

iTunesのM4Aファイルだけが問題で、MP3やWAVやFLACなどの他のフォーマットはもちろん、別のツールで変換したM4Aファイルも全く問題ありません

しかも検証したところ、レコボを起動してない状態で何食わぬ顔でiTunes M4Aを別ツールで変換したM4Aに差し替えると、CUEやDJプレイ回数などのメタデータも含めて 全ての情報が残ったまま何事もなく使えました(!)

これまでに打ったCUEやセトリは私の宝物です
可能な限り維持したい…!

M4A→M4Aの再変換は音質劣化の恐れなどもありましたが、この方法を取ることにしました

※再エンコードせず中身をコピー(`ffmpeg -y -i <input> -c:a copy <output>`でトランポリン)は試したけどダメでした(12/20追記)


3. 具体的にやったこと

  1. iTunesのファイルを全てバックアップする
    (レコボのCloud Library SyncユーザーはDropboxも同様です)

  2. 自作のスクリプトとffmpegで全てのM4AファイルをM4Aに再変換して上書きする

ffmpeg変換部

私の場合、重複も込みで約24000曲、約220GBのファイルがありました

バックアップはM.2 SSD内で行ったので数分でしたが、変換は4~8プロセス動かして合計約9時間掛かりました
(単純計算、10000曲を1プロセス30倍速エンコードで約22時間です)

今回私が使ったスクリプトは一応 GitHub に置いておきます

「対象フォルダ」と「作業フォルダ」を指定して実行します
何度かに分けて使う場合は「変換対象とする最終更新日の閾値」も気にするといいでしょう
なお問答無用で上書きしていくので バックアップ必須 です

複数動かしたい場合は shuffle の行のコメントアウトを外すといいでしょう
雑な排他処理ですが私の環境では8プロセスでも問題なく動きました

8個起動

終了時にテンポラリフォルダに放置されたファイルは、9割方がiTunes名物の何故か最初から壊れてるM4Aファイルです
ファイル名で検索して元ファイルが壊れていることを確認したらiTunesからダウンロードし直しましょう(そしてまた再変換…笑)

4. おわりに

だいぶ力業ですが Windows 11 をどうしても使いたい場合はこの方法が一番手っ取り早いかと思います

2023年12月現在、23H2でも未解決でしたので、もうしばらくはこの方法が有効でしょう

どなたかのご参考になれば幸いです

しかしiTunesで曲が買えないの困りますね……
DJ中にお客さんの話題に出た曲を即買って掛けるのはiTunesが最速だったので有り難かったのですが……


5. おまけ

5-1. 再変換の音質について

音質についてですが、再変換ですし、codecもCoreAudioやlibfdk_aacではなくffmpeg備え付けのAACなのでちょっと不安という方もいるかと思います

こちらのサイトが詳しいのですが、twoloopを入れた320Kbps ffmpeg AACはlibfdk_aacやCoreAudioと比べても遜色ない成績なので、普通の人では区別が付かないレベルだと思います
(少なくとも私はブラインドでは分かりませんでした)

私としては、仮に自分で分かるレベルの音質劣化があっても、これまでのM4Aファイルを全部破棄することにより過去のセトリや演奏履歴、CUEが吹っ飛ぶ方が何十倍もダメージが大きいと思いこのようにしましたが、少なくとも自分では区別が付かない程度の劣化で済んだので良かったです😇

5-2. iTunesでの買い方

普通に買うとこれまでの通り音がおかしくなるM4Aファイルになります
なので、購入即MP3にすると問題なく利用できます

①まず購入した曲を「ライブラリ→曲→購入日で並べ替え」として選択しやすくします

①購入日で並べ替え

②次に購入した曲をまとめて選択し「ファイル→変換→MP3バージョンを作成」としてMP3に一括変換します

②MP3に変換

③まとめて選択した状態で右クリックし「ダウンロードしたものを削除」するとM4Aファイルだけ削除してくれます

③ダウンロードしたものを削除

④あとはいつも通りRekordboxでiTunesファイルをReloadすると、MP3ファイルだけ取り込める状態になっています

④レコボで取り込み

なおこの方法で過去のM4AファイルをまとめてMP3に変換は出来るとは思いますが、先の通り別ファイル扱いになるため、CUEやセトリ情報などは全部吹っ飛びます…


6. 更新履歴

  • 2024/04/01:3/27配信のKB5035942にて修正された件を冒頭に追加

  • 2024/03/04:Windows11 24H2で治るらしい件を追加

  • 2024/02/25:「5-2. iTunesでの曲の買い方」を追加

  • 2023/12/20:再エンコードせず中身コピーの場合はダメだったことを追加

  • 2023/12/9:書きました


この記事が気に入ったらサポートをしてみませんか?