# db_meter **Repository Path**: attacker/db_meter ## Basic Information - **Project Name**: db_meter - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-13 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DB Meter - 专业分贝检测器 一个跨平台的专业级分贝检测应用程序,使用 PySide6 和 sounddevice 构建。 ## 特性 - 🎵 **实时音频监测**:使用 sounddevice 实现低延迟音频采集 - 📊 **可视化图表**:实时显示分贝变化曲线 - 📈 **数据统计**:平均、最大、最小分贝值 - 🎨 **多主题支持**:浅色、深色、蓝色主题 - 🌍 **多语言支持**:中文和英文 - ⚙️ **可配置设置**:采样率、声道数、图表点数等 - 💾 **设置持久化**:自动保存用户设置 - 📝 **完整日志**:便于调试和问题追踪 - ✅ **全面测试**:单元测试和集成测试 ## 项目结构 ``` db_meter/ ├── src/ │ ├── core/ # 核心业务逻辑 │ │ ├── audio_processor.py # 音频处理 │ │ └── decibel_calculator.py # 分贝计算 │ ├── config/ # 配置管理 │ │ ├── constants.py # 常量定义 │ │ └── settings.py # 设置管理器 │ ├── gui/ # GUI 层 │ │ ├── widgets/ # 自定义控件 │ │ ├── dialogs/ # 对话框 │ │ └── main_window.py # 主窗口 │ ├── resources/ # 资源文件 │ │ ├── i18n/ # 国际化 │ │ └── styles/ # 主题样式 │ ├── utils/ # 工具类 │ │ ├── logger.py # 日志配置 │ │ └── validators.py # 验证器 │ ├── app.py # 应用程序类 │ └── main.py # 入口点 ├── tests/ # 测试 │ ├── unit/ # 单元测试 │ └── integration/ # 集成测试 ├── requirements.txt # 依赖 └── README.md # 本文档 ``` ## 架构设计 ### 核心原则 1. **关注点分离**:业务逻辑、UI、配置完全分离 2. **依赖注入**:组件通过构造函数接收依赖 3. **信号驱动**:使用 Qt 信号/槽进行组件通信 4. **线程安全**:音频处理在独立线程,通过信号与UI通信 5. **可测试性**:所有组件都易于单元测试 ### 关键组件 | 组件 | 职责 | |------|------| | `AudioProcessor` | 音频采集和分贝计算,发射信号 | | `SettingsManager` | 设置持久化和变更通知 | | `ThemeManager` | 主题管理和样式生成 | | `Translator` | 国际化和翻译 | ## 安装 ### 环境要求 - Python 3.9+ - PySide6 6.8+ - sounddevice 0.4+ - numpy 1.24+ ### 安装步骤 ```bash # 克隆仓库 git clone cd db_meter # 创建虚拟环境 python -m venv venv # 激活虚拟环境 # Windows: venv\Scripts\activate # macOS/Linux: source venv/bin/activate # 安装依赖 pip install -r requirements.txt # 运行应用 python -m src.main ``` ## 使用 ### 基本操作 - **开始监测**:点击"开始"按钮或按 `Ctrl+S` - **停止监测**:点击"停止"按钮或按 `Ctrl+X` - **打开设置**:点击"设置"按钮或按 `Ctrl+,` - **切换设备**:从下拉菜单选择音频设备 - **退出应用**:按 `Ctrl+Q` ### 设置说明 | 设置项 | 说明 | 默认值 | |--------|------|--------| | 采样率 | 音频采样频率 (Hz) | 44100 | | 声道数 | 音频通道数 | 1 | | 块大小 | 每次处理的样本数 | 1024 | | 语言 | 界面语言 | 中文 | | 主题 | 界面主题 | 浅色 | | 图表点数 | 图表显示的数据点数 | 100 | ## 开发 ### 运行测试 ```bash # 运行所有测试 python -m pytest tests/ # 运行单元测试 python -m pytest tests/unit/ # 运行集成测试(需要音频设备) python -m pytest tests/integration/ # 运行特定测试 python -m pytest tests/unit/test_settings.py ``` ### 代码风格 项目遵循 PEP 8 规范,建议使用以下工具: ```bash # 格式化代码 black src/ tests/ # 排序导入 isort src/ tests/ # 类型检查 mypy src/ ``` ## 许可证 MIT License