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.

916 Comments so far

  • Jos

    By using the FFT with MATLAB i get 880Hz for 440 Hz, why?

  • Conrad

    Just used this great tool to match at which hertz my right ear was temporarily ringing. ~733Hz, it seems.
    😀

  • chris wilson

    this is exactly what i was looking for. i just suffered an ear infection and as a result acquired 2 ruptured eardrums. this ringing is getting more and more annoying but i at least wanted to know the frequencies i was hearing. mine are 400 and 4000 hz. it varies as to which one is dominant. its easier to tolerate just knowing the frequencies.

  • Edward

    Simple and useful. Thanks. A suggestion: It would be nice to be able to link to a particular frequency, e.g. http://plasticity.szynalski.com/tone-generator.htm#f=256, and possibly also have a “Copy link” button like you get on e.g. bit.ly to be able to obtain the link easily. Thanks again.

  • Dave McKenzie

    I was turned onto this generator, to see if I could identify the frequency of my tinnitus ringing. In no time, I found that it was approx. 6,000Hz. I haven’t resolved anything yet, but it’s nice knowing that I was able to put a number to it. I have “always” had this condition (loud noises from childhood on); maybe I’m on the road to a therapy…like re-training with white noise. Anyway, pretty cool.

    • Bob

      Yes, I also have tinnitus around that 6K+ range. The problem is that while I cancel out the sound, it drives everyone else in the room nuts. I guess I have to use headphones.

      • dj6040

        FYI, I have had tinnitus for a long time and I found that the amount of salt I consume has a great effect on it. By limiting the salt intake I have reduced the ringing to where I am hardly aware of it. The other thing is ear protection from loud noises. For example, if I use my circular saw to cut a piece of wood and forget the ear plugs, my ears will ring loudly for about 8 hours. I’ll where my plugs at movies, concerts, etc., anywhere I might encounter loud sounds.

  • Francesca Miller

    I can’t get dual tones to stop! Otherwise, a brilliant device. Please respond asap as I don’t know what this will do to my phone.
    Thanks so much.

  • Gian Cosani

    hello is this in 440hz tuned? or 432hz? i do like this generator but im just curious when you made the intial set up was it tuned 440 or 432

  • dj6040

    Thanks this is what I have been looking for. Many tone generators out there but this is the only one I have found that provides the related musical notations.
    I wish you would make this a regular program so I can run it on my PC when I am offline.

    • Steve Rutkowski

      Your message piqued my interest..
      I use the tone generator in conjunction with an oscilloscope to troubleshoot guitar amplifiers. If I use it with my desktop there’s a 60 cycle hum that tags along. This normally doesn’t affect my troubleshooting, but it occasionally gets irritating, so I use it with my laptop, which doesn’t have this problem.

      Anyway, just for giggles, I went to the generator page today (using Firefox on my laptop) and did a “File -> Save Page As”. Then I shut down Firefox, disconnected the laptop from my network, and fired up the saved page offline.

      It worked ‘almost’ perfectly! I say ‘almost’ because the left/right arrows that decrease/increase the tone by a single Hz were hidden. You can still find them by moving your cursor around the areas where they should be until your cursor changes, so it’s really not a problem.

      • dj6040

        Thanks for the suggestion I will try that. I use it to tune each of my drums to a specific pitch. It really helps to have a constant tone playing that I can match up with.

  • Lonny

    Thanks for this tone gen. very helpful to us HAMS for radio testing
    W9NLW

  • Avimun

    Great application indeed. I am just wondering a bit how sounds with ‘f’ less than 20Hz is actually being audible …. Is the correspondence between the f (<20Hz) and the tone is accurate !!!

  • Joseph Vernice

    I am using your tome generator to test the response of my hearing aids. The hearing aids have frequency compression since I have no response about 2kHz. It divides frequencies by two (down an octave) so I can hear frequencies above 2kHz (and less than 4kHz). My HA’s can be tweaked as needed using this tool.

  • M.Anthony

    I am using Safari with an ipadii and I can not get the note menue to work. Any advice? Thanks, great generator!

  • gciriani

    Very interesting. I actually am able to measure interference zones. By moving my head left to right, the two stereo loudspeakers in my PC sum or subtract each other.

  • Loek van der Heide

    HI there, Mr./Madam,
    I Thank you very much getting me a tone generator which I can use as piano-tuner.
    I am also [“voorstander”NL] ‘in favour of’ lowering the diapason of all opera orchestra’s beeing producing opera’s from 1800-1900 Till Verdi & Puccini
    This, of course, Verdi’s Plead for lowering the a’ diapason to 432 Hz in 1881
    by then since 1842 by French decrete rised to 440 Hz……
    This goes also for the re-introduction of
    – Period instruments Rossini /Verdi/Puccini opera’s
    – 3-stringed Contrabasses ‘Scordatura’ also tuned to CC on lowest string
    – gut- stringed all strings except Contrabasses’ lowest CC/EE
    This feature is also good, tuning lowest 32′ / 64′ (resultante) and Octo- CCC tone of octo-sub-contrabass violone, to be used in [ondermeer] Verdi’s Otello and also ‘Il Re Lear’ sounding of Storms. (Re lear is a new composition which I am proceed tot complete…..)
    Greetings
    Loek

  • Jason

    Would it be possible to include a toggle switch that enables an “Equal loudness” mode? This is by far my preferred online generator, and has been very useful for me, thank you!

    • Tomasz

      Hi Jason. It would be impossible to ensure equal loudness without knowing the frequency response of your speaker. Also, equal loudness over what range? You can’t make a 20 Hz sound be as loud as a 2 kHz sound without making the 2 kHz sound very quiet.

      • Jason

        To be sure what happens on the users end would be affected by speaker/headphone response, but if the slider adjusted volume to somewhat closely follow ISO226 and assumes a perfectly flat speaker response i think it would be extremely useful for very roughly determining the flatness/bass response of ones speaker/headphones and room response without requiring a pricey calibrated mic and software purchase. I understand many frequencies would be quieter to avoid signal clipping, but testing for speakers/headphones by ear, especially at low volumes, I believe it would be very useful. As it stands I was only able to find a wav file from audiocheck for a “perceptual” sine sweep with all of my googling. Comparing it to a normal sine sweep shows a massive difference in perceived volumes depending on frequency. It was extremely helpful for how limited its control is though. For me personally, 30Hz to 20kHz would be exciting to have access to.

        • Tomasz

          You can get this for $60. It’s good enough for bass and most speakers/headphones have a nice flat response for mid- to high-frequencies. You can get the free REW software that will do sine sweeps for you. It will even generate EQ settings that work with EqualizerAPO.
          That’s what I did and it improved my audio by (subjectively) 20%.

          Furthermore, you need to take into account that people have different frequency responses, esp. in the high frequencies the differences can be dramatic. The ISO curve is a kind of average.

  • Tiffany

    Thanks so much. I used this tool to find my starting note singing the national anthem at a conference this year.

  • Giovanni Ciriani

    Tomasz, I think it is important to let users testing their hearing or their tinnitus frequency, to use headphones. Without headphones, one may think that there is a volume drop, or a hearing drop, when in fact the ears are actually in a zone of subtraction between two loudspeakers of the PC.

  • Rob Ward

    The online tone generator is great … I use it to check the accuracy of my electronic tuners, find the frequency where my speaker cabinets rattle, to tune homemade windchimes. Its useful, thanks.

  • Nathan

    DO NOT, I REPEAT, DO NOT PUT THIS ON 20 HERTZ AT FULL VOLUME

  • Nathan

    IT WILL START TO DESTROY YOUR BRAIN

  • fred

    Thank you. Great tool

  • Jack

    Tomasz, The application is a great tool but there is one thing that would make it more useful, i.e., a way to select a range of audio frequencies to sweep and the rate the frequency changes. My use of your application is to data log a range of frequencies to graph the transfer function of audio filters and frequency response of other audio hardware. It is really difficult to step the frequency 1Hz at a time in sync with the sample rate of the data logger. Not being a programmer I have no idea of how difficult adding this feature would be but would be like to hear your thoughts on the issue.

  • Don Puryear

    Thank you, Thomasz! I enjoyed your article.

    When I was in college, I was treated for tinnitus. The condition never went away, and I still have it to this day. During multiple hearing tests over the years, the pitch I produced vocally and the pitch I identified aurally as matching the tinnitus has been 440 hz. Decades after my college experience, I was bothered enough by the tinnitus — or more specifically, my awareness of it — that I saw an otolaryngologist who tried a number of treatments. He was unable to cure or lesson the tinnitus. In testing, he confirmed that my tinnitus was consistently 440hz.

    I’m 50 now, and I still have the tinnitus. I’m able to “tune out” it out whenever there are other ambient noises, but otherwise it’s crystal clear & distinct. For the last 30 years, I’ve slept with white noise in the background to drown out the tinnitus.

    Your article was great, and the online tone generator was fun! I enjoyed checking the pitch of my tinnitus — Even today, it’s still 440hz! 🙂

    • Dana

      Hi Don, I have tinnitus, too… I was just browsing by and wanted to add a tidbit about your tone: it is special because A 440 is the tone that bands and orchestras use as a reference for tuning their instruments. It is known as the “international standard pitch.” You are a walking tuner!

  • Jb

    Excellenr! Just friggin brilliant! Love this thing!

  • Norman Paterson

    This is close to what I want for an experiment – with a slight modification it would be ideal. I want to demonstrate the difference between a scale where the frequency increases arithmetically (e.g. every interval increases frequency by 50 Hz) and geometrically (e.g. every interval increases frequency by 10%). Your tool does this but only in fixed steps of 1 Hz or 100%. Any chance you could make these adjustable quantities? I’d love you forever! PS The demo is in 4 days!

  • Ingrid Lindberg

    I agree with many others. Its an excellent tool. I use it to test noise frequency at low levels 35hz. Thank you!!!

  • Reginald

    I was looking for something like this. I am learning to write music for a particular part and needed to know if I have the right note in the correct octave. because of the range of the instrument, knowing the frequency and octave number becomes important when applying the correct notes on the music staff.

  • Hussain Chagla

    I by chance found this audio generator on web. It is useful test instrument
    for those who can use it..It can be used for measuring power output & response of Power amplifiers. Also check response ,power handling
    capacity of loudspeakers.
    Its nice & handy, I dont have to carry separate audio generator. Any more.
    One suggestion, please add Pink Noise Generator to it.
    Hussain. Karachi-Pakistan.

  • Russ Lynch

    Just what I needed to quickly check my hearing thru headphones.
    Beats those other hearing tests by a mile. Keep up the good
    work…
    -Russ

  • Soundman

    Can you please make it so you can adjust by .1, .2, .3 etc. ? Example 111.1, 212.1 313.1, etc. for amazing reasons I shall explain once done. Thank you!

Leave a Reply to Charles Viau