1

I was wondering how accurate frequencies do PC speakers produce. I'm talking about the old small things in computer that usually beep.

I used the beep linux command to generate some frequencies. But I noticed something interesting. When I use the hardware PC speaker I stop hearing anything on 1700Hz. Actually I barely hear up to 16850Hz and I feel it more like a pain in the back part of my head.

Emulating PC speaker with the integrated sound card and listening through the laptop speaker I hear up to 20KHz and it is nothing like a pain.

So I am wondering if any of these two can be trusted for producing frequencies above 8Khz? I'm more inclined to trust the old PC speaker because I expect to hardly be able to hear such high frequencies. Not having experience with known correct equipment it is hard to judge though.

P.S. I don't think there is any spec I can read about frequency response.

2 Answers 2

2

The classic PC Speaker is a very simple system that was designed to be inexpensive and use off-the-shelf parts of the early 1980s.

The core problem is that the PC speaker system consists of a cheap speaker, a timer, and digital pulses. Using this system, you can get quite a lot of interesting sounds out that weren't originally intended. But you are limited to square waves and the harmonic content that comes with them.

I don't think there is any spec I can read about frequency response.

The best you can find is specs for the timer and then run experiments with the actual hardware. The early IBM PCs had discrete timers, but at some point that functionality got rolled into the VLSI chipsets that PC makers used to build motherboards.

If you have an actual audio chip built into the motherboard (fairly common, these days, much less common even in the late 1990s), then it is likely that the PC speaker functionality is emulated there. So the behavior will be different from the original hardware.

Your integrated sound card should produce the most accurate sound. But at the upper end of the sound range, you may be limited by the physical capabilities of your laptop speakers. If you drive the speaker faster than it can move, then you won't get the sound you expect.

2
  • That was my surprise that I actually have a true pc speaker in a laptop. It's interesting to know wave form, I was wondering why sound is so ugly from the true pc speaker. FYI in linux there is an alsa emulation of real sound card via the true pc speaker- just load snd-pcsp kernel module. Although noisy it's still amazing. Mar 7, 2013 at 6:33
  • Back in the '80s, there was a file floating around that, when executed, would speak "help, somebody! I'm trapped inside this computer" through the PC speaker. Mar 7, 2013 at 6:46
1

There isn't a good answer to this. It depends on the quality of the speaker and the quality of the sound chipset that is sending the output to the speaker. 20khz is a typical estimate of average human hearing range, so I wouldn't be that surprised if the sound card is more accurate. Generally they try to cover the range from 20hz to 20khz as the "typical human hearing range". A lot can alter that such as age and any hearing loss, but it's a general rule. It's also entirely possible for someone to be able to hear considerably past 20khz (22 to 23 isn't unheard of.)

Really, neither is designed as a calibrated audio system, so they may both be off by a bit, but for a simple sine wave, the sound card is likely much better quality than a simple PC speaker.

3
  • I actually tried generating pure sine wave with audacity. It seems more accurate to me but I thing the built-in laptop speakers produce parasite lower frequency sound above 16KHz. I'll have to try with some quality headphones. I can only say that these high frequency sounds are not pleasant. Mar 6, 2013 at 18:57
  • 1
    Yeah, pure sine waves at high frequency are not pleasant. We usually hear them as harmonics of lower frequencies in day to day life.
    – AJ Henderson
    Mar 6, 2013 at 19:41
  • Keep in mind that your built-in sound card probably generates audio at 44KHz. That means that a 22KHz sinewave will come out as a square wave. But it won't be that bad because your speaker can't move that fast, so it will be a somewhat rounded square wave. At 16KHz, you are still getting a much rougher approximation of a sine wave than you would at 1khz. Mar 7, 2013 at 6:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.