作者:@依然匹萨吧
自动玩梗器 是一款基于语音识别和屏幕文字识别的自动化音效播放工具。它能监听你的麦克风、系统声音或屏幕内容,当检测到特定的“梗”(关键词)时,自动播放对应的语音音效。
- 多模态检测:支持三种触发方式
- 麦克风语音:识别你说的话,自动接梗
- 系统扬声器:识别电脑发出的声音(如视频、会议、游戏语音),自动回应
- 屏幕文字 (OCR):识别屏幕上的文字(如聊天记录、弹幕、字幕),视觉触发
- 自定义规则:内置规则编辑器,轻松添加自定义关键词和对应音频文件
- 离线识别:
- 语音识别采用 Vosk 模型,完全离线运行,保护隐私
- 文字识别采用 RapidOCR (ONNX),无需联网,轻量高效
- 视觉反馈:屏幕文字识别模式下,检测到关键词时会在屏幕对应位置显示高亮框
- 全局快捷键:支持快捷键一键开启/暂停检测、停止播放
- 后台运行:支持最小化到系统托盘,不干扰日常使用
- 开机自启:支持设置开机自动启动
├── main.py # 主程序入口
├── models/ # 模型目录
│ └── vosk-model-small-cn-0.22/ # Vosk 语音识别模型
├── sounds/ # 默认音频素材目录
├── AutoMeme_Config/ # 用户配置目录(自动生成)
│ ├── config.json # 设置文件
│ └── rules.json # 关键词规则文件
├── requirements.txt # Python 依赖列表
├── main.spec # PyInstaller 打包配置
└── LICENSE # 许可证文件
- 操作系统: Windows 10/11 (建议)
- Python: 3.8 或更高版本
- 硬件:
- 麦克风(可选,用于语音检测)
- 扬声器(必须,用于播放音效)
- 屏幕 OCR 模式建议有独立显卡以获得更好性能
- 下载最新版本的
.exe文件 - 确保
models/文件夹和sounds/文件夹与 EXE 在同一目录下 - 双击运行即可
-
克隆项目
git clone https://github.com/PizzaDark/AutoMemeDetector.git cd AutoMemeDetector -
安装依赖
# 推荐python3.10 python -m venv .venv .venv\Scripts\activate #Windows source .venv/bin/activate #macOS/Linux pip install -r requirements.txt
-
准备模型
- 下载 vosk-model-small-cn-0.22
- 解压并放置于
models/目录下,结构应为models/vosk-model-small-cn-0.22
-
运行程序
python main.py
- 检测开关:点击主界面巨大的“开启检测”按钮,或使用快捷键(默认
Alt+M) - 音量调节:拖动滑块调节音效播放音量
- 设备选择:
- 输入设备:选择用于语音识别的麦克风
- 输出设备:选择系统音频捕获源(用于扬声器检测模式)
在设置面板中勾选需要启用的检测模式:
- 麦克风语音检测:监听你的说话内容
- 扬声器音频检测:监听电脑播放的内容(注意:此功能会捕获系统声音,请正确选择输出设备)
- 屏幕文字检测(OCR):定时截取屏幕识别文字(开启后可勾选 "GPU加速" 以提升性能)
- 点击“管理规则文件”打开编辑器
- 添加规则:输入关键词,选择对应的音频文件
- 导入规则:支持导入 JSON 格式的规则集,支持自定义语音包
- 保存:点击“保存并生效”立即应用更改
- 解压语音包
- 把语音包文件夹放到.exe同目录下
- 打开程序,导入语音包文件夹下的规则集文件
- 点击“保存并生效”立即应用更改
- 开启/暂停检测: 默认
Alt+M - 停止所有播放: 默认
Alt+P(紧急停止) - 可在界面中修改快捷键
Q: 麦克风识别没反应?
A: 可能是内置的模型文件出现了路径问题,尝试克隆本项目并用python运行。
Q: 屏幕识别卡顿?
A: OCR 较为消耗资源。请尝试:
- 勾选“使用GPU加速”(需要支持GPU的设备)
- 确保电脑性能足够
- 不需要时关闭屏幕检测模式
Q: 扬声器检测没反应?
A: 请确保在“输出设备”下拉框中选择了带有 (Loopback) 字样的设备,这是用于捕获系统声音的虚拟接口。
Q: 识别准确率不高?
A:
- 语音识别依赖 Vosk 模型,清晰的标准普通话识别率最高。
- 屏幕 OCR 对非常小的字体或复杂背景可能识别困难。
使用 PyInstaller 进行打包:
pyinstaller main.spec打包文件将生成在 dist/ 目录下。
| 依赖包 | 用途 |
|---|---|
| PyQt5 | 图形界面 |
| vosk | 离线语音识别 |
| rapidocr_onnxruntime | 离线文字识别 (OCR) |
| pygame | 音频播放 |
| sounddevice / pyaudiowpatch | 音频录制与系统音频捕获 |
| mss | 高效屏幕截图 |
| keyboard | 全局快捷键 |
本项目采用 知识共享 署名 - 非商业性使用 - 相同方式共享 4.0 国际许可证 (CC BY-NC-SA 4.0) 授权。
- 允许的行为:你可以自由复制、修改、分发本项目的代码 / 程序,前提是满足以下条件;
- 禁止的行为:严禁将本项目(包括修改后的衍生版本)用于任何商业目的(如出售、付费分发、商业运营等);
- 必须遵守:
- 署名:必须保留原作者信息(@依然匹萨吧);
- 相同方式共享:若你修改 / 衍生本项目,必须采用与本协议相同的许可证发布。
请查看官方协议全文:https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-hans
本项目仅供学习交流使用,禁止商用或贩卖,音频版权归音频原作者所有。 Vosk 模型请遵循其官方许可证。