Find the answer to your Linux question:
Results 1 to 2 of 2
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Why can I hear speaker-test at 20Khz?

    I've run the command
    speaker-test -f 20000 -t sine
    Which of course makes a high pitch noise at 20000 (20K) hz.

    The problem is that this is the upper limit of human hearing, and I know for a fact that my ears can no longer pick up frequencies at that range. So my question is: why doesn't speaker-test do what it's supposed to?

  2. #2
    Super Moderator Roxoff's Avatar
    Join Date
    Aug 2005
    Nottingham, England
    I can think of several reasons why this might be, but of course there's no proof that any of these apply...

    - perhaps you still _can_ hear 20KHz frequencies?
    - There may be limits of your hardware - perhaps you've exceeded the upper limit of your sound card's chip and it's rounded down?
    - Maybe there's a loss effect in the way the sine wave is encoded and when it's decoded it comes out at a lower frequency? Or perhaps the encoding is introducing noise and you're actually hearing the noise not the real 20KHz frequency?
    - It could be a limit of your speakers - if they're struggling to to 20KHz then maybe it's coming out at a lower frequency?

    You could take a look through the source code of the speaker-test tool and see what values are being pumped into the sound hardware - I doubt that it'd be easy to follow through very quickly, but it might shed a little light on the issue.

    You could also try feeding in lower and lower frequency requests until you hear the note change, then you'd know it was being rounded down or subject to encoding noise.
    Linux user #126863 - see

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts