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.
Dave Aug 18, 2021 at 6:29 pm
Hi. What programming language are you using for this web app?
I ask because I am interested in similar things. I want to write a program (maybe desktop instead of web-based) to generate a certain set of frequencies.
Tomasz P. Szynalski Aug 18, 2021 at 6:55 pm
Rib Aug 20, 2021 at 5:50 pm
Very nice relieves stress thank you soooo much
Farrukh Javaid Aug 24, 2021 at 9:41 pm
This webapp has more purpose than you think, I use bluetooth earbuds on my laptop but after short interval of no playback, bluetooth device disconnects everytime, i tried various troubleshooting methods nothing helped. i got idea, opened your webapp and play frequency generator with 1Hz, and 1% volume, windows thinks there is playback so it keeps device connected and i enjoy uninterrupted music on the top of it.
Thanks for your efforts
yaho Aug 27, 2021 at 2:00 pm
I love annoying my classmates and teachers by using your frequency generator, thanks : )
Jake Aug 27, 2021 at 5:16 pm
Hi. I discovered a link to your tone-generator in a message on an email discussion list. The message gave instructions for getting water out of an iPhone, and linked to your site. I’m not about to dunk my phone in the first place, but I’ll admit I have a bit too much time on my hands and was therefore rather curious. So I came here and like what I see. I’m a long-time screen reader user, and the tone generator works well with my current screen reader on the Mac. I’ve also looked at your other stuff. Thanks for a great website and keep up the nice work.
Tomasz P. Szynalski Aug 27, 2021 at 10:09 pm
Thank you, Jake. Good to know it works with your screen reader.
James Truslow Sep 15, 2021 at 2:29 am
Amazing, Im glad i had the idea to use this its working to help alleve a headache i was having, lower tones are great for drowning out car noise and for sleep etc. scared to put the volume too high around 20,000 hz cause i wouldnt even know if it was damaging my ears with these really nice speakers im using.
Jacek Sep 16, 2021 at 2:55 pm
Jestes Bogiem Tomaszu. Dziekuje zycze spokojnosci.
James Truslow Sep 18, 2021 at 5:23 pm
just want to point out that the symbols for less than and greater than are switched
” 10,000″ this is saying higher than 20 Hz and less than 10,000, which makes no sense lol
James Truslow Sep 18, 2021 at 5:24 pm
just want to point out that the symbols for less than and greater than are switched
this is saying higher than 20 Hz and less than 10,000, which makes no sense lol
Ari Sep 22, 2021 at 3:10 am
Hey just wanted to say that if it’s possible to change it, I would definitely move the warning to the top of the page. I don’t know a lot about frequencies and hearing and was playing 17,000 hrtz for a while on my phone on full blast without realizing that it could damage both my phone and hearing. I only realized once I accidentally scrolled down and read the warning
greg Sep 22, 2021 at 8:01 pm
I just used your tone generator to identify an annoying sound that has been bothering our Saskatchewan village for months. I didn’t realise it’s actually two sounds, both 50 HZ, one a sine wave, the other a triangle. The sine wave literally vibrates the ground. We thought it was the train engines parked on the edge of town, but they’re the wrong frequency, and don’t suddenly start and stop like the problem sound does. Part of the sound travels though the air and t he other part travels through the ground. The vibration is something you feel more as you go higher in a building. We’re not the only town having this problem, no one knows where it’s coming from, or what’s causing it.
Tomasz P. Szynalski Sep 22, 2021 at 8:36 pm
Out of curiosity, what’s the name of your town?
artur Sep 25, 2021 at 12:04 pm
Hi, same problem here. The frequency is something around 60Hz, and modulated in various ways. Blocking the ears works so it is not something Havana style but very annoying anyway. I am using various sounds to mask it and some frequencies like Schuman harmonics, too. These frequencies can be extremely harmful and I think there should be some environmental controls regarding this.
gabriel smit Sep 23, 2021 at 8:44 am
hi thomasz, would there be a possibility to ‘design’ something like this which could hop between frequencies over a given period automatically [either online or downloadable]. say where you choose the frequencies to ‘hop’ – say between 15kHz and 18kHz and the ‘hop’ periods, say 30sec or even random hop times between certain frequency bands.
i am not hearing much beyond 13kHz anymore but i am frustrated beyond measure by the uncontrolled yapping and barking of dogs in my vicinity. at present they seem to respond well to 15kHz and upwards, they stop barking that is. it does not seem to bother people around me as the db is not that much; so it seems to be a win-win situation 🙂
Royce Sep 24, 2021 at 10:33 am
Hey, love the website so far. i mainly use it for the 40hz thing idk if it work tho hehe
anyway Safari 15 automatically changes the background colour of the tab bar, depending on the background colour of the website, or based on a colour defined in the website’s HTML code via a meta tag, and your website would look so cool if you somehow edited it to support it!
Tomasz P. Szynalski Sep 27, 2021 at 11:29 pm
I’m not sure it would look all that great, but I’ll look into it. Your comment made me update to iOS 15 🙂
Nat Roth Sep 26, 2021 at 8:28 pm
Thanks so much for making this tool! It’s just a really nice thing to have in my bookmarks bar. I’m always analyzing music but I don’t have perfect pitch so I use it constantly to figure out which key I’m in.
I just discovered the frequency shortcut system (https://www.szynalski.com/tone-generator/#370, for example, sets it to 370 Hz) which is nice for linking pitches to send to people. I was wondering if it would be any trouble to add support for pitch letter name shortcuts (https://www.szynalski.com/tone-generator/#c#3, for example, might play a C#3). It would make it way easier to write out urls without having to go check which frequencies I want all the time.
(Unless you’ve already done that and I’m using the wrong link format, which is likely. In that case just let me know the correct format and I’ll be delighted.)
Tomasz P. Szynalski Sep 27, 2021 at 2:59 pm
Thank you for writing in, Nat. You can already do that – pick a note from the note picker and then it will generate a link like https://szynalski.com/tone#Cs4,v0.75. The problem is, C#3 is the only note for which this doesn’t work!! I hadn’t realized this. It’s probably due to rounding errors – C#3 is not a rational number, so you have an infinite number of digits after the decimal point. When you convert the hertz to the equal temperament scale, there is a very slight difference (less than 1 trillionth). I don’t know why it happens only for this one number. Argh, this will be hard to fix…
Karin Swenson Oct 6, 2021 at 11:41 am
Would you consider including microtones in the selection of notes?
Tomasz P. Szynalski Oct 6, 2021 at 10:09 pm
I’d have to be sure there’s significant interest. Would be a challenge to fit extra buttons there.
Edwin Oct 18, 2021 at 7:32 pm
I used this tool to do some very basic audio room correction. Some tones really sound unpleasant in my gaming room, so I was able to track the frequency down and adapt my equalizer accordingly (I use “boom 3d” in windows as EQ software).
Bee Oct 27, 2021 at 9:03 pm
Can anyone explain why 430hz is so much louder than 440hz? Is that because of my own signal chain?
Tomasz P. Szynalski Oct 29, 2021 at 8:48 pm
Interference. Move your head a little and it will be the other way around.
Constantinos Nov 13, 2021 at 5:49 pm
Let me know how can i set 80 hz for right ear and 40 hz for left ear with your program?
Thank you for your assistance.
Tomasz P. Szynalski Nov 13, 2021 at 6:32 pm
You have to use two browser tabs. Use the balance control in each tab to pull the sound left/right.
David Nov 16, 2021 at 3:36 pm
Thank you for maintaining this, I use it all the time with work. It is a handy way to allow a client to generate a test tone on there speakers without needing to fuss around with software. Keep up the great work.
Tomasz P. Szynalski Nov 17, 2021 at 9:37 pm
Thank you for saying that, David – and thanks for the donation as well!
John B Nov 21, 2021 at 4:45 pm
This is such a great tool. I’m a pianist with a pretty good piano but with temperature changes etc odd notes go out of tune in relation to each other. So I’m able to correct these problems. Also to perfect 12ths for example you can match a faulty note and adjust it as necessary without risking spoiling lots of other intervals, thereby testing the adjustment before committing yourself with an actual adjustment.
Cheryl Nov 23, 2021 at 9:45 pm
Hi Tomasz, Thank you for doing this tone generator. I put it on my surface pro 4 so that I could let it stay on while I am on my desk top. Just wanted to know if that is a wise thing to do.
Also were you born in Poland. My Dad is from Poland. He was in the war and would never
tell us, his children, very much about his homeland. He has passed. Guess I am curious about Poland. Dad did tell me never to go to Poland. He was in a special forces unit. I am assuming that he told me that because he thought it would be too risky for us to visit his homeland.
Thank You again
Tomasz P. Szynalski Nov 26, 2021 at 10:04 pm
No problem leaving it on on the Surface.
Yes, I was born and live in Poland. It’s not that risky to visit anymore, now that WW2 is over.
S R G Nov 26, 2021 at 5:23 am
This is a convenient tool for simulating automotive frequencies.
For instance, lifter tap @ 1800rpm in a V8 where a cylinder fires every 2 rotations of the crankshaft:
f = 1800/(60*2) using a triagular waveform sounds very similar
Diggitydawg Nov 27, 2021 at 8:40 pm
I love it so much. Something that might improve the website is the slider. I want to slide through finer frequencies, Right now it skips over some. Perhaps holding down a certain key could move slider really slow? Definitively my fav frequency generator anyway tho.
mom Dec 3, 2021 at 7:11 pm
ay, can this break glass? if I can find the Hz for it then I can break it, right?
aaron Dec 7, 2021 at 1:09 am
Very simple and useful for jumbling things around with a speaker on a sorting machine. Thank you!
Potter Dec 8, 2021 at 1:02 am
Could you include a list of Solfeggio true tones?
Chris Z Dec 11, 2021 at 3:14 am
I use this to torture my friends since most of them have better hearing than me. I set the tone to just barely above what I can hear and then walk into the room with my laptop and they all freak out, and when they say something, I say ‘What noise? I don’t hear anything.’ Hilarious prank, until they find out where the noise is actually coming from.
michael Dec 11, 2021 at 3:35 am
Used this tool to test a formula I found that converts TET pitches to Hz (relative to A=440Hz, this would be 440[2^(1/12)]^distance from middle A in half-steps). My own voice hovers around 2 octaves or 24 half steps below middle A (therefore around 110 Hz). It’s fun to test my own voice against the frequency generator!
Aaron Dec 14, 2021 at 9:40 pm
HEY! just a quick question out of curiosity,
is there a way to display a list of the most common frequencies?
a “frequency” of the “frequencies” if you will. I’m curious to see the most common.
Tomasz P. Szynalski Dec 16, 2021 at 6:21 pm
Interesting idea. Right now I’m not tracking user behavior in any way, but perhaps in the future…
Vlad Dec 20, 2021 at 2:57 am
It could be very useful if you provide with a text box to specify frequency I would like to play. With other words, instead of using the sidebar I would like to type in an integer representing the frequency of the tone.
Tomasz P. Szynalski Dec 20, 2021 at 12:22 pm
You can already do that.