SPDIF/HDMI Sound Keeper v1.1.0 [2020/07/18]

Prevents SPDIF/HDMI digital playback devices from falling asleep. Uses WASAPI, requires Windows 7+. To close the program, just mute the Sound Keeper in the Volume Mixer or simply kill the soundkeeper.exe process. If you don't like to run it manually after every system reboot, copy soundkeeper.exe to the startup subdirectory (to open it, press Win+R, enter "shell:startup", and press Enter).

Download: soundkeeper.7z (15KB). Source code →

Features

  • Sound Keeper is fully automatic and doesn't require any user interaction.
  • Sound Keeper can keep sound on many sound outputs simultaneously (e.g. SPDIF and HDMI).
  • Sound Keeper detects new sound outputs on the fly (e.g. when you connected a TV via HDMI).

Settings

  • Default behavior can be changed by changing file name of the Sound Keeper executable.
  • Primary audio output is used by default. Add "All" or "Digital" to executable file name to enable Sound Keeper on all or digital only outputs.
  • Inaudible stream is used by default. Add "Zero" to executable file name to use stream of digital zeroes (like it was in v1.0.0).

Sound Keeper vs. SPDIF Keep Alive vs. SPDIF-KA

Sound Keeper v1.0 SPDIF Keep Alive v1.2 SPDIF-KA v1.4
Fully automatic: Yes No No
Multiple outputs: Yes No No
GUI: No Yes Yes
Requires .NET: No Yes Yes
Executable size: 17KB 668KB 163KB
CPU usage (on Intel Core i5 4460): 0.004% 0.06% 0.06%
RAM usage (Private Working Set): 1636KB 13704KB 10600KB
  1. #101
    VEG Author

    Steffen, unfortunately there is no such option yet. If it is a digital output, you can keep all digital outputs awake by adding "Digital" to the file name. It won't consume much resources, the code is really lightweight.

    Probably, one day in the future I'll make proper settings in an ini-file or in registry, and enabling Sound Keeper for specific outputs would become possible, but can't promise it.

  2. #102
    Steffen

    Got it, thanks. I'm asking because I use an interface and have SPDIF as my main, and 24 "other" audio devices of which only one needs to be kept awake (it's basically a mixer with 24 stereo channels of which each is registered as a pair of outputs and inputs).

  3. #103
    VEG Author

    Oh, wow, 24 outputs. Didn't expect such number =) You can test how much CPU it consumes in your case, but I think it will be less than 1% anyway.

    Also it is interesting what audio device type is reported by the system for these outputs. When you enable the "all digital" mode, it tries to keep awake all audio output devices which are reported as HDMI or SPDIF by the system. So, if your audio outputs are none of these from the point of view of the OS, they should be ignored in this case. If the required output is not HDMI nor SPDIF, then "all" mode should be used, but it will enable keeping awake of all 24 audio outputs.

  4. #104
    Calab

    I love the idea of this utility, unfortunately it is not helping in my case...

    I have a set of speakers, connected to the line out ports of my computer. These speakers will shut off automatically if there is silence for 20 minutes. I was hoping that this utility would work to keep the speakers active, but either the sound level is too low to be detected by the speakers, or the utility does not support the analog line outputs of my computer.

    How can I know that SoundKeeper is outputting a sound through my line outputs?

    Is there a way to increase the volume of the "silent sound" going to the analog line out channels?

  5. #105
    VEG Author

    Calab, current version of the Sound Keeper doesn't produce any sound by default, it generates just silence. It is enough for digital devices, but not enough for analog devices. There is a beta version which can generate very low frequency sine wave (which you can't hear) for analog devices. You can download it here.

    You can control settings through file name. Original file name is SoundKeeperSineF1A1.exe, there are two parameters, F (frequency) and A (amplitude or volume), and it means that it should generate 1Hz sine with 1% amplitude. You can change these settings. For example, if you rename the file to SoundKeeperSineF1000A100.exe, you will hear a 1000Hz tone with 100% amplitude. Please try to find the lowest values which help you. Probably, 1Hz 1% won't be enough, try 1Hz 10% then, etc. After you find the values which help you, please write about it here in the comments, probably it will help somebody else also.

  6. #106
    Bernard

    So filename is SoundKeeper64Digital.exe
    Is that OK if I want to keep audio over HDMI "alive"?

  7. #107
    VEG Author

    By default, Sound Keeper tries to keep primary audio output on. If that HDMI is not the primary output, you should use the "Digital" suffix. But if the HDMI is the primary audio output, and Sound Keeper does what expected by default, it is better to use the default mode.