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.
- 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.
Jorge Aug 30, 2012 at 12:03 am
That’s why I love this blog: Tom always posts something cool. Thanks Tom!
Mark Henry Cooney Nov 6, 2017 at 1:10 am
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 Jan 21, 2018 at 11:14 pm
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 Feb 20, 2018 at 8:20 am
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 Feb 20, 2018 at 10:25 am
Thanks for the report, but it works fine on my machine. What operating system and browser are you using?
Don Feb 20, 2018 at 6:16 pm
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 Feb 21, 2018 at 8:38 am
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 Mar 19, 2018 at 6:22 pm
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 Mar 19, 2018 at 9:35 pm
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 Oct 21, 2018 at 11:38 pm
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 Jul 14, 2018 at 8:19 pm
In some particular case, the tone generator can be helpful used to bring a noisy neighbour down to earth 🙂
Steve Mar 25, 2019 at 8:51 pm
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
Tomasz P. Szynalski Mar 25, 2019 at 9:24 pm
If you’re hearing high-pitched tones, you could simply have tinnitus. If the noise is still there after you plug your ears or cover them with isolating headphones, it’s tinnitus. See these two pages for advice on tinnitus:
MJG Mar 28, 2019 at 12:15 pm
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 Sep 6, 2012 at 2:13 pm
It’s bad luck for me. I use linux. 😀 grrr But it’s good toy. Nice one.
Fred Oct 26, 2016 at 6:16 am
Got linux too. Works fine for me.
Čech Sep 6, 2012 at 2:22 pm
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?
Tomasz Sep 6, 2012 at 3:05 pm
Are you saying you tried it in Firefox 15 on Ubuntu and it works? It doesn’t work on Firefox 14.
quinn Jun 14, 2017 at 4:32 am
if you can hear it from 20z to 20173hz, but not above or below that, it means you’re human. That’s the range humans can hear. 🙂
N/A Aug 10, 2017 at 9:55 pm
If thats is true then something is wrong with my computer or me- I can hear up to 19.3k hz…(I’m human)
Clint Sep 28, 2017 at 7:07 pm
If you are over 23 years old, you most likely cannot hear above 18 kHz. I am 76 and cannot hear above 8 kHz.
Jonathan Jan 15, 2018 at 8:37 am
If you can’t hear above 8kHz can you not hear anything? Or are you talking about something else?
hunterz0 Feb 18, 2013 at 11:13 pm
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 Feb 19, 2013 at 11:46 am
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 May 29, 2013 at 11:39 am
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 Dec 22, 2013 at 1:04 pm
It works in Ubuntu 12.04 with Firefox 25.
Nice job, thanks!
charlesdschultz Jun 11, 2014 at 7:27 pm
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 Jun 11, 2014 at 10:59 pm
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 Jun 11, 2014 at 11:17 pm
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 Jul 1, 2014 at 10:17 am
Best sound application EVER !!! Thanks!
James Jul 9, 2014 at 5:00 am
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 Sep 1, 2014 at 5:54 pm
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).
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).
– Rev. Dragon’s Eye
Tony. Sep 7, 2014 at 8:05 am
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 Sep 10, 2014 at 8:51 am
Try this website. C4 is middle C.
Tomasz Sep 24, 2014 at 9:08 pm
Tony, please check out the updated version.
Steve A Sep 10, 2014 at 8:26 am
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.
Tomasz Sep 24, 2014 at 9:08 pm
I’ve added a menu to choose any music note. The frequencies for notes are calculated using a formula, with no rounding.
Steve A Oct 6, 2014 at 2:58 am
I just noticed that! Thanks a zillion! Bar none, this is the best tone generator out there.
lukephills Sep 13, 2014 at 4:18 pm
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!
Tomasz Sep 14, 2014 at 2:43 pm
Firefox’s implementation of the Web Audio API is in its infancy. Hopefully the issues will be fixed soon.
Pretty-deaf Dave Oct 10, 2014 at 8:09 pm
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 Oct 20, 2014 at 2:45 am
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 Oct 24, 2014 at 7:16 pm
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.
Tomasz Nov 2, 2014 at 7:13 pm
I’ve added a volume control, hope it helps!
EPeterson Nov 2, 2014 at 7:56 pm
Works great! Many thanks.
Keith Nov 4, 2014 at 12:18 pm
Thanks – I really appreciate this thing.
Jalim Nov 6, 2014 at 6:04 pm
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!
Tomasz Nov 6, 2014 at 7:45 pm
Jalim, thanks for writing! That’s nice to hear!
Termite Nov 18, 2014 at 7:02 pm
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 Nov 25, 2014 at 3:58 am
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 Dec 10, 2014 at 4:05 am
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 Dec 12, 2014 at 7:56 pm
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 Dec 27, 2014 at 7:19 am
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 Dec 27, 2014 at 1:11 pm
Oh, it’s nothing special. Every night, I polish the sine waves with a special paste until they’re completely smooth.
astrodoug Jan 7, 2015 at 9:17 pm
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 Jan 15, 2015 at 3:09 am
Bardzo porzadny generator, prosty w uzyciu i praktyczny. Przynajmniej mozna powoli i dokladnie sprawdzic to, co sie chce sprawdzic. Pozdrawiam.
Greg Jan 15, 2015 at 8:01 am
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 !!
Clark Feb 12, 2015 at 5:46 pm
^ +1 I am using this for practicing scales and would love if we could change the waveform.
Tom S Jan 16, 2015 at 2:00 am
My tinnitus rings right at 3907 HZ. Interesting. Thanks.
Gary Jan 20, 2015 at 2:26 pm
This is a really well designed tool. Any chance of obtaining a download which does not require being online to use it?
Tomasz Jan 22, 2015 at 4:34 pm
It should work if you save the complete page from your browser.
Dan Feb 28, 2015 at 12:09 am
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 Mar 7, 2015 at 7:57 pm
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 Mar 17, 2015 at 10:17 pm
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 Mar 22, 2015 at 9:38 pm
Would be improved if the left & right arrow keys controlled the lowering and raising of frequencies.
Tomasz Mar 23, 2015 at 8:44 am
You can use the arrow keys, but you have to select the slider first.
Tomasz Aug 30, 2015 at 2:20 am
Left/Right now changes the frequency even if the slider is not selected. Shift+Left/Right fine-tunes by 1 Hz. Space toggles Play.