Generating inaudible tones

I am not sure if this is the right place to post this.

But i wish to generate a tone that the human can’t hear, so above the 20KHz, this tone is going to be used as a control signal, so i want the amplitude to be high, and no audible sound.

I have done it, but there is no recognition of any levels being displayed on the meters when played back. so there is no voltage levels being sent across the audio cable. Why would this be?

Thanks in Advance

A sample frequency of 44100 (Audacity default) only supports musical tones up to about 20KHz and is messy with pure tones much above about 17KHz. So no, you won’t be able to call bats with that. Try higher sample frequencies like 96000. That should take you up to about 36000 Hz tones.

Then there’s the physical limit. Many soundcards will not make inaudible signals although some will. You may need to buy a soundcard or soundcard-like device to do this. Also remember that starting and stopping pure tones invokes modulation effects which can be audible even if the tones themselves are not.

For example, generate a pure tone of 440Hz, the oboe “A” at the top of the orchestra. Unless you take special steps, there will be a tick at the start and stop points. The two points generate infinite frequencies and are very clearly audible.


There are very few people that can really hear 20 kHz, and most of them are under the age of 10… So working at 20kHz might server your needs.

But if you want to go much higher than that you will probably have to investigate D/A converters that are designed for laboratory or scientific used, rather than audio use (which probably means a lot more expensive). An amplifier won’t be a problem, almost any decent audio amp will to to 100 kHz. A suitable transducer could be a bit more difficult. There used to be some inexpensive piezo-electric tweeters sold that had responses out beyond 50 kHz, but I don’t know if those still exist or not.