2つの音を同時に鳴らしたとき、鳴らしたつもりのない低い音がうっすら床から湧いてくるように聞こえることがあります。ギターを歪ませて重音を弾いたとき、あるいは大きなパイプオルガンが地鳴りのような重低音を出すとき。これは気のせいではなく、差音(さおん)と呼ばれるれっきとした現象です。今回は、その「そこに無いはずの低音」がどこから来るのかをたどります。
この連載では、楽器の音をプログラムでどう作るかを紹介しています。差音はどちらかというと音そのものの不思議に近い話ですが、その正体をつかむと、シンセサイザーの変調や歪みが何をしているのかも一段見通しよくなります。
「足し算」だけでは差音は生まれない
まず、素朴なところでつまずきがちな点をはっきりさせておきます。2つの音を同時に鳴らすと、空気中では2つの波が足し合わさります。ここまでは間違いありません。ところが、その足し合わさった波の中に、差の高さ(周波数の引き算にあたる音)は含まれていないのです。
足した波を周波数で分解しても、出てくるのは元の2つの高さだけ。近い2つの音なら、音量がゆっくり脈打つ「うなり」は感じられますが、それは音量の揺れであって、低い音そのものではありません。純粋な足し算は、新しい高さの音を一切作らない——これは数式の上でも成り立つ、動かしがたい性質です。
ではなぜ低音が聞こえるのか。カギは、足した波が「まっすぐでないもの」を一度くぐったかどうかにあります。
ここで線形・非線形という言葉を用意します。「線形=まっすぐ、非線形=曲がっている」というイメージで大きくは合っているのですが、“何が"曲がっているのかが少しだけ紛らわしいので、上の図で押さえておきます。まず、左の入力——きれいな2つの音を足しただけの波——は、上下段でまったく同じ1つです。片方だけが歪んだ音、ということはありません。違うのは、その同じ波を通す"箱"のほうだけです。箱というのは、音が通り抜ける装置のことで、スピーカーやアンプ、歪みエフェクター、そして私たちの耳がそれにあたります。
中央のグラフは、その箱の性格を1本の線で表したものです。横軸は、ある瞬間に箱へ入ってきた音の大きさ、縦軸は、そのとき箱から出る音の大きさで、時間軸ではありません。入力を2倍にすれば出力もきっちり2倍、というまっすぐな比例なら線形——理想的なアンプや空気がこれに近い——です。頭打ちになるなどして曲がっていれば非線形で、歪みエフェクターや、大きな音での耳がそれにあたります。同じ入力でも、まっすぐな箱を通すのか、曲がった箱を通すのかで、出て来る音がまるで変わる、というのがこの図の要点です。
線形の装置には、決定的な性質があります。入れた音に無い高さは、絶対に出てこない。サイン波を入れればサイン波が出る(大きさや位相は変わっても、高さは変わらない)。だから、いくらきれいに2音を足しても、線形のままでは差音は生まれません。図の上段で、出てくるのが元の2本だけなのはこのためです。
ところが、入れた大きさと出る大きさの関係が曲がっている装置——非線形——を通すと、話がまるで変わります。大きな入力で頭打ちになる、いわゆる歪みがその代表です。足した波をこの曲がった特性にくぐらせると、元には無かった差の高さや、その他の倍音がいっせいに生まれる。図の下段で、いちばん低いところに赤い線(差音)が新しく生えているのがそれです。
なぜ曲がっていると新しい高さが生まれるのか、いちばん簡単な非線形として「二乗する」で考えると腑に落ちます。2つの波 $\sin A + \sin B$ を二乗すると、
$$(\sin A + \sin B)^2 = \sin^2 A + 2\sin A\sin B + \sin^2 B$$
真ん中に、2つの波の掛け算 $2\sin A\sin B$ が現れます。そしてこの掛け算は、
$$2\sin A\sin B = \cos(A - B) - \cos(A + B)$$
と書き直せる。$\cos(A - B)$ がまさに差の高さ、$\cos(A + B)$ が和の高さです。つまり、足した信号を非線形に通すと、その内側に掛け算がこっそり現れ、それが差音を生む。「足すだけでは出ない、足したあと一度歪ませると出る」というのは、こういうことでした。
ここは引っかかりやすいところなので、先に触れておきます。いまの二乗を全部開くと、出てくるのは差音と和音、それに各音の2倍音ばかりで、肝心の元の2音がどこにも見当たりません。純粋に二乗しきる箱を通すと、元の高さは本当に消えてしまうのです。ではなぜ現実には元の音が残るのかというと、本物の歪みは「純粋な二乗」ではないからです。エフェクターや耳の曲がりは、「入ってきた音をそのまま通す部分」と「少しだけ二乗する部分」の足し算になっていて、小さい入力ではほとんどまっすぐ。だから元の2音はそっくり残り、曲げた分から差音がおまけに少しだけ生える。図の下段で $f_1$ と $f_2$ が残ったまま、その脇に差音が加わっているのは、このためです。ちなみに、入力をまるごと掛け算してしまう箱も特殊なエフェクターとして実在し(リングモジュレーター)、こちらは元の音を消して差音と和音だけにするので、あの金属的な機械音になります。
歪ませるほど、はっきり出る
この見方は、エフェクターをいじる人の実感とぴたり重なります。きれいな音のときは静かなのに、ディストーションを深くかけて2音を鳴らすと、急に濁ったうねりや低い成分が前に出てくる。あれは気のせいではなく、歪み=強い非線形が、さきほどの掛け算を激しく起こしているからです。混じり合った音どうしが差や和の高さを次々に作る、この現象は相互変調(intermodulation)と呼ばれ、歪みが深いほど盛大になります。歪んだ音ほど差音がよく出る、という体感は物理的に正しいのです。
逆に、倍音の少ないきれいな音を、まっすぐな装置でそっと鳴らすだけなら、差音はほとんど出ません。
耳そのものが非線形だから、生の耳でも起きる
ではきれいな2音を、歪みなしで、ただ大きな音で鳴らしたら差音は聞こえないのかというと、そうとも言い切れません。というのも、私たちの耳自身が非線形な装置だからです。音は外耳から外耳道を通り、鼓膜を震わせ、耳小骨(つち・きぬた・あぶみ)を経て、内耳の蝸牛へ届きます。ここで差音を作っているのは、じつは鼓膜ではありません。大きな音で鼓膜が限界まで揺れて頭打ちになる——歪みエフェクターのクリップのように——と考えたくなりますが、主な発生源はその奥の蝸牛、なかでも音を電気信号に変える外有毛細胞という細胞だと分かっています。この細胞の反応がまっすぐでない(非線形)のです。しかもそれは、大きな音で受動的に頭打ちになるというより、音を小さいうちから増幅する仕組みそのものに備わった圧縮的な曲がりで、それほど大きくない音でも働きます。だから外の空気にきれいな2音しか無くても、蝸牛の中で差音が作られてしまう。

これは古くから知られていて、ヴァイオリン奏者のジュゼッペ・タルティーニは、重音を弾いたときに下の方に聞こえる「第三の音」に18世紀初頭(本人によれば1714年)には気づいており、後に理論書としてまとめました。差音がタルティーニ音とも呼ばれるのはこのためです。ほぼ同じ頃にドイツでも独立に記述したとされ、最初の発見者が誰かには諸説あります。
面白いのは、耳が作ったこの差音が、逆に耳から外へ漏れ出て、マイクで実際に測れることです(耳音響放射)。だから「耳の中だけの錯覚」と言い切るのも正確ではなく、耳という物理系が本当に信号を作っている、半分は物理・半分は知覚の、あわいのような存在です。どのくらい強く感じるかには個人差もあります。
巨大パイプなしで重低音を作る──合成低音
この「耳が低音を作る」性質を、何百年も前から実用してきたのがパイプオルガンです。
低い音を出すには長いパイプが要ります。32フィート(およそ10メートル)級の管は、最低音で16ヘルツ前後という、床が震えるような重低音を出しますが、途方もない大きさとコストになります。そこでオルガンには、この巨大な管を実際には作らずに、同じ重低音を"作らせる"仕掛けがあります。合成低音(Resultant、Acoustic Bass などと呼ばれる音栓)です。18世紀末の音楽家アプト・フォーグラーが用いたのが早い例とされます。
仕組みは単純です。16フィートの管(最低音でおよそ32.7ヘルツ)と、その完全5度上にあたる10・2/3フィートの管(およそ49ヘルツ)を、同時に鳴らす。この2つの周波数の比はちょうど3対2で、差を取ると $49 - 32.7 \approx 16$ ヘルツ。これは16フィートの1オクターブ下、つまり32フィート相当の重低音です。一般に、ある高さ $f$ と、その1.5倍 $1.5f$ の差は $0.5f$、ちょうど1オクターブ下になります。巨大な管の代わりに、手頃な2本でその低音を耳に作らせているわけです。
ここで正確を期すと、この低音には二つの別々の仕組みが重なっています。ひとつは、さきほどの耳の非線形が生む差音。もうひとつは、ミッシングファンダメンタルと呼ばれる脳の働きです。鳴っている2音(16フィートと10・2/3フィート)は、鳴っていない32フィートを根っこの音とみなすと、その2倍・3倍にあたる。倍音がこう並ぶと、脳は「その根っこの音があるはずだ」と周期性から基音を推し量り、低音のピッチとして聞いてしまう。歪みを必要としない、純粋に神経の側の補完です。差音とミッシングファンダメンタルは本来まったく別の機構ですが、完全5度というこの組み合わせに限っては、両方がたまたま同じ32フィートの高さを指すため、見分けがつきにくいのです。
録音しても消えないし、イヤホンでも聞こえる
もしこの重低音が「耳と脳が作っているだけ」なら、素朴にはこう考えたくなります——マイクで録音したら、その低音は録れずに消えてしまうのでは、と。ところが実際には、録音しても再生しても、低音はちゃんと聞こえます。ここが合成低音のいちばん綺麗なところです。
秘密は、低音を"作る材料"と"作る処理"を分けて考えることにあります。材料は16フィートと10・2/3フィートの2音で、これは空気中に実在するのでマイクがきちんと拾い、録音に残ります。低音を作る処理のほう(耳の非線形と脳の補完)は、聴くたびに、聴いている人の耳と脳でそのつど起きる。だから2音さえ届けば、低音は聴き手の側で毎回作り直され、現場でも録音でも同じように響きます。
これは特別な体験ではなく、日常にあふれています。スマートフォンの小さなスピーカーやイヤホンは、物理的には重低音などまともに再生できないのに、ベースやバスドラの低音を感じますよね。あれも同じで、低音の倍音さえ鳴らせば脳が根っこの音を補ってくれる。電話が300ヘルツより下をばっさり切っても、低い男性の声が高さを保ったまま聞き取れるのも、この補完のおかげです。低音を出せない機器ほど、この「耳が作る低音」に助けられているわけです。
触ってみる
言葉より、出して見るのが早いので、デモを用意しました。2つの音を鳴らしながら「歪み」を切り替えてみてください。歪ませた瞬間、下のスペクトル(どの高さの音が空気中にどれだけ出ているかのグラフ)に、差音の赤い線が新しく立ちます。歪みなしでは、青と紫の2本しか立ちません——足し算だけでは差音が空気に出ない、を目で確かめられます。
うまく表示されないときは、デモを別タブで開く 。
「合成低音」のプリセットは、低い5度の2音です。歪みを切ってもスペクトルには重低音の線が立たない——空気には出ていない——のに、音量を上げて耳を澄ますと低い音を感じます。それが、耳と脳が聴き手の側で作っている低音です。感じ方には個人差があるので、聞こえにくければ「近い2音」で、差が小さいと低音ではなくうなりになる連続的な変化のほうから試してみてください。
同じ実験は、実機でも手軽にできます。ちなみに、音を鳴らしながら波形を目で見られるオシレーターアプリを個人で開発していて、2チャンネルで2つの音を同時に出し、周波数をずらしたり FM・AM の変調をかけたりできます。2音を近づけてうなりから差音へ移るあたりや、変調で音が濁っていく様子を、波形とあわせて追えます。
どう作るか
プログラムで差音を出すのも、そのまま同じ話です。2つのサイン波をただ足すだけでは、差音は出ません。足した信号を非線形(ここではなめらかに頭打ちさせる歪み)に一度通すと、そこで差の高さが生まれます。
const a = Math.sin(2 * Math.PI * f1 * t);
const b = Math.sin(2 * Math.PI * f2 * t);
const mixed = a + b; // 足すだけ:f1 と f2 のまま、差音は無い
const shaped = 3 * mixed + 1.5 * mixed * mixed; // 二乗の項が差音 f2−f1 を生む
const out = Math.tanh(shaped); // 全体が大きくなりすぎないよう頭打ちさせる
差音を生むのは、さきほど展開して見たとおり二乗(掛け算)の項でした。だからコードでも、その二乗の項をひとつ混ぜています。ちなみに、大きな入力ほど頭打ちになるだけの左右対称な歪み($\tanh$ 単体など)は、倍音は増やしても差音そのものは作りません。差音を出すには、こうして少し非対称な曲がりを与えるのがコツです。Web Audio では、この歪みを WaveShaperNode の曲線として与えれば、2音を通すだけで差音がスペクトルに立ちます。上のデモが実際にそうしています。
参考文献
- 青木直史『サウンドプログラミング入門――音響合成の基本とC言語による実装 』技術評論社(2013)。波の合成や非線形処理を含め、音の基礎をC言語の実装つきで解説する定番書。
- 差音(結合音)の物理と発見史は Wikipedia: Combination tone 、脳が基音を補う現象は Wikipedia: Missing fundamental 、オルガンの合成低音は organstops.org: Resultant が詳しいです。
- デモの実装には Web Audio API を使用。2つの
OscillatorNodeを足し、WaveShaperNodeで歪ませて差音を生成しています。
同じ2つの音でも、まっすぐ通すか、一度曲げて通すかで、無いはずの低音が生まれる。デモで、その瞬間を目と耳で確かめてみてください。
