音づくりのしくみ
CarDSPMusicPlayer が、イコライザーやベース/トレブルで音をどう変えているのかを、グラフで説明します。 グラフはすべて、アプリの中で実際に使っている計算式でその場で描いています。スライダーを動かして、音の変化を確かめてみてください。
このページの内容は iPhone版・Android版に共通です。各版だけにある機能(iPhone版の車内音響補正、Android版の音量の均一化・無音トリムなど)は、それぞれのサポートページをご覧ください。
1全体の流れ
曲のデータは、スピーカーやイヤホンに届くまでに、次の順番で加工されます。
- 曲のデータ
- 28バンドイコライザー28か所の音の高さを、それぞれ上げ下げ
- ベース/トレブル低音全体・高音全体をまとめて上げ下げ
- オートトリム上げすぎたとき、全体の音量を自動で少し下げる
- リミッター最後の安全装置。音割れの手前で頭を押さえる(常に動作)
- スピーカー/イヤホン
イコライザーをオフにすると、イコライザー・ベース/トレブル・オートトリムはまとめて通らなくなります。リミッターは常に働きます。 iPhone版は、入口で常に音量を 6dB 下げて余裕(ヘッドルーム)を作ってから処理します。
2音の高さと「周波数」
音は空気のふるえです。1秒間にふるえる回数を周波数(Hz, ヘルツ)と呼び、回数が少ないほど低い音、多いほど高い音になります。 人の耳に聞こえるのは、だいたい 20Hz〜20,000Hz(20kHz)です。
周波数は2倍になると1オクターブ上がります(ピアノの「ド」から次の「ド」)。そのため、このページのグラフの横軸は、等間隔ではなく「倍々」に並べています。
3「分けて」いるのではなく「重ねて」いる
イコライザーと聞くと、音を28個に切り分けて、それぞれの音量を変えてから混ぜ直す仕組みを想像するかもしれません。 カーオーディオのチャンネルデバイダー(クロスオーバー)は、実際にそうやって低音をウーファーへ、高音をツイーターへ分けて送ります。
このアプリのイコライザーは、音を分けずに、1本の流れのまま、28枚のフィルターを順番に通しています。 1枚1枚は自分の担当の高さのあたりだけを変え、それ以外はほとんどそのまま通します。色の付いた透明な下敷きを28枚重ねて光を通すようなイメージです。
- 混ぜ直すときの「つなぎ目」のズレ(位相のずれや、境目の音のへこみ)が起きにくい
- 全部を 0dB(Flat)にすると、フィルターは何もしないのと同じになり、元の音がそのまま出る
41枚のフィルターは「ベル型」
28枚のフィルターは、どれもベル(釣り鐘)型です(専門的にはピーキングフィルター)。 担当の周波数(中心)が一番大きく変わり、そこから離れるほど、なだらかに元の 0dB に戻ります。 上げる(ブースト)と山、下げる(カット)と谷になります。
このバンドだけを動かしたときの、周波数ごとの変化量です。ベルの幅(Q)は全バンド共通で 4.3。1バンドで動かせる範囲は ±8.5dB です。
数値で見る
528枚のベルを重ねる
28バンドは、31.5Hz から 16kHz まで1/3オクターブごと(1オクターブに3つずつ)に並んでいます。 隣どうしのベルは裾が重なり合う幅なので、28枚を重ねると、全体として1本のつながったカーブになります。
細い線が28枚それぞれのベル、太い線がそれを全部重ねた結果です。例のカーブは説明用で、アプリのプリセットとは違います。
よく見ると、重ねた結果には細かな波が残ります。ベルとベルの間が少しへこみ、隣どうしの裾が足し合わさるためです。 たとえば全バンドを +3dB にすると、実際は +3.8〜+4.9dB ほどになります(波の幅は約1dB)。1枚ごとの細かさを優先した設計による、正常な特性です。
数値で見る
6ベース/トレブルは「棚型」
ベースとトレブルは、ベル型ではなく棚(シェルフ)型です。ある周波数を境に、そこから先を丸ごとまとめて上げ下げします。 昔のアンプの「BASS」「TREBLE」つまみと同じ考え方です。 28バンドで細かい形を作り、ベース/トレブルで全体の傾きを大まかに決める、という使い分けになります。
ベースは 150Hz より下、トレブルは 4kHz より上を、平らな棚のように持ち上げ(下げ)ます。範囲はどちらも ±8.5dB。28バンドと同時に使うと、効果は足し算になります。
数値で見る
7「dB(デシベル)」の感覚
音量の変化は dB で表します。足し算で考えられて便利ですが、実際の大きさは「倍」で変わります。
| 変化 | 波の振れ幅 | 耳で感じる大きさ(目安) |
|---|---|---|
| +1dB | 約1.12倍 | ほとんど分からない |
| +3dB | 約1.4倍 | 少し大きくなった |
| +6dB | 約2倍 | はっきり大きくなった |
| +8.5dB | 約2.7倍 | かなり大きい(1バンドの上限) |
| +10dB | 約3.2倍 | 2倍くらいうるさく感じる |
| −6dB | 約0.5倍 | はっきり小さくなった |
8上げすぎを自動で防ぐ「オートトリム」
デジタルの音には「これ以上は表せない」という天井があり、超えた部分は切り取られて「バリッ」という音割れになります。 最近の曲はもともと天井近くまで大きく作られていることが多く、イコライザーで大きく持ち上げるとすぐに天井を超えてしまいます。
そこでアプリは、一番持ち上がっているところが +9dB を超えそうなら、その分だけ全体の音量を自動で下げます。 一番持ち上がっているところは、ベース/トレブルとの重なりも足して計算します。全体を下げても、カーブの形は変わりません。
点線が調整したままのカーブ、実線がオートトリムで全体を下げた後のカーブです。下げる量は最大 18dB で、上げることはありません。
数値で見る
9最後の安全装置「先読みリミッター」
オートトリムはカーブの形から計算するので、曲の中の一瞬だけ大きい音(ドラムのアタックなど)までは防げません。 そこで最後に、リミッターが常に働いています。 3ミリ秒先の音を先に見ておき、大きい音が来る少し手前から、音量をなめらかに絞ります。
ドラムを2回たたいたような音を例に、リミッターに入る前と後の音の大きさ(1ミリ秒ごとの最大値)を比べています。 −2dB を超えそうなところだけ絞り、−1dB は絶対に超えません。出力は先読みの分(3ミリ秒)だけ遅れて出ますが、比べやすいように位置をそろえて表示しています。
数値で見る
| 項目 | 値 | 意味 |
|---|---|---|
| 押さえ始める大きさ | −2dB | これを超えそうな音だけ、なめらかに絞る |
| 絶対に超えない天井 | −1dB | ここより上には出さない |
| 先読み | 3ミリ秒 | 大きい音が来る前から準備する |
| 絞る速さ | 1ミリ秒 | 大きい音にすばやく反応する |
| 戻る速さ | 100ミリ秒 | 音が不自然に揺れないよう、ゆっくり戻す |
もともと天井ぎりぎりまで大きく作られた曲(最近のポップスや一部のライブ盤など)では、リミッターが働き続けるため、音が少し平たく詰まって聞こえることがあります。これは曲の作りによるもので、故障ではありません。
10まとめ
| 処理 | 何をするか | 主な数値 | いつ働くか |
|---|---|---|---|
| 28バンドイコライザー | 28か所をベル型に上げ下げ | 31.5Hz〜16kHz、1/3オクターブ、Q=4.3、±8.5dB | イコライザーオン時 |
| ベース | 低音をまとめて上げ下げ | 150Hz 以下、±8.5dB | イコライザーオン時 |
| トレブル | 高音をまとめて上げ下げ | 4kHz 以上、±8.5dB | イコライザーオン時 |
| オートトリム | 上げすぎたら全体を下げる | +9dB を超えた分、最大 −18dB | イコライザーオン時 |
| リミッター | 一瞬の大きな音を押さえる | −2dB から、天井 −1dB、先読み 3ms | 常に |
音の加工は、すべて 32bit の浮動小数点によるデジタル計算で行っています。抵抗やコンデンサなどのアナログ回路を通さないので、部品のばらつきや温度による変化が無く、いつも同じ結果になります。