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.

806 Comments so far

  • Khandakar Amir Faisal

    Nice Online apps, Just tested my new Booxbox 3 with this tone generation and found 38Hz and 60Hz is louder, maybe increase by 3db by design, Nice. like 38Hz, deep bass.

  • Justen

    I love this site! Thanks so much.
    Just one suggestion: would be cool to be able to divide it between left and right speakers so we can test two speakers against each other.

    • Deryk

      Hi Justen, I know your comment is a few months old now but thought I’d mention that there is a way to control the balance. Just to the right of the volume control, near the bottom left-hand corner of the tone generator tool, there is a button with two speaker icons facing left and right. When you click that button, the page will display a slider that lets you change the stereo balance. Shifting it all the way to either side will mute the opposite speaker so you can isolate the tone playing to one speaker or the other. I don’t know if that’s exactly what you’re looking for, but I’ve used it successfully to test a faulty pair of monitors. Hope that helps!

      • mohan

        QQ, how do i know that the OS interface, all the way down to the headphones i’m wearing, don’t filter, condition or alter the sound in any way of the frequencies authenticity? Is there a device i can get that plays these frequencies at an authentic level?

  • V.D.

    Hi! I have a pair of Audioengine A5+ speackers connected to my PC through a Ifi Zen DAC V2. Is it possible that I damaged my left tweeter with this test (high frequsncy + high volume)? Apparently the left tweeter doesn’t work. Could the other’s speakers quality be affected by the test even if apparently they produce a pretty normal sound?
    Thanks!

  • revenger

    I use this tool to take revenge on my annoying upstairs neighbor who make loud drop noises all night and morning

    • Jay ram

      Tones played with decent subwoofers at 19hz will cause problems with balance and is inaudible to the human ear. Tones at 7hz is the same frequency that all internal organs reverberate at.

  • Xilef

    I would love to see a feature, where you could set phase difference between the left and right speakers, for some more fun experiments about interference

  • Ken

    Really useful tone generator. I am using it to check the notches in my hearing frequency spread. It would be useful to be able to save the level/frequency pair in a file or clipboard on (say) doing a shift click after adjusting the frequency and level. It would be easy then to use a spreadsheet on the collected data to plot the result. But I am doing it by hand which is fine.

    I sent you a small donation.

  • Roy

    have any of you guys in here tried the test that this guy is doing??https://www.youtube.com/watch?v=dWX6snuwtDc

  • Lukas Sitkomirski

    Dzięki za twoja prace! Mam jednak prośbę. Proszę daj możliwość zmiany frekwencji dźwięku poprzez przesuniecie suwaka i w tym samym momencie odczyt danej frekwencji na liczniku. Teraz przesuwam suwak w lewo albo prawo, ale frekwencja pozostaje przy 440Hz. Trochę to irytuje.

  • Bob Zapf

    Hello,
    Having discovered this website, I think it is wonderful, but how difficult would it be for you to make a modification such that I could select a note, say C, then holding down the control key (or shift or alt) and click on additional notes, say E, G, an C 8va for C major chord? This would eliminate the need to open 4 widows just to hear a chord drone.

    This modification would make it even more wonderful! I would even be willing to pay you for this modification if it would not cost too much, say a couple 100 dollars or so?

    Please reply to let me know your thoughts on making this modification.

    Thank you,
    Bob

    • Tomasz P. Szynalski

      Hi Bob,

      Having multiple tones is something I’ve been thinking about for a long time and probably will happen at some point. The only thing stopping me is that it would require a major redesign and I’m not sure how much interest there would be in such a feature. There are other ways to play musical notes – for example, you could use a piano. There is something to be said for simple tools.

  • CG Trout

    Their seems to be something wrong with this generator, at least on my computer. I’m able to hear sounds all the way to the highest settings, which almost no human should be able to hear. To me it sounds like their is possibly “aliasing” going on here, meaning harmonics are coming through that should not be.

  • Me

    Using this site with multiple speaker arrays to test Tesla’s theory on vibration and resonance…

  • Abli Dublonimously

    The study regarding 40hz beats of sound and 40hz light flickers did not utilize pure 40Hz tone. They used a 10khz tone in 1 ms pulses.
    Has anyone considered using two more tones tones out of phase to simulate?
    Your website has the means to do this. Just load the website in two tabs and pick two frequencies that are 40 hz apart.

    I chose 3000 hz and 2960 hz, just to see what it would sound like in a mid high range. and to see how annoying it could be… well it’s not that bad. I sounds like crickets. Just make sure your volume is set at 1 for each browser. Its a highly staccato and very pearcing noise. I don’t have an AZ diagnosis, but I’m not a great sleeper. I’ll see how his goes, if I stick to it for a week, I might report back.

    Simple but cool website. I might use it to tune my guitar, if I can get the right combination of pitches.

  • Cathy

    I really like this generator- but would find it more useful if I could set tone durations as well.

  • James Elliott

    I have suffered from tinnitus for over 30 years now. At first it was mild and now has become almost unbearable. All these years none of my doctors have ever mentioned tone treatment.

    I wanted to show a friend what the tinnitus I hear sounds like. So I looked for tone generators on the web and found szynalski.com.

    It was fairly easy to find the tone I hear 24/7 at 7000 to 7400hz that may vary a little day to day. You will know when the tone is in tune with your tinnitus as you get a harmonized vibration.

    I played this tone for about 5 minutes for my friend and then turned it off. When I turned it off I heard something that resembled the sound of bacon frying that faded away in a few seconds. AND WOW, to my amazement my tinnitus was completely gone.

    In about five minutes it came back. but after looking at further treatments, I stumbled on devices they sell for this. Who knew? Well I guess my doctors didn’t!

    By finding the tinnitus frequency and listening to it for 10 minutes a day can possibly teach the brain to distinguish real external sounds from internally-generated sounds, which over time reduces the ringing in your ears.

    Neosensory.com actually sells a device for frequency tone treatment.

  • Daniel Holmstrom

    I have been waiting, and waiting, and waiting, and waiting for your site to come back online. I used to used it regularly in my Music class in teaching about pitch, tuning, etc. It is by far the best tool I have found online and it was sorely missed while it was unavailable. Thank you! I will definitely be supporting you if you promise not to disappear again. jinkuyu!

  • cruiz

    Man, omg what did you do with your tone generator? Now when I play tone it will not start immediately at full volume but raising gradually (like some fading effect) = why you decided to do this? I used your generator to tune my equalizers for headphones and now and cant compare loundness of signals correctly, I became very hard

    • Tomasz P. Szynalski

      There has always been some kind of fade, but in the new version I’ve switched to a linear fade, which sounds more pleasing. The fade length is 0.5 s and perhaps it could be shortened. How exactly are you using the generator to tune equalizers?

      • cruiz

        Man, your tone generator is priceless when you use it combined with Equalizer APO or any parametric EQ (APO is the best). Let me explain. Every headphone or earphone sounds different – they all have different frequency response, best of them have frequency response graph close to Harman Target or any target that is close to harman. BUT if you have a little bit of experience using tone generator and parametric equalizer you can change frequency response to sound like Harman target (or any target you like). HOW exactly a do this: 1. up to 1.5 kHz or ears cant judge precisely within 1-2 dB range of loudness (eg. its very difficult to say when 150 Hz is louder than 100 especially within 2 dB range) so you should get more or less cheap microphone and measure freqeuncy response using any rubber tube (on one side you put in microphone and earphone on another), or simply put microphone on your ear and wear headphones (if you need to measure headphones). if your mic have linear frequency responce up to 1000-1500 (and doesnt have bass roll off) it will show you correct graph. (I use ROOM EQ WIZARD application on PC for measurement). Then you just change numbers in EQ to make your graph look like Harman. Why you should do this only up to 1000-1500 Hz? because mid frequencies start to change in your ear – if you have different length or width of your ear canal – you will have peak on different frequency (some may have it on 2.8 or 3.2, it depends on your ear) so even your both ears may have different ear canals so – and this is where your tone generator comes in – you should start listening tones at 1500-2000 to tell if you hear signal in the center of your head (if not you should correct left or right channel on this frequency in Equalizer APO, this app allows you to equalize L/R channels separately). After you did all frequencies with 250 or 500 hz step, starting from 1500 (1500. 1750. 2000. 2250. 2500. 2750. 3000 etc up to 17-18 kHz where your hearing drops) to sound in the center your head, you should compare them with each other step by step (1500 and 1750, 1750 and 2000, 2000 and 2250 etc) and you can double check comparing with 500 Hz step (1500 and 2000, 1750 and 2250 etc) and make them sound EQUAL. but you also should take into account that 1500 should be louder than 1000, 2000 louder than 1500, at peak of loudness on 2.8-3 kHz then it starts to roll off very slowly (look at Harman target graph). So the most difficult part is to make correct peak at 2.8-3 khz, because if you make it smaller than 7-8 dB rise (if 1 kHz is 0 level, then 2.8-3 kHz should be 7-8 dB louder). – then all your following frequencies also will be below Harman target and as result you will get dull, muddy sound with a little high frequencies (you will cut too much). If you will make 2.8-3 Khz too lound then you will get shouty voices and harsh sound with too many high frequencies. So your goal is to guess this 3 kHz elevation (so called “ear gain”) and basically after that you just make all following high frequencies to sound equal. When you done, you check the sound on actual music, because sometimes you can make mistake if you not experienced and this mistake will add up eg. you make 4 kHz sound lounder than 3.75 by 1 db, then you will make 4.25 louder than 4 etc as result you will get very elevated highs. or otherwise you can go down and make dull sound again. this requires a little bit of practice but in the end – all my earphones and headphones sound 95% the same, believe or not.
        There is small trick when you are trying to compare loundness – you should listen to SHORT signal, 1 second is enough (eg. listen 1 sec 5 khz, then quckly switch to 5.25 kHz and listen 1 sec, then you can easily tell which one is louder. If you listen to longer signal, then ear somehow adapts to the sound and its harder to say which one is louder, I dunno maybe its only my ears work this way. Now that you added this fading effect I no longer can listen to short signal, I have to wait untill it sounds full loudness and this creates difficulty in comparing frequencies between each other. Effect is interesting when you try to understand if signal sounds in the center of your head of one channel sounds louder – because sound kinda flows from center to sides and as result its easier to hear when one of the channels is louder

        • Tomasz P. Szynalski

          Yikes, that’s a bit more info than I wanted. I think the Harman target curve is measured with a microphone via an ear model. So the 7-8 dB rise at 3 kHz is what the microphone picked up at the other end of the fake ear canal. It’s not what people subjectively hear – the Harman curve is further altered by the response curve in your inner ear and brain. So if you’re calibrating with your brain to get a subjective 7-8 dB rise, you’re not getting exactly what the Harman curve is. Of course, what matters is not adherence to some theoretical curve, but your subjective feeling of enjoyment or “neutrality” or whatever. But I just thought I would point that out. I totally agree that everybody (especially after a certain age) should have a custom EQ and in fact I recently bumped the high trebles in my eqAPO profile to compensate for my increasing deafness in those ranges. Secondly, I would like to know if this procedure you’re using is described somewhere or if it’s your own invention. Thirdly, I can see how the fade would mess up volume comparisons, so I have reduced the fade from 0.5 to 0.25 s. Furthermore, if you’re using Chrome, you’ll be able to customize the fade time. Press Ctrl+Shift+J to bring up the developer console. To reduce the fade to 0.05 s, type in “FADE_TIME = 0.05” and press Enter. But first try the current default setting (0.25) and let me know if it helps.

          • cruiz

            Man, thanks for the answer. Now it became normal again, I can compare nearby frequencies with no problem. In fact now it combines advantages of short signal with no fading and little fading still helps to determine which channel is louder or signal sounds in the center of head.
            About Harman target – you are comletely 100% correct, my experience supports what you said. Because usually when I try to compare my setting with measured graph (if I can find one) – I always find that +10 dB on the graph (in fact strict Harman target 2019 has +10 dB ear gain on 3-4 kHz) is too much, voices are too shouty for me (if you dont listen to vocals, only classic, jass, electronic – it all doesnt matter, I guess voice is the main part of music where we can simply judge when it sounds unnatural) and as result I have to lower volume and get less perceived bass and less high frequencies. And when you have to lower volume it’s a sign of incorrect tuning of headphone or earphone. But when someone’s graph shows +7-8 dB ear gain – usually it’s good for my taste and I dont bother with mid frequencies tuning, just lower the bass (if it’s too much) and change high frequencies to get rid of the peaks and dips.
            This “procedure” I described – I never stumbled on someone who described it, but I’m sure it’s not only my “invention” because its pretty simple idea, only a little bit tricky to execute it, because you should be able at least to hear 1 dB diffence in loudness to be precise, maybe sometimes I can hear 0.5 dB but here I’m not sure. Probably I dont get perfect frequency responce after all BUT result is always pleasing. As I said, all my earphones (I usually use “in ear”, they are much easier to tune and they usually have smooth frequency response, you just have to get rid of peaks – ear resonances or dips if developer made it this way) sound equal. If you would like, you can describe this method or record video of it, I myself wanted to do it, but I’m not good at english speaking, I only can write. Also it can help to make your tone generator even more popular. But I can tell you this much – many people in audio hobby, audiophiles etc – they use your tone generator at least to make simple equalizing, they listen to it kinda as sine sweep in order to find or areas or rising volume or droping volume – so they can easy can find peaks and dips in frequency response and equalize them with simple filters (they usually use not basic Equalizer APO but Peace user interface, because they dont equalize “step by step”)

            • Tomasz P. Szynalski

              Glad to hear the 0.25s fade works for you. BTW, I’m not sure if this is what you’re already doing, but you can use the volume control on the generator in your procedure. Let’s say you want to make 3 kHz louder than 1 kHz by 3 dB. When playing the 3 kHz tone, you can lower the volume by 3 dB (multiply by ~0.71 – sorry there’s no dB volume readout yet) and then just try to make them sound equally loud, which is easier to do.

      • cruiz

        Also you should never use any measurement of headphone or earphone (you can still use it to help you for double checking and comparison with your results) and apply it to your hearing because everyone ears are different (different ear canal, different hearing, different state of nervous system – I mean usually in the evening we hear some frequencies louder than in the morning, and when we tired as well. That is why it’s very important to use your own ears, tone generator and correct sound with EQ if you want to get perfect sound. I cound use any tone generator I guess, but I used your generator for many years and I adapted to it, I never change the volume (set at 75%) and only change volume in windows. because (it’s very important) you should tune your equalizer at volume on which you listen your music. when you increase the volume you will notice than ear gain becomes LOUDER even though obviously frequncy response your earphone is not changing when you increase volume – you start to hear some frequencies even LOUDER, it applies to frequencies starting from 2 to 4 and probably some hight frequencies (here Im not sure). Then idea is that even if you tune your EQ on some volume – when you start to increase volume – you will hear that voices again will be too shouty and peaks on high frequencies again will be pronounced even if you cut all loud peaks on lower volume.

  • Jeremy

    Please make an app for this if you haven’t already. A tuner-metronome app. I will buy it yesterday.

  • Tom

    Thought it time to donate again, seeing as I use your site alot. Once again, Thanks for keeping it here

  • glen

    I used your site as I attempt to deal with my tinnitus. Currently your upper level is dead on similar to what my tinnitus sounds like. My hope is that sound on sound will have an impact on canceling the tinnitus. Will let you know if it works.

    glen
    Boerne, Texas

  • glen

    The 12,500 Hz is identical to what my tinnitus sounds like.

    glen

Leave a Reply to Diggitydawg