症状の録画画面
iPodで音楽を再生した時、「パリパリ」や「パシッパシッ」といった、音割れ?雑音?まるでスパークが飛ぶような高音のノイズが発生することがあります。
このノイズの原因は、「PNS」と呼ばれる技術です。
PNSって何?
PNSは、Perceptual Noise Substitutionの略で、AACに導入されてる技術のうち一つです。日本語に翻訳すると「知覚的ノイズ置換」という意味で、比較的新しい技術のうち一つです。
PNSは、AACの符号化に使われる技術で、人間の聴覚特性を利用して、ノイズ成分を効率的に圧縮する方法です。通常、音声信号をデジタル化する際は、波長が復元できるように符号化を行いますが、PNSを有効にしている場合、信号のノイズ部分を符号化する代わりに、「ここにノイズがある」という「情報」だけを残し、その音楽を再生するときにその部分に人工的にノイズを生成することで、原音に極めて近い音声を再現させます。
この「ノイズ」というのは、特定の周波数帯域において、特徴的でパターンとはあってない音のことで、例えば静かな空間でいきなり拍手を打った場合、今までの波形とは異なる拍手の音が目立ってきましが、この目立つ部分のことを指しています。
しかし、この部分を考慮して全ての音声を符号化するより、この部分を排除し、ずっと静かな音声にしたほうが容量を効率化できます。しかし、それだとその拍手の音が音声に残りません。
そこで、PNSでは「拍手」が「どの時間」に、「どの周波数帯」に、「どれほどの大きさ」で入っているかを、符号化する代わりに「情報」として記録します。これで、AACの圧縮率がより向上し、原音を可能な限り維持しながらもより小さいファイルサイズが得られるんです。
上の画像でも、左側のバランスの取れた部分だけを記録し、右側の外れ値の場所と数値だけを記録したほうが効率的であるように、音声の圧縮においてもそれは同じなんです。
復元する際、細かな波形の違いが出ますが、人間の耳は細かい波形の違いが認識しにくいため、元の自然な音が復元できるわけですね。
では、なぜiPodでは問題が起きる?
今回の再現動画で使ったiPodはiPod 第5.5世代ですが、この問題は第1世代、第2世代、第3世代、第4世代、第4.5世代(iPod photoまたはiPod with color display)、第5世代(またはiPod video)、第5.5世代、第6世代(またはiPod classic)、第6.5世代(または第7世代)の、全てのiPodで再現されます。
この音源を使った際、iPodでパリパリといったスパークのようなノイズが発生する原因は、「iPodはPNSに対応していないため」なんです。
iPodは2001年〜2009年に発売したデバイスで、当時、MPEG-4コンテナやAAC音声コーデックには、PNS自体は導入されていました。しかし、当時は音楽をCDやiTunes Storeから購入する時代で、過去の音楽との互換性を考え、AAC-LC (AAC-Low Complexity)を優先的に採用していました。
しかし、2010年に入り、音楽は保存しておくものではなく、ストリーミングで聴くようになってきました。遅い3Gや4Gネットワークで音楽をスムーズに再生できるように、より低いビットレートで、より小さいサイズで音楽を配信する必要性が出てきたわけです。そこで、最も汎用的に使われているエンコーダの「ffmpeg」は、AACをエンコードする際、PNSを積極的に使用するようにしているわけです。
そこで今回の問題が発生するわけです。
PNSは、150kbps以下の低いビットレートにおいて圧縮効率が向上するなどの効果がありますが、iPodのような古いデバイスで再生するときは、このような不具合が生じるんです。
解決方法は?
この問題を修正するための方法は簡単です。PNSを使わなければOKなんです。
音楽をffmpegで変換している場合、以下のオプションを追加することで、PNSをオフにして変換することができます。-aac_pns 0
このオプションをつけて、問題が起きたファイルや、変換前の原本ファイルを再変換しましょう。
もし、Apple Musicでマッチした音楽なら、「ダウンロードを削除」した後、「ダウンロード」をし直しましょう。Apple Musicの「マッチ」では、マッチしたあとは原本の音楽ファイルをそのまま使いますが、そのファイルのオフライン版を削除し、オンラインからダウンロードし直した場合、Apple Musicのほうの音源で置き換えられます。マッチした曲なら、DRMもかかりません。
しかし、その後iPodと同期すると、音楽が「すでに入ってる」と判断され、PNSオフで再変換した音楽に置き換えられません。そこで、一度iPodから問題の音楽を同期の対象から削除し、再度同期する必要があります。
方法はいくつかあります。一度、ミュージックの同期をオフにして同期し、全ての音楽を削除した後、全ての曲を入れ直す方法や、問題のあった曲の「チェック」を外して同期対象がから外し、同期して削除した後、チェックを入れ直して音楽を入れ直すなど。
これで、PNSがオフになった状態の音源に置き換えられます。
もし、ffmpegを使ってないのにこの問題が起きてる場合、お使いのエンコーダプログラムでPNSを使うように設定されてるためこの問題が起きているんです。そこで、エンコードを「AAC」ではなく、「AAC-LC」に設定してエンコードしましょう。AAC-LCでは、PNSは基本使えません。そのため、AAC-LCで変換された音源は、iPodでこの問題が発生しないんです。
結論
今回は、オリジナルのiPodで静電気のようなパシッパシッというノイズが起きる原因について、そしてその解決法について解説させていただきました。
私自身も、この問題に悩まされていて、何時間もかけて検索や解決法を模索し、なんとかこの答えに辿り着きました。最初は、冬になったから静電気が原因なのかな、iPodにケースをつけてるから静電気が溜まって逃げられず、それがノイズとして入ってくるのかな。ならば、インピーダンスの大きいイヤホンを使えば解決されるのかな?と思い、300Ωのヘッドホンで再生してみたりしましたが、解決されたと思いきや、またこの問題が起きて、どの場面で問題が起きてどの場面で問題が起きないのかもわからずにいました。
そしてふと、ごく最近に入れた曲だけでこの問題が起きてることに気づき、最近、iTunes AACエンコーダの代わりにffmpegを使って音源をエンコードしていたことに気づき、この解決法に辿り着きました。
2024年の今、私以外にiPodを使ってる方がどれほどいらっしゃるかは不明ですが、この問題はiPodだけでなく、AAC PNSに対応していないがAACには対応している全ての古い音楽再生デバイスで再現できる問題なので、一人でも多くの人の役に立てばと思い記事を作成しました。
もし同じ問題に悩まされ、こちらのページの内容で問題が解決したよ!という方がいらっしゃれば、ぜひコメントを残してください。記事作成にすごく励みになります!