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

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…

  • StumbleUpon
  • del.icio.us
  • Digg
  • Facebook
  • Twitter
  • Reddit
This entry was posted in Doodle, Instruction
and tagged , , ,
Bookmark the permalink

23 Comments

  1. eddi
    Posted August 16, 2009 at 2:53 pm | Permalink

    freude schöner götterfunke ..

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

    thanks for posting,
    eddi

  2. Posted August 16, 2009 at 5:56 pm | Permalink

    That is correct. eddi. :)

  3. capmikee
    Posted August 16, 2009 at 6:00 pm | Permalink

    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?

  4. Posted August 16, 2009 at 6:16 pm | Permalink

    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).

  5. Posted September 13, 2009 at 5:13 pm | Permalink

    ODE TO JOY… Amazing…

  6. scott
    Posted September 17, 2009 at 6:48 pm | Permalink

    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

  7. Lucas
    Posted October 5, 2009 at 7:19 am | Permalink

    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!

  8. ec
    Posted October 31, 2009 at 3:56 pm | Permalink

    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.

  9. Posted October 31, 2009 at 5:26 pm | Permalink

    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.

  10. ec
    Posted November 1, 2009 at 9:38 pm | Permalink

    Oh, I am mistaken then.

    An interesting physical phonemenon, indeed.

  11. jc
    Posted November 26, 2009 at 3:20 am | Permalink

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

  12. Posted November 23, 2010 at 5:04 pm | Permalink

    just came across this again while looking for your Deep Note article — really cool, thanks for taking the time to write it up!
    eddi

  13. MJ
    Posted April 16, 2011 at 11:41 pm | Permalink

    this is really cool. in music there is a concept that i think is the same. when one note is played in tune by two instruments another note can be heard above it called an overtone. that is what these sound like. once again really cool!

  14. Joe
    Posted April 17, 2011 at 7:03 pm | Permalink

    Very cool post. Have known about these difference tones for a while but this was an awesome demonstration

  15. Dimitri
    Posted April 18, 2011 at 3:19 am | Permalink

    Great example. Even though I think my head hurts a bit now lol

  16. Andy
    Posted April 22, 2011 at 5:19 am | Permalink

    Very nice, i had to listen to it twice before hearing Ode to Joy.

  17. Posted April 24, 2011 at 12:13 pm | Permalink

    Very cool demo. Thanks for putting in the work to put this together. Much appreciated!

  18. Travis
    Posted April 26, 2011 at 5:59 pm | Permalink

    I was not able to hear it until I turned it up quite loud. It’s almost painful to hear.

  19. David
    Posted April 30, 2011 at 8:47 am | Permalink

    How do you know that the nonlinearity is in the ear/brain, and not in the sound card or speakers?

  20. Posted April 30, 2011 at 10:53 am | Permalink

    Hi David, it is because the effect is there when each tone is provided by a different speaker. The examples above are in stereo, and each speaker plays a single tone. If you turn down your left sound monitor for example, you will hear one tone from your right speaker. If you turn down right only, you will hear a single tone from the left. If both are on, you will hear three tones.

    You can also record the output with a mic and observe the spectrogram though I’ve never tried it.

    Actually if I know correctly, most of the combination tones you hear are emiitted by your ears physically (that is if your ers are healthy, this is called otoacoustic emission). I’ve read that doctors use special microphones attached to your ear to capture these combination tones emitted from the ear to see if your ear is physically ok in some way.

    http://en.wikipedia.org/wiki/Otoacoustic_emission

  21. Akkie
    Posted May 8, 2011 at 6:50 pm | Permalink

    OOI! shit! That hurt! omg ._: auuh

  22. Juan Manuel
    Posted July 16, 2011 at 8:20 am | Permalink

    Excellent! Looking for some examples of this phenomenon and found great ones!

  23. Nick
    Posted September 6, 2011 at 4:10 am | Permalink

    Absolutely fantastic! I love it!

Post a Comment

Your email is never published nor shared.

  • What

    I am Batuhan Bozkurt.

    Things involving computational (sound) art, and my work swirling around the subject are here.

    Follow my RSS feed if you care.

  • Find me