「昔取り込んだMP3を、もう少し良い音で聴きたい」。そう思って「MP3 高音質化」と検索すると、変換ソフトやアプリがたくさん出てきます。でも、その多くが何をしているのか、そして何ができないのかは、あまり説明されていません。

この記事では、MP3やAACの音質が何で決まるのか、失われた音は取り戻せるのか、「高音質化」と呼ばれる処理は実際に何をしているのかを、仕組みから整理します。

📌 先に結論
① 非可逆圧縮で捨てられた情報は、後からは戻りません。再エンコードやアップサンプリングでは増えません
② 「高音質化」「帯域拡張」と呼ばれる処理は、残っている音から失われた帯域を推定して足す生成処理です。復元ではありません
③ それでも聴こえ方は変わります。判断するには、原音と同じ音量で切り替えて聴き比べるのがいちばん確実です

MP3の音質は何で決まるのか

MP3やAACは非可逆圧縮です。人の耳に聞こえにくい成分を、心理音響モデルに基づいて捨てることでファイルを小さくします。捨て方の「量」を決めるのがビットレートで、数値が小さいほど多くの情報が捨てられます。

捨てられる情報は大きく2種類あります。

  • 高域のカット:エンコーダーは、ビットレートが低いほど高い周波数をばっさり切り落とします(ローパスフィルタ)。限られたビットを、聴こえやすい中低域に回すためです
  • 細かな成分の量子化:残した帯域の中でも、大きな音に隠れて聴こえにくい成分は粗く量子化されます。ビットレートが低いと、シンバルやリバーブの尾が「シュワシュワ」した音になるのはこのためです

ローパスの位置はエンコーダーと設定によって変わりますが、おおよその目安は次のとおりです。

ビットレート(MP3)ローパスの目安聴こえ方の傾向
96kbps約15kHz高域の空気感が明らかに減り、シンバルがにじむ
128kbps約16〜17kHz多くの人が「普通」と感じるが、原音と比べると高域が薄い
192kbps約18〜19kHz注意して聴かないと差が分かりにくい
320kbps約19〜20kHz多くの音源で、ロスレスとの差を聴き分けるのが難しい

AACはMP3より効率が良く、同じビットレートならより高い周波数まで残る傾向がありますが、低ビットレートでは同様に高域が切られます。数値はエンコーダーのバージョンや設定で変わるので、あくまで目安と考えてください。

自分のファイルの「カットオフ」を確かめる方法

音楽ファイルの高域がどこで切れているかは、スペクトラム表示で確認できます。周波数を横軸(または縦軸)にした表示で、ある周波数から上がすっぱりと無くなっていれば、そこがエンコーダーのローパス位置です。

確認するときのコツは3つです。

  1. シンバルや歌の子音が鳴っている部分で見る。静かなパートや低音だけの部分では、もともと高域が少ないので判断できません
  2. 拡張子ではなく中身で判断する。MP3から変換したFLACやWAVは、拡張子がロスレスでも高域は切れたままです
  3. 時間で変わることを知っておく。可変ビットレート(VBR)のファイルでは、パートによってカット位置が動くことがあります

Aurescaleのようにスペクトラム表示を備えたプレイヤーなら、再生しながらこれを見られます。Aurescaleはこの「カット位置」を、信頼できるフレームだけを使って直近数秒の統計から自動で推定し、その上の帯域を補完の対象にしています。

失われた音は取り戻せるのか

取り戻せません。これは仕組みの話です。

エンコーダーが16kHzより上を切り落としたなら、その帯域にあった音は、ファイルの中にもう存在しません。あとから何をしても、その「元の音」は出てきません。

よくある誤解を3つ挙げます。

  • 高いビットレートで再エンコードする:128kbpsのMP3を320kbpsに変換しても、元のファイルにない情報は生まれません。再エンコードによる劣化がわずかに加わるだけです
  • ハイレゾのサンプルレート・ビット深度に変換する:44.1kHz/16bitを96kHz/24bitにしても、増えるのは「入れ物」だけです。中身の情報は変わりません
  • ロスレス形式に変換する:MP3をFLACにすると、MP3の音がそのまま正確に保存されるだけです。「ロスレス」は変換以降で劣化しないという意味で、元に戻るという意味ではありません

では「高音質化」は何をしているのか

音を良くすると称する処理は、大きく3種類に分けられます。それぞれ、できること・できないことが異なります。

1. EQ・エンハンサーによる「強調」

残っている帯域の量を変える処理です。高域を持ち上げれば明るく聴こえ、低域を持ち上げれば厚く聴こえます。失われた帯域を作ることはできませんが、残っている音のバランスを自分の好みや再生環境に合わせるには、もっとも確実で分かりやすい方法です。

注意点は、持ち上げた分だけピークが大きくなり、クリップ(音割れ)しやすくなることです。ブーストするならヘッドルーム(余裕)を確保する必要があります。

2. 帯域拡張(バンドワイズエクステンション)による「推定生成」

カットオフより上の帯域を、下の帯域の情報から推定して生成する処理です。音楽の高域は、その下の帯域と無関係ではありません。倍音構造や、周波数が上がるにつれてエネルギーが減っていく傾き(スペクトル包絡)には、ある程度の規則性があります。その規則性をもとに「たぶんこのくらいの成分があっただろう」という高域を作って足します。

作り方には、大きく2つの流派があります。

  • 決定論的な信号処理:カットオフ直下の帯域をスペクトル上で上にコピーし、測定した傾きに合わせて包絡を外挿する。倍音生成(エキサイター)で整数倍音を加える方法もこの仲間です。何をしているかが明確で、計算量が少なく、端末内でリアルタイムに動きます
  • 機械学習モデル:大量の音楽データで学習したモデルが高域を生成する。近年の研究では生成モデル(拡散モデルやフローマッチング)を使ったものが報告されており、より「それらしい」高域を作れる可能性がありますが、計算量・消費電力・学習データの偏りという課題があります

どちらの方法でも、生成された高域は推定です。元の音とは違います。聴こえ方が良くなることはありますが、音源によっては不自然に感じることもあります。だからこそ、効果を判断する手段が必要です。

3. アップサンプリング・高ビット深度化による「入れ物の拡大」

サンプルレートを上げる処理は、それ自体では音質を上げません。ただし、次の2つの場面では意味があります。

  • 加工の前段として:EQや帯域拡張を高いサンプルレートで行うと、生成できる帯域の上限が広がり、処理による折り返し(エイリアシング)が減ります
  • 加工後の保存として:処理した音を、処理の精度を落とさずに保存できます。32bit floatで書き出せばディザも不要です

「ハイレゾに変換すれば音が良くなる」のではなく、「処理をするなら高い精度でやったほうがよく、その結果を保存するなら入れ物も合わせる」という順番です。

「良くなった」をどう判断するか

推定生成である以上、良し悪しは最終的に聴く人が決めることになります。判断を確かにするためのポイントを挙げます。

  • 音量を揃える:人は大きい音を良い音だと感じます。処理のオン/オフで音量が変わるなら、揃えてから比べてください
  • すぐに切り替える:数秒以上あいだが空くと、耳の記憶は驚くほど曖昧になります。ワンタップで切り替えられる環境で比べるのが理想です
  • いつもの再生環境で:ヘッドホンやスピーカーによって、高域の出方はまったく違います。効果はその環境で判断してください
  • 「復元」と書いてあるものは疑う:仕組み上できないことを謳っている時点で、ほかの説明も信用しにくくなります

私たちが開発したAurescaleは、この考え方をそのまま設計に反映した音楽プレイヤーです。高域補完は「推定生成であって復元ではない」と画面に明示し、「高音質化」と「原音」をワンタップで切り替えられます。推定量と倍音の種類は自分で調整でき、10バンドのEQには自動ヘッドルームを備え、整えた音は再生と同じ処理チェーンでWAV・AIFFに書き出せます。設計の背景はAurescaleのリリース記事に詳しく書きました。

まとめ

やりたいことできるか方法
捨てられた高域を元に戻すできない
残っている帯域のバランスを整えるできるEQ(ヘッドルームに注意)
高域の「それらしい」成分を足すできる(推定)帯域拡張・倍音生成。原音と比較して判断する
加工した音を劣化なく保存するできる高精度で処理し、WAV/AIFF(24bitや32bit float)で書き出す
変換だけで音源にない情報を増やすできない

MP3の音質を「後から良くする」ことはできませんが、「後から整える」ことはできます。何が失われていて、何ができて、何ができないかを知ったうえで、自分の耳で確かめながら使うのが、いちばん納得のいく方法です。

AurescaleをApp Storeで見る(無料)