Skip to content

About

Windows tray tool that plays an inaudible >=20 kHz tone to keep active-speaker tweeters from sleeping. Fluent 2 UI, smart volume linking (DC/PWM), zh/en.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

10 Commits

Folders and files

Repository files navigation

TweeterKeeper

中文 | English

D3V / Genelec 等有源音箱高音单元(Tweeter)保活工具 —— 持续播放人耳听不到的高频信号(≥20kHz),防止音箱在静音时让高音单元休眠/断开。

platform python ui

TweeterKeeper 控制面板

背景

部分有源音箱在检测不到高频信号时会让高音单元进入休眠,再次出声时有延迟或丢失开头的瞬态。解决办法就是让音箱始终收到一个人耳听不见的高频正弦波,保持高音单元常驻工作。

功能特性

  • 16–23 kHz 八档频率切换,实时波形动画确认输出状态
  • 智能联动:随 Windows 主音量反向调节正弦波音量
    • 阶梯 DC:跳变式档位调度
    • 平滑 PWM:节点间线性插值,音量连续过渡
    • 联动曲线图上直接拖动编辑(拖节点 / 双击加点 / 右键删点 / 拖红线改静音阈值)
  • 中 / 英双语界面(设置齿轮中切换)
  • Fluent 2 深色界面,无边框托盘 flyout,贴屏幕右下角弹出
  • 托盘左键开关面板、右键原生菜单;开机自启;完全静默模式(热键 Ctrl+Alt+Shift+T 唤回)
  • 单文件 exe,基于系统自带 WebView2,无需安装任何运行时

安装使用

到 Releases 下载最新的 TweeterKeeper.exe,双击即可运行(首次运行会在托盘出现图标并弹出控制面板)。

依赖 Windows 自带的 WebView2 运行时(Win10/11 通常已内置;若缺失,从微软官网安装 Evergreen 版即可)。

从源码运行

pip install pillow sounddevice numpy pycaw comtypes pywin32 pywebview
python src\main.py

前端可单独调试:直接用浏览器打开 src\ui\index.html,会自动进入 mock 模式(假数据 + 模拟系统音量滑条)。

打包

build.bat        # 或: pyinstaller --clean TweeterKeeper.spec

产物在 dist\TweeterKeeper.exe。

项目结构

src/
├── main.py          # 入口:单实例、DPI、组装启动
├── constants.py     # 常量与默认配置
├── config.py        # 配置读写 + 旧版本迁移
├── audio.py         # 正弦波引擎 + 系统音量读取
├── app.py           # 核心状态机:DC/PWM 联动、监控、热键、静默
├── tray.py          # Win32 托盘图标 + 原生右键菜单
├── winutil.py       # DPI / 注册表自启 / 工作区 / 单实例
├── webui.py         # pywebview 窗口 + JS↔Python 桥
└── ui/index.html    # Fluent 2 前端(中/英双语)
vbs/                 # 简易方案:VBS 循环播放高频音频
docs/                # 文档与截图

另一种简易方案

vbs/start_20khz.vbs 用 Windows Media Player 循环播放同目录的 20khz.wav,放进启动项即可,适合不想装 exe 的场景。

技术栈

Python · sounddevice (WASAPI) · pycaw/comtypes · pywin32 · pywebview (WebView2) · PyInstaller

License

MIT

About

Windows tray tool that plays an inaudible >=20 kHz tone to keep active-speaker tweeters from sleeping. Fluent 2 UI, smart volume linking (DC/PWM), zh/en.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages