![]()
Программа предотвращает засыпание цифровых аудиовыходов SPDIF и HDMI при отсутствии сигнала, и таким образом решает проблему обрезки начала звука при начале воспроизведения, которая вызвана тем, что звуковому тракту требуется небольшое время на пробуждение. Если у вас нет такой проблемы — значит драйвер аудиокарты не отправляет аудиотракт в сон при остановке воспроизведения. Если же проблема имеет место — Sound Keeper решит проблему непрерывным воспроизведением тишины.
Скачать: soundkeeper.7z (17КБ). Исходный код →
Особенности
Sound Keeper работает через WASAPI на Windows 7 и новее. Программа написана на C++, без использования тяжёлых фреймворков вроде .NET, поэтому она очень легковесна и расходует минимум памяти.
Sound Keeper внешне никак себя не проявляет и работает полностью автоматически: находит все цифровые выходы (SPDIF или HDMI) и предотвращает их засыпание. Если во время работы программы появится новый цифровой выход (например, если вы подключили компьютер по HDMI к телевизору) — это будет корректно обработано, перезапуск программы не требуется. Для отключения Sound Keeper вы должны либо выключить звук в микшере для этой программы (после чего Sound Keeper автоматически закроется), либо просто убить процесс soundkeeper.exe. Для автоматической загрузки программы вместе с системой просто скопируйте исполняемый файл soundkeeper.exe в каталог Автозагрузка (чтобы открыть его, нажмите Win+R, введите "shell:startup" и нажмите Enter).
Настройки
- Поведение по умолчанию может быть изменено добавлением опций к имени исполняемого файла.
- По умолчанию используется основной аудио выход. Добавьте "All" к имени исполняемого файла программы для включения Sound Keeper на всех аудио выходах.
- По умолчанию используется неслышимый сигнал. Добавьте "Zero" к имени исполняемого файла чтобы использовать поток нулей в качестве сигнала (как это было в Sound Keeper v1.0).
Если режим по умолчанию не помогает, попробуйте новый тип потока "Sine". Он генерирует синусоиду, и может быть настроен. Имеется два параметра: F (частота) и A (амплитуда). Значение параметра идёт сразу за символом параметра. Например, добавьте "SineF10A5" к имени исполняемого файла для генерации синусоиды 10Hz с амплитудой 5%. Низкие частоты (ниже 20Hz) и высокие частоты (выше 20000Hz) с низкой амплитудой (до 10%) являются неслышимыми.
Sound Keeper vs. SPDIF Keep Alive vs. SPDIF-KA
| Sound Keeper v1.0 | SPDIF Keep Alive v1.2 | SPDIF-KA v1.4 | |
| Полный автомат: | Да | Нет | Нет |
| Поддержка нескольких выходов: | Да | Нет | Нет |
| Графический интерфейс: | Нет | Есть | Есть |
| Требует .NET: | Нет | Требует | Требует |
| Объём EXE-файла: | 17КБ | 668КБ | 163КБ |
| Расход CPU (на Intel Core i5 4460): | 0.004% | 0.06% | 0.06% |
| Расход RAM (Private Working Set): | 1636КБ | 13704КБ | 10600КБ |
Спасибо за ответ. Сначала искал командные аргументы, оказалось все куда проще, чеерез имя файла.
Поигрался с настройкой, оказалось что слышу независимо от частоты.
Видимо какой то гремлин в Windows, ибо на громкость этого звука влияет именно громкость в микшере для SoundKeeper
Алексей, странно. Loudness Equalization в настройках аудиовыхода выключен? Оно должно быть на вкладке Enhancements (Улучшения) в свойствах аудиовыхода.
VEG, вкладки Enhancements вообще нет для этого устройства, проверил по вашему совету раньше.
Алексей, а в режиме Zero проблема тоже проявляется?
VEG, в случае с Zero к сожалению SoundKeeper перестает "работать". Звуковое устройство засыпает, и появляются тихие щелчки при старте/остановке звука в приложениях. Собственно то, что я им и решаю :)