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.

870 Comments so far

  • Jorge

    That’s why I love this blog: Tom always posts something cool. Thanks Tom!

    • Mark Henry Cooney

      Hello, would anyone happen to know how we can download the specific frequency sounds?

      I like the fact we can create a link. But I would very much like to download a specific HQ audio clip.

    • Tamaran Crane

      I am wanting to make geometric patterns with salt in my glass table using 528 via your site from my Android phone. Why is the salt not moving. I have made a giant salt table with 4 giant base speakers and pure tone 528. It made some patterns ( used masonote board )
      Are the patterns all about the base deep sounds.
      I want pure tone to make patterns in salt and then water and other things.

      Any advice you have to offer is appreciated and wonderful. Thank you.

    • Don

      I just discovered this tone generator and tried it out.

      I wanted to use it to check out some sound level meters that I own.

      The volume control doesn’t seem to work right.

      If I use it to lower the volume when the tone is playing, it does lower the loudness. However, it then drifts back to the same loudness level.

      For example, I set things up to produce a sound level of 80 db with the volume control at 100%. I then slid the volume control to 10%.

      As expected, the volume dropped. But it then proceeded to drift back up to around the 80 db level, even though the volume control was still at the lower setting.

      Clearly, this is something you need to fix.

      • Tomasz P. Szynalski

        Thanks for the report, but it works fine on my machine. What operating system and browser are you using?

        • Don

          My PC uses Windows 7 Pro x64

          I have tried it on both the Firefox and Chrome browsers.

          I find the same problems on both of them

          • Tomasz P. Szynalski

            I have the same setup and it works correctly. I’ll be uploading a new version of the generator shortly, perhaps it will help.

            If anybody else has the same problem, please let me know.

          • Don

            You said you would upload a new version.

            When will this happen?

            I just tried again on March 19, 2018 and the same problems are still there.

            Thus I conjecture you have not done anything yet.

          • Tomasz P. Szynalski

            Don, I uploaded a new version yesterday. If that doesn’t help, it must be something specific to your system. Nobody else has the problem you described.

      • Brad

        It sounds to me like you have some kind of volume leveling or loudness equalization turned on. Do you have any kind of audio processing software turned on on your computer, like Dolby, Equalizer APO, or some settings in Realtek? Check the “audio enhancements” section in your sound settings.

    • kk

      In some particular case, the tone generator can be helpful used to bring a noisy neighbour down to earth 🙂

    • Steve

      Hi,

      Can you tell me how I can find out where this frequency is coming from.I matched the frequenxy with your tone generator and its at 11,833 Hz.They play it at different times but its super loud.How can I pin point the location.

      Thank You ! Steve

    • MJG

      An awesome website which has the best tone generators.
      The virtual buttons of Scientific notation of notes ,i.e, A0,D2,etc., are useful even to play bass notes along with my fav. songs. I recorded some of these (2) which you can check in my website. It’s under the title My New Hobby in my website mjgnmusic.blogspot.com , which has both the original videos and audio link to the ‘Bass Added’ version using this tone generator.

  • Čech

    It’s bad luck for me. I use linux. 😀 grrr But it’s good toy. Nice one.

  • Čech

    So I try it in Ubuntu 12.04 with firefox 15.0 and it works propably bad. I listen good 20hz to 20173hz. Is it this bug? Does it give bad sound?

  • hunterz0

    It’s not working for me in Firefox 18 under Windows 7. The controls are there (minus the frequency number), but I can’t interact with them.

    • Tomasz

      Thanks, fixed. There was a syntax error in the JS — I don’t know how I managed to upload a non-functional file — I always test my sites after I upload them to the server.

      Physics will never explain things like this.

  • John

    Have you thought of giving users the option to change the phase of the signal so that they could possibly reduce or cancel the sound from another device. I have tinnitus and would like to see if it is possible to use this method to reduce the level of the sound in my head.

  • Tomik

    It works in Ubuntu 12.04 with Firefox 25.
    Nice job, thanks!

  • charlesdschultz

    Agreed, good stuff – very nice presentation, simple and easy-to-use.

    One request. Can you allow frequencies lower than 20Hz? I realize that drops below human hearing, but in terms of science, it makes for great woofer visuals.

    Along that line, have you considered having multiple simultaneous tone generators? Most of the sounds we hear (especially voice) are made of multiple frequencies. I would love to demonstrate to a class how sin waves destructively and constructively react to each other.

    Keep up the good work!

    • Tomasz

      Charles,
      I’ve modified the scale to allow frequencies starting from 1 Hz.
      I imagine demonstrating constructive and destructive interference would take some thought to do right. You’d have to make it possible to manipulate the phase. Perhaps you could do your demonstration with Audacity?

      • Charles

        Tomasz, that totally rocks – thanks for the quick turn around. So even though I cannot hear the actual frequency, I can hear the physical movement of the cone even down to 10Hz. Kinda cool. 🙂

  • Andrew

    Best sound application EVER !!! Thanks!

  • James

    nice app. My wife is using it right now for her sinus infection. She is pressing a speaker into her cheek + eyebrow. Somewhere between 100-107hz seems to be the best to break up her mucous. We’ve read elsewhere that people do this and it clears up the sinus infection immediately. Fingers crossed.

  • Rev. Dragon's Eye

    Nice and handy!

    Definitely works with FireFox v31.0 on Manjaro Linux installation.

    Would love to see how one can balance the volume based on the frequency as the higher frequencies often are louder than the lower frequencies. (Has to do with the lower losses of energy and shorter wavelengths.) – I used to know how to automatically adjust the volume via software (much like a compressor/compander would do in a circuit).

    Anyway,

    I have made sure to bookmark this on the other part of the site. Seems that the saved-as-complete page also works well (for a locally-stored copy).

    Great idea.

    – Rev. Dragon’s Eye

  • Tony.

    What about also displaying the pitch note for example A= 440 B= C= so on and so on. just the frequency is not enough. I have to keep searching for one of those now. by/

  • Steve A

    This is a great tool. Is there a way to get the frequencies to a a couple of decimal places? I have been using it to tune the banjo, but it is hard to get the perfect frequency…. But then again, as they say, you can tune a Harley better than you can tune a banjo.

  • lukephills

    Hi Tomasz, this is a great tool – nice work! I have a web audio question for you… What is the difference between Firefox and Chrome when it comes to changing oscillator frequency. Have you noticed that if you slide quickly in firefox the frequency-change isn’t smooth like it is in Chrome or Safari.

    I’ve been trying to fix something I made a while ago which doesn’t work properly on Firefox for that reason (http://femurdesign.com/backup/theremin-firefox-test/)

    Any help would be much appreciated. Thanks!

  • Pretty-deaf Dave

    I was just now looking for a tone generator to test my hearing in a ~deaf ear and had imagined something like this one with a slider….and lo and behold, here it is and elegantly and simply implemented!! Thanks so much. This is a wonderful tool, and it turns out I can hear with that ear within a narrow range. Good to know this.

  • EPeterson

    I’ve been looking for a tone generator with a slider just like this to teach about tuning musical instruments. This is elegantly done, thank you!

  • EPeterson

    OK, now I’m getting more ideas! Can a volume control be added to this online tone generator? (I have no idea how hard that might be) So far I can open a couple of browser windows and play them at the same time to demonstrate intonation and beats, but I’d also really like to open several browser windows and set them to different overtones on the same fundamental, and adjust the volume so the fundamental is louder than its overtones… but then adjust the volume of different overtones to demonstrate what (for example) a clarinettist should be listening for in a rich, centered sound.

  • Keith

    Thanks – I really appreciate this thing.
    Keith

  • Jalim

    Just wanted to drop in and leave a word of thanks. I’m a science teacher and I’ve been using this online application for three years now to help with my unit on sound. It is EXACTLY what I needed to do some of our experiments. Thank you!

  • Termite

    Thanks for this – I’ve had tinnitus for a while, recently after snorkling and diving, my right ear is really bad. But I am struggling to find the frequency. When using it I do find that some frequencies I can’t actually hear as I scroll through – not sure if that is related? Anyway – thanks again for the tool even while I’m still trying to find my frequency 🙂

  • Brian Beckmann

    Thanks for making this, I use it to localize the ‘hum’ I hear; it was consistently 66Hz but now varies between 59 and 72. At least I know it’ real now.

  • Zman

    Well done, thank you. Works in Opera 26.0 as well.

    Suggestion: I think would be better to make buttons (or single button) with changing color when generation is active. Right now if you click PLAY and you can not hear the sound (i.e. when the frequency is too low or too high to work on particular speakers) – there is no way to tell if generator is OFF or ON. This is quite confusing if you want to test working frequency range of output.

    • Tomasz

      Good point! I’ve replaced the two separate Play and Stop buttons with one button that changes from Play to Stop when you press Play.

  • loren

    thank you, this is great for working on my tube amp…I have no idea what’s different about yours but according to my scope yours is the only one of 5 or so I tried that has true, clean, sine waves. Thanx again!

    • Tomasz

      Oh, it’s nothing special. Every night, I polish the sine waves with a special paste until they’re completely smooth.

      • astrodoug

        Hi Tomasz. Your sound generator is fantastic. So much so that I want to download it onto my computer to do some experiments. I am happy to pay for it if I could get it onto a couple of pc’s and get to work so I can save the HZ combinations

  • Parsifal

    Bardzo porzadny generator, prosty w uzyciu i praktyczny. Przynajmniej mozna powoli i dokladnie sprawdzic to, co sie chce sprawdzic. Pozdrawiam.

  • Greg

    Tomasz — best frequency-to-tone generator site I have come across! Love the frequency slider. First, a couple of MINOR improvement requests (I hope). Can the up-down frequency adjustment arrows be interactive so that single clicking makes a 1 Hz change, but holding the arrow down with the mouse makes multiple 1Hz changes (until you stop pressing on it with the mouse)? That would permit the desired frequency to be selected much faster — especially important in the higher ranges. Also, can you make the word “PLAY” green and the word “STOP” red — when you drag the slider to far too the right and the volume is blasting and numbing the brain, colors help guide one to the STOP button quickly. Also, can you tell us what Wave the tone represents? Better yet, can we select the Wave, ie. Sawtooth-Sine-Square-Triangle? Also, once you select a frequency, can the music note change instantly to match — for simplicity of presentation, I suggest dropping the Hz after the music note and just putting a “+” or “-” after the Hz to let the person know the selected frequency is a bit higher/lower than the music note indicated — if curious, the person could always adjust the frequency up/down until the “+/-” went away, indicating the frequency was now within 1Hz of the music note shown. Second, a MAJOR improvement request. Rather than have the frequency only play a wave tone, can it also play the closest piano note? I am working with some healers who prefer to discern the healing tone as a frequency, yet we want to play music notes to the person being healed (much easier to listen to). If you do even a fraction of all this, that would be great !! Your work on this sound tool is very much appreciated !!

  • Tom S

    My tinnitus rings right at 3907 HZ. Interesting. Thanks.

  • Gary

    This is a really well designed tool. Any chance of obtaining a download which does not require being online to use it?

  • Dan

    I want to use something like this to tune my sliders of different frequencies on my equalizer. Do you make a CD that I can play in my system to do that?

  • Dets

    Great tool. I used it to determine the feedback frequency of a live recording, so I could set a extremely small bandwidth equalizer to remove the noise. Thanks very much,

  • Denka

    I would love to see an option to select a frequency for the right ear and a different frequency for the left ear even using a separate tab. Then it would be possible to try bin-aural beat experiments. Thanks fro such a wonderful and simple tool.

  • Mark

    Would be improved if the left & right arrow keys controlled the lowering and raising of frequencies.

Leave a Reply to Diggitydawg