Things I’ve learned, published for the public benefit
Hope This Helps header image

Online Tone Generator

Screenshot of the Online Tone Generator

I made an online tone generator based on the Firefox Audio API HTML5 Web Audio API. It’s basically a large logarithmic slider that allows real-time, smooth frequency changes.

Features

  • Fine-tune the frequency in 1 Hz, 0.01 Hz and 0.001 Hz increments
  • Pick a music note from a list (added Sep 2014, revamped May 2016)
  • Increase/decrease the frequency by one octave (added Aug 2015)
  • Can change the frequency smoothly as you move the slider
  • Keyboard shortcuts (added Aug 2015)
  • Generate a link to a specific tone, so you can share it (added May 2016)
  • Choose sine/square/sawtooth/triangle wave (added Aug 2017)
  • Input frequency as a number (added Aug 2017)
  • Works well on Chrome, Firefox & Safari – including mobile devices (iOS, Android) – requires a browser with support for the Web Audio API.

There are other tone generators on the Web, but they are not as cool (if I do say so myself) and/or they require Java or Flash.

What can you use a tone generator for? You can do a science experiment with resonance, tune a musical instrument, test your new audio system (how low does it go?), test the limits of your hearing (I can hear virtually nothing above 18,000 Hz, even at maximum volume), or figure out your tinnitus frequency to better target therapy.

477 Comments so far

  • David Marshall

    I am 66 years old and have tremor in my hands. Not nice. I have set the tone down to 40 Hz. and it has reduced the tremors nearly down to nothing. I combine with other tones at 432 Hz. I would recommend trying this with anyone that has these sort of issues.
    I play for a couple of hours each day. I will continue to do this as it is very relaxing as well as beneficial.

    Thank you

  • Antonio Dembech

    Will be fantastic to have two different frequencies. One on the left speaker and one on the right speaker. So we can hear the phisics beats.

  • Jes Vesper

    Dear Tomasz,

    Thank you so much for enabling me to listen to 40 herz. It has given me back things I thought I already had lost for ever. I am in the early stages of Huntington’s, a hereditary illness, that has similarities with Alzheimer’s. Listening to your 40 herz for 45 minutes every other day, has lifted the permanent fog in my head; given me back a lot of words; returned my energy; given me back part of my short term memory and cognition. It’s nothing short of a miracle! On top of all that I feel happier.
    So thank you and spread the word!

    Jes

    • Tomasz P. Szynalski

      That’s great! Thank you for sharing such a positive experience. When did you start listening to 40 Hz?

      • Jes Vesper

        I started a month ago. The fog in my head lifted immediately after one session, the other results grew more slowly. I have to play the piano a lot for my profession, even my playing has become easier.
        I cannot tell you how thankful I am!

        Jes

  • Jerry Bies

    Which 40 Hz. tone is used Sin, Square, Triangle or Sawtooth for these results?

    • Jes Vesper

      Hi Jerry,

      I use the sawtooth variation without any real reason behind my choice….

      Jes

      • Abraham L.J. Arnold

        Hello Tomasz, I have recently been using this to create tuning systems, but to avoid large amounts of calculation, could you add an option to multiply a frequency to more intervals than an octave? Thank You!

    • Sal

      I use the Saw Tooth, as it seems to provide more of a clean “PULSE” than the other options. It may not seem as pleasant, but I think it might be more effective.

  • Andruhan4eK

    I have been using your program for a long time, I am from Russia, I am very grateful to you, your program and website often help me out.
    I wish you good health and good mood)))

  • dude

    Can this damage your hearing? My friends do it all the time. I can hear the Hz. that others can’t. If I listen to too much of this, will I not be able to have that special hearing superpower? 🙂

    • Tomasz P. Szynalski

      Not an expert, but I think it might damage your superpower if the volume is too high. Remember that for these high frequencies, even if you can barely hear it, the volume can still be objectively quite high (it would show a lot of decibels if you measured it with a meter).

  • J

    I think it would be cool if you could reverse the wave so you could noise cancel something without needing some active noise canceling device.

  • Tom

    Does anyone have an explanation as to why when I use an Radio Shack SPL meter to measure the dB SPL that it increases as the frequency increases? Note this has nothing to do with my own perceived loudness of the tone. For example, I have the meter set to C weighting and slow. I then choose 500 Hz and set the my amplication so the meter measures 60 dB when a set length from the speaker. I then change the frequency to 5000 Hz and the meter measures some 25 dB higher. I realize the speakers will not have a flat response but I ran this same little test on a few different speakers as well as directly out of my phone speaker with the meter an inch away and observed the same phenomena. Does this have to do with sound waves of the higher frequencies decaying slower somehow as they move through that little bit of air or with feedback as the waves bounce off the meter and back around, etc. Or is my meter faulty?

    Great site and tool btw.

    • Tomasz P. Szynalski

      C weighting should not produce a difference between 500 Hz and 5 kHz. My guess is that you’re measuring always in the same spot, which causes constructive interference with the same wave from (1) your other speaker or (2) some nearby surface. Try moving the meter 2-3 cm in various directions.

  • David Ferree

    This is the best online tone generator I’ve ever found. The ability to quickly go up and down octaves is incredibly helpful when equalizing speakers and headphones. Great UI and keyboard shortcuts.

    Though… I do have a feature request. An ‘Equal Loudness’ toggle would be brilliant for hearing tests and EQing equipment by ear. (I tried to link to relevant wikipedia articles before, but I think the comment got eaten. wikipedia: equal-loudness contour, psychoaccoustics, gray noise)

  • Koolguy555

    Hi great tool I just started using it. Is there a way you can tell me how I can record the frequency I want to hear and save it as a mp3 file? Thanks so much

  • Kevin Killion

    Brilliant! Thanks for creating this.

    I would love to see the addition of a toggle to switch between left-only/right-only/both. This might help it make easier to match tinnitus sounds: Click left-only and match the sound you hear in your right ear, switch and test your left ear. This would be helpful for tinnitus in one ear only, and also if the sounds are different in both ears, but by giving a silent reference it would be very helpful even in binaural tinnitus that is the same on both sides.

    It would be great to get opinions from audiologists, especially audiologist who actually have tinnitus themselves, to offer comments. For example, if a patient has what he thinks of as two distinct tones, can he best try matching that or is a switch to a different waveform (e.g., sawtooth) even better? Also, would adding some controls for narrow-band white or pink noise help patients match their tinnitus?

    But still, this tool is tremendously helpful.

  • adam

    This is a great tool!! Right now I have it set to 20kz at 1% volume in the background to keep my external speaker from disconnecting.

    I can’t be the only one with windows PC devices disconnecting with no sound detected…is there anyway to program something like this to play in the background at startup?

  • r

    Any chance of a phase-shift option? Would be neat for demonstrating destructive frequencies!

  • Guillermo Luijk

    There is something wrong with the square pulse waveform. When set at high frequencies (e. g. 13kHz) it produces wrong subarmonics like 4kHz or 9kHz, which are clearly audible. At that frequency the sawtooth and triangular waveforms work just fine, producing a single 13kHz tone indistinguishable from a 13kHz pure sine wave as expected.

    This makes me think the square pulse is not well implemented. Probably some simplification in the math led to aliasing which contaminated the samples. In order to get rid of aliasing, the harmonics beyond the Nyquist frequency should be simply dropped when constructing the sample values.

    In any other regard, this is a great online app. Thanks and congratulations.

    Regards

    • Tomasz P. Szynalski

      Hi Guillermo,
      Cool way to test the purity of the square wave! I tried it on Firefox and Chrome (both Windows), and the 13 kHz sine wave sounds the same as a 13 kHz square wave. What browser and OS did you test it on? The tone generator currently uses built-in browser functions. It’s possible that some browsers have poorly written audio code.

      • Guillermo Luijk

        It’s strange because sometimes it works fine, and some others doesn’t. I’m using Google Chrome all time on different devices: Samsung Galaxy Note 10+, Lenovo laptop, Dell laptop. Find here a test through different frequencies from 11-14 kHz (I typed them), in this case on the Lenovo laptop:

        http://guillermoluijk.com/misc/onlinetonegenerator.png

        Only 12 kHz was a pure tone, all the rest produced subarmonics and upperarmonics. But now I have just tried 13 kHz on the Dell laptop I’m typing this and works perfect. Probably is something related to the browser implementation out of your control.

        Regards

        • Tomasz P. Szynalski

          Mobile devices and laptops will often have some built-in audio filters to boost the loudness and “enhance” the sound. Maybe that’s the reason for the distortion you’re experiencing?

  • Hilmir G. Bjarnason

    This is amazing thanks. I need this to keep my JBL from turning off thanks for this

  • Monique A Elling

    Thanks you for your work.

  • Physics Teacher

    I’m a physics teacher and I have been using this for three years when I’m teaching Sound Waves. It is a very useful tool. Thank you for providing it for free.

  • Pablo

    I just want to add that, you can use this generator for bi neural beats as well. I just had to open two tabs and set each frequency to one side of the headset. Ironically it is much better without all that noisy background music, at least for me that is.

    By the way, thank you so much for your work, you have my gratitude for this.

  • Kevin Killion

    Wonderful tool!

    I’ve had bilateral tinnitus of about 7500hz for years.
    Using this tool, I’m trying to identify a lesser second tone that I hear in my right ear only. But it’s a tough one because it’s overshadowed by the other noises. And, when I try presenting comparison tones, it’s almost as if this tinnitus tone runs away and hides. I’d like to have the generated tone even more subtle.

    I’d love it if I could test a tone at a volume even lower than the 1% level. Maybe make the volume control as wide as the frequency slider to give a wee bit more range? Or change the scale towards the left end, e.g., 0.1 to 1% for the leftmost fifth, and 1% and up as usual after that?

Leave a Reply to dude