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.
Jos Nov 6, 2015 at 9:11 am
By using the FFT with MATLAB i get 880Hz for 440 Hz, why?
Conrad Nov 12, 2015 at 3:13 am
Just used this great tool to match at which hertz my right ear was temporarily ringing. ~733Hz, it seems.
chris wilson Nov 17, 2015 at 2:05 am
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 Dec 4, 2015 at 8:03 pm
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.
Tomasz May 22, 2016 at 9:00 pm
This has been implemented.
Dave McKenzie Dec 6, 2015 at 5:57 pm
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 Jan 2, 2016 at 12:21 pm
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 Jan 3, 2016 at 12:31 am
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 Dec 14, 2015 at 10:35 pm
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 Dec 15, 2015 at 1:11 am
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 Dec 24, 2015 at 11:29 pm
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 Dec 25, 2015 at 4:58 pm
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 Dec 25, 2015 at 5:49 pm
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 Jan 3, 2016 at 10:07 pm
Thanks for this tone gen. very helpful to us HAMS for radio testing
Avimun Jan 6, 2016 at 11:00 pm
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 Jan 13, 2016 at 3:55 pm
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.
gciriani Jan 29, 2016 at 10:57 pm
Joseph, what brand and model do you use please?
M.Anthony Jan 15, 2016 at 8:03 am
I am using Safari with an ipadii and I can not get the note menue to work. Any advice? Thanks, great generator!
Tomasz Jan 30, 2016 at 9:21 am
gciriani Jan 29, 2016 at 10:56 pm
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 Feb 2, 2016 at 9:52 am
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…..)
Jason Feb 24, 2016 at 10:32 am
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 Feb 24, 2016 at 5:47 pm
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 Mar 3, 2016 at 6:37 am
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 Mar 3, 2016 at 9:34 am
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 Feb 28, 2016 at 12:34 am
Thanks so much. I used this tool to find my starting note singing the national anthem at a conference this year.
Giovanni Ciriani Feb 28, 2016 at 9:37 pm
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 Mar 9, 2016 at 1:44 pm
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 Mar 9, 2016 at 3:33 pm
DO NOT, I REPEAT, DO NOT PUT THIS ON 20 HERTZ AT FULL VOLUME
Nathan Mar 9, 2016 at 3:34 pm
IT WILL START TO DESTROY YOUR BRAIN
fred Mar 14, 2016 at 12:55 pm
Thank you. Great tool
Jack Mar 16, 2016 at 2:30 pm
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.
Tomasz Mar 16, 2016 at 3:51 pm
Jack, it should be possible in principle, but I’m not sure if the timing would be precise enough for your needs.
Don Puryear Mar 18, 2016 at 9:42 pm
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 Oct 11, 2016 at 5:35 am
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 Mar 26, 2016 at 11:20 pm
Excellenr! Just friggin brilliant! Love this thing!
Norman Paterson Mar 27, 2016 at 7:49 pm
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 Mar 29, 2016 at 5:46 am
I agree with many others. Its an excellent tool. I use it to test noise frequency at low levels 35hz. Thank you!!!
Reginald Apr 10, 2016 at 3:37 am
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 Apr 18, 2016 at 7:04 pm
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.
Russ Lynch Apr 24, 2016 at 8:20 pm
Just what I needed to quickly check my hearing thru headphones.
Beats those other hearing tests by a mile. Keep up the good
Soundman Jun 12, 2016 at 2:47 pm
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!