I started using a portable speaker for my Windows computer, and after discovering it goes to sleep got the following explanation from the manufacturer:

That model, as well as the rest of our portable speakers, has a power-saving feature wherein it will automatically enter the Standby mode after it detects no audio or no actions received for 10 minutes. And there are no options to disable the power saving/sleep mode.

So I want a script or program that will play an inaudible tone (e.g., over 30kHz) at least every 10 minutes. But the tone has to be low-volume, or fade in and out, to avoid making the speaker click when it starts.

  • Notice that a 30 kHz tone may result in a audible tone when sampled at 44 or 48 kHz due to some audio theorems. Jun 18, 2021 at 8:08
  • White noise might be an alternative. Jun 18, 2021 at 8:11
  • @ThomasWeller I tested a simple [System.Console]::Beep(30000,1000) and I could not hear it. So that will be fine for me.
    – feetwet
    Jun 18, 2021 at 13:10
  • 1
    30 kHz and byproducts might also be filtered out almost completely. I've used 25 Hz with up/down ramp in the past for speaker line testing. Wave file can be prepared in audacity (and this would be most flexible) and this seems like just few lines of code in basically any language (few dozen more if BT speaker is not a default audio device and thus device selection is needed). Maybe even combination of Windows Task Scheduler + sox + wave file. Are you looking for something sitting in tray or something completely invisible (say, process started by autostart without any kind of UI)?
    – TMSZ
    Jun 18, 2021 at 14:01
  • @TMSZ – creating a .WAV in Audacity is a good idea. As is the idea of a simple script that is called by a scheduled task.
    – feetwet
    Jun 18, 2021 at 14:48


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.

Browse other questions tagged or ask your own question.