Combination Tones and the Non-Linearities of the Human Ear.

In: Doodle| Instruction

16 Aug 2009

Last week, one of my students brought me a composition he made, which was using combination tones in an interesting compositional context, and that gave me a nudge to do some experimenting on the issue, here I’ll share what I’ve found interesting.

This is a psychoacoustic phenomenon in which, when at least two tones with close fundamental frequencies are sounded together, another tone whose frequency is the sum or difference of the original two tones is heard. This “ghost” tone is purely made up by the human ear and brain. That is, if you inspect the spectrum of the two tones with a spectrogram, this ghost tone simply isn’t there. However, this tone is usually quite faint (unless the amplitude of the original tones are high) so one needs to concentrate to get it, but it’s not very hard either.

Here is an example, this is a 200 Hz sine tone:

{ SinOsc.ar(200).dup }.play

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

And here it is in the spectrogram:

200hz

And here is 1000Hz and 1200Hz sine tones mixed together. The difference of their frequencies (200Hz) is also audible, if you pay attention (works best with headphones, but also audible with speakers. If you can’t hear it, turn the volume up):

{ SinOsc.ar([1000, 1200]).mean.dup }.play

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

If you can hear it, great. Here is the spectral decomposition:

combined

Notice that there is nothing below 1000Hz here, the 200Hz tone you’ve just heard isn’t really there. As I said, this is a well known phenomenon in which the non-linearities of the inner ear causes this difference tone to be heard. Wikipedia states (although without citing a source) that, giving the two tones with different frequencies separately to each ear with headphones also create the effect but I was unable to experience this that way.

Here comes the fun part of this post, you can play several tricks with pure tones and use this ghost tone in creative ways. Here is a glissando of two pure sine tones. One oscillator starts from 4000Hz and goes down to 1000Hz, the other starts from 4200Hz and ends at 1200Hz. So the difference of their frequencies throughout is always 200Hz, so you should hear a constant (although sometimes fluctuating) 200Hz tone while the high frequencies are doing their gliss:

(
{
var freqSweep = Line.ar(4000, 1000, 10);
SinOsc.ar([freqSweep, freqSweep + 200]).mean!2;
}.play
)

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Look at the spectral decomposition, and the 200Hz tone isn’t there again:

sweep

You can even go to the extremes! Here, the frequencies of the sine tones change randomly 8 times a second, but the difference of 200Hz is preserved, so you are still able to hear the constant 200Hz (not very pleasant to listen to but hey, it’s a cool effect!):


(
{
var baseFreq = TRand.ar(1000, 2000, Impulse.ar(8)).lag(0.01);
SinOsc.ar([baseFreq, baseFreq + 200]).mean!2;
}.play
)

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Here they are changing 32 times a second randomly, but preserving the 200Hz separation, this is harder to hear, and fluctuates a bit, but the effect is there:

(
{//best through headphones
var baseFreq = TRand.ar(1000, 2000, Impulse.ar(32)).lag(0.01);
SinOsc.ar([baseFreq, baseFreq + 200]).mean!2;
}.play
)

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

-

And here is the grand finale of combination tones for this post. In the previous examples, we always kept a 200Hz separation between two oscillators and heard a constant difference tone. What if we craft the separation frequency in a way that the difference frequency plays a melody while the upper frequencies change randomly, even at 32 times a second? Can you hear the “bottom” melody here? Any guesses what it might be?

(
{
var times = Dseq(((1!12 ++ [1.5, 0.5, 2])!2).flat / 2, 1);
var pitchBase = [55, 55, 56, 58, 58, 56, 55, 53, 51, 51, 53, 55];
var pitches = Dseq((pitchBase ++ [55, 53, 53] ++ pitchBase ++ [53, 51, 51]).midicps, 1);
var freqs = Duty.ar(times, 0, pitches, doneAction: 2);
var baseRandFreq = TRand.ar(1000, 2000, Impulse.ar(32)).lag(0.01);

SinOsc.ar([baseRandFreq, baseRandFreq + freqs]).mean!2;
}.play;
)

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Not the most beautiful thing to listen, but try to hear the ghost melody at the bottom. Your ears and brain are playing tricks on you, and observing it is worth the suffering, in my opinion. Use the comment box if you can hear it and want to hazard a guess…

11 Responses to Combination Tones and the Non-Linearities of the Human Ear.

ISay

eddi

August 16th, 2009 at 2:53 pm

freude schöner götterfunke ..

this is cool, Batuhan!
in a very geeky kind of way .. :)

thanks for posting,
eddi

ISay

Batuhan

August 16th, 2009 at 5:56 pm

That is correct. eddi. :)

ISay

capmikee

August 16th, 2009 at 6:00 pm

I can’t hear it at all unless I turn it up. Is it possible that the combination tone is actually present due to some nonlinear distortion?

ISay

Batuhan

August 16th, 2009 at 6:16 pm

Yeah, in a way that is what they think. It needs to hurt the ear “a bit” to hear it. Non-linearity of the inner ear comes into play here, and some also say that this is also a result of a neural phenomenon (like binaural beats, in some cases, giving the two different frequencies to two different ears with headphones also create the phantom tone in head, they say. Although I couldn’t really experience it, but did not try hard either).

ISay

DM DOKURO

September 13th, 2009 at 5:13 pm

ODE TO JOY… Amazing…

ISay

scott

September 17th, 2009 at 6:48 pm

Jacob Kirkegaard has a nice piece making use of this effect (tartini tones). I saw it performed last year, on a 12 (or possible 15?) speaker array, which was absolutely bizarre – my ears have never been so confused.

http://touchshop.org/product_info.php?products_id=251

ISay

Lucas

October 5th, 2009 at 7:19 am

Hi Batuhan!

this is one of my favorite irritating sounds, you can make even harmony with this.

try this lullaby :-D

(
SynthDef(\diffalea, { arg freq = 220, gate = 1, amp = 1, lowFreq = 1000, hiFreq = 1500;
var freq1 = Rand(lowFreq, hiFreq);
var freq2 = freq1 – freq;
var env = EnvGen.kr(Env.asr(0.01, 1, 0.01, 1, ‘linear’), gate, doneAction: 2);
Out.ar(0, Mix(SinOsc.ar([freq1, freq2], 0.5pi.rand, mul:amp*env))!2);
}).memStore;

~freqs = [48, 50, 52, 48, 48, 50, 52, 48, 52, 53, 55, 52, 53, 55, 55, 57, 55, 53, 52, 48, 55, 57, 55, 53, 52, 48, 50, 44, 48, 50, 48, 50].midicps;

~duras = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 0.5, 0.5, 1, 1, 1, 1, 2, 1, 1, 2];
)

(
Pbind(
\instrument, \diffalea,
\lowFreq, [2200, 1200, 3200], \hiFreq, [2400, 1400, 3400],
\freq, Pseq(~freqs+[0, 0, 0], inf),
\dur, Pseq(~duras+[0, 0, 0], inf),
\legato, 1,
\strum, 8
).play(TempoClock(1));
)

Cheers!

ISay

ec

October 31st, 2009 at 3:56 pm

There are software that claim to change your brainwaves using binaural beats like these. I’m not sure if we can call yours “binaural beats” though; as far as I remember, the frequency difference should have been smaller.

Interesting article. Thanks for sharing it.

ISay

Batuhan

October 31st, 2009 at 5:26 pm

Hi ec,

Nope, this is quite different from binaural beats. I’ve learned quite a lot about the concept after writing this post, and frankly, I’m quite embarrassed to keep this here because it is kinda naive considering the great works I’ve discovered that exploits this phenomenon. It still points to some limits of the system though…

The low frequency sound here is actually emitted by your very own ears, and can even be recorded with a mike (if placed close to your ear canal)! It’s called otoacoustic emission, if you want to search about it.

ISay

ec

November 1st, 2009 at 9:38 pm

Oh, I am mistaken then.

An interesting physical phonemenon, indeed.

ISay

jc

November 26th, 2009 at 3:20 am

Thats amazing it’s like an echo chamber in my ear. Cool stuff.
Looking forward to more from you. Thanks.

Comment Form

About this site:

Hello there, I'm Batuhan Bozkurt, a sound artist, computer programmer and performer from Istanbul - Turkey. This is my personal hub site where I regularly try to blog and share my projects and interesting things I stumble upon. For more info about me please click here.