Skip to content

jinwyp/AutoMemeDetector

 
 

Repository files navigation

自动玩梗器 (AutoMemeDetector)

功能介绍

介绍视频

自动玩梗器 是一款基于语音识别和屏幕文字识别的自动化音效播放工具。它能监听你的麦克风、系统声音或屏幕内容,当检测到特定的“梗”(关键词)时,自动播放对应的语音音效。

  • 多模态检测:支持三种触发方式
    • 麦克风语音:识别你说的话,自动接梗
    • 系统扬声器:识别电脑发出的声音(如视频、会议、游戏语音),自动回应
    • 屏幕文字 (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)

  1. 下载最新版本的 .exe 文件
  2. 确保 models/ 文件夹和 sounds/ 文件夹与 EXE 在同一目录下
  3. 双击运行即可

从源码运行

  1. 克隆项目

    git clone https://github.com/PizzaDark/AutoMemeDetector.git
    cd AutoMemeDetector
  2. 安装依赖

    # 推荐python3.10
    python -m venv .venv
    .venv\Scripts\activate #Windows
    source .venv/bin/activate #macOS/Linux
    
    pip install -r requirements.txt
  3. 准备模型

  4. 运行程序

    python main.py

使用说明

1. 基础设置

  • 检测开关:点击主界面巨大的“开启检测”按钮,或使用快捷键(默认 Alt+M
  • 音量调节:拖动滑块调节音效播放音量
  • 设备选择
    • 输入设备:选择用于语音识别的麦克风
    • 输出设备:选择系统音频捕获源(用于扬声器检测模式)

2. 模式选择

在设置面板中勾选需要启用的检测模式:

  • 麦克风语音检测:监听你的说话内容
  • 扬声器音频检测:监听电脑播放的内容(注意:此功能会捕获系统声音,请正确选择输出设备)
  • 屏幕文字检测(OCR):定时截取屏幕识别文字(开启后可勾选 "GPU加速" 以提升性能)

3. 编辑规则

  1. 点击“管理规则文件”打开编辑器
  2. 添加规则:输入关键词,选择对应的音频文件
  3. 导入规则:支持导入 JSON 格式的规则集,支持自定义语音包
  4. 保存:点击“保存并生效”立即应用更改

4. 使用语音包

  1. 解压语音包
  2. 把语音包文件夹放到.exe同目录下
  3. 打开程序,导入语音包文件夹下的规则集文件
  4. 点击“保存并生效”立即应用更改

5. 快捷键

  • 开启/暂停检测: 默认 Alt+M
  • 停止所有播放: 默认 Alt+P (紧急停止)
  • 可在界面中修改快捷键

常见问题

Q: 麦克风识别没反应?
A: 可能是内置的模型文件出现了路径问题,尝试克隆本项目并用python运行。

Q: 屏幕识别卡顿?
A: OCR 较为消耗资源。请尝试:

  1. 勾选“使用GPU加速”(需要支持GPU的设备)
  2. 确保电脑性能足够
  3. 不需要时关闭屏幕检测模式

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) 授权。

核心条款说明

  1. 允许的行为:你可以自由复制、修改、分发本项目的代码 / 程序,前提是满足以下条件;
  2. 禁止的行为:严禁将本项目(包括修改后的衍生版本)用于任何商业目的(如出售、付费分发、商业运营等);
  3. 必须遵守
    • 署名:必须保留原作者信息(@依然匹萨吧);
    • 相同方式共享:若你修改 / 衍生本项目,必须采用与本协议相同的许可证发布。

协议完整文本

请查看官方协议全文:https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.zh-hans

本项目仅供学习交流使用,禁止商用或贩卖,音频版权归音频原作者所有。 Vosk 模型请遵循其官方许可证。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%