# Pet Call Recognition System **Repository Path**: north-dream-testing/pet-call-recognition-system ## Basic Information - **Project Name**: Pet Call Recognition System - **Description**: 宠物叫声识别系统是一个面向宠物主人的智能语音识别平台,通过深度学习技术对宠物(主要是猫狗)的叫声进行实时识别和分析,帮助主人更好地理解宠物的情绪和需求。 系统采用前后端分离架构,后端基于 Spring Boot 4.0.6 + MyBatis,前端基于 Vue 3 + Element Plus,支持 Docker 一键部署,提供完整的 RESTful API 和微信小程序接口。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-23 - **Last Updated**: 2026-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 🐾 宠物叫声识别系统 **基于深度学习的宠物语音识别与行为分析平台** [![Java](https://img.shields.io/badge/Java-17-orange.svg)](https://www.oracle.com/java/) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-4.0.6-brightgreen.svg)](https://spring.io/projects/spring-boot) [![Vue](https://img.shields.io/badge/Vue-3.x-blue.svg)](https://vuejs.org/) [![MySQL](https://img.shields.io/badge/MySQL-8.0-blue.svg)](https://www.mysql.com/) [![Redis](https://img.shields.io/badge/Redis-7.0-red.svg)](https://redis.io/) [![Docker](https://img.shields.io/badge/Docker-Compose-blue.svg)](https://www.docker.com/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [在线演示](http://demo.petvoice.com) · [文档中心](https://docs.petvoice.com) · [问题反馈](https://github.com/petvoice/issues)
--- ## 📖 项目简介 宠物叫声识别系统是一个面向宠物主人的智能语音识别平台,通过深度学习技术对宠物(主要是猫狗)的叫声进行实时识别和分析,帮助主人更好地理解宠物的情绪和需求。 系统采用前后端分离架构,后端基于 Spring Boot 4.0.6 + MyBatis,前端基于 Vue 3 + Element Plus,支持 Docker 一键部署,提供完整的 RESTful API 和微信小程序接口。 ### ✨ 核心特性 - 🎯 **高精度识别** - 基于 CNN + Transformer 混合模型,识别准确率达 92%+ - 🐱🐶 **多物种支持** - 覆盖猫、狗两大品类,支持 50+ 种常见叫声模式 - 📊 **行为分析** - 智能分析宠物情绪状态,生成性格报告 - 🎵 **音效库管理** - 内置 1000+ 宠物音效素材,支持收藏和分享 - 📱 **小程序对接** - 提供完整的微信小程序 API,支持语音/视频上传 - 🔐 **权限管理** - 基于 RBAC 的细粒度权限控制 - 📈 **数据统计** - 多维度运营数据统计和可视化展示 - 🚀 **云原生部署** - Docker Compose 编排,支持水平扩展 --- ## 🛠️ 技术栈 ### 后端技术 | 技术 | 版本 | 说明 | |------|------|------| | Java | 17 | 开发语言 | | Spring Boot | 4.0.6 | 应用框架 | | MyBatis | 3.5.16 | ORM 框架 | | Spring Security | 6.3 | 安全框架 | | JWT | 0.12.6 | 身份认证 | | MySQL | 8.0 | 关系数据库 | | Redis | 7.0 | 缓存数据库 | | Druid | 1.2.23 | 连接池 | | MinIO | 2023-03-20 | 对象存储 | | FFmpeg | 6.0 | 音视频处理 | | Lombok | 1.18.34 | 代码简化 | | Swagger | 3.0 | API 文档 | ### 前端技术 | 技术 | 版本 | 说明 | |------|------|------| | Vue | 3.5.12 | 前端框架 | | Vite | 6.4.1 | 构建工具 | | Element Plus | 2.8.0 | UI 组件库 | | Vue Router | 4.4.0 | 路由管理 | | Pinia | 2.2.0 | 状态管理 | | Axios | 1.7.0 | HTTP 客户端 | | ECharts | 5.5.0 | 图表库 | ### 基础设施 | 技术 | 版本 | 说明 | |------|------|------| | Docker | 24.0+ | 容器化 | | Docker Compose | 2.20+ | 服务编排 | | Nginx | 1.25 | 反向代理 | | Maven | 3.9+ | 构建工具 | | Node.js | 20+ | 前端运行环境 | --- ## 🏗️ 系统架构 ``` ┌─────────────────────────────────────────────────────────┐ │ 客户端层 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 管理后台 │ │ 微信小程序│ │ 移动 APP │ │ │ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ Nginx 反向代理 │ │ (负载均衡 / SSL 终止 / 静态资源) │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ Spring Boot 应用层 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 用户模块 │ │ 宠物模块 │ │ 识别模块 │ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 音效模块 │ │ 统计模块 │ │ 系统模块 │ │ │ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 数据存储层 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ MySQL │ │ Redis │ │ MinIO │ │ │ │ (主数据) │ │ (缓存) │ │ (文件) │ │ │ └──────────┘ └──────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────┘ ``` --- ## 📸 模块界面预览 ### 系统首页 系统首页提供全局数据概览,包括今日识别数、注册用户数、宠物档案数、音效素材数等核心指标,以及系统能力展示。 ![系统首页](screenshots/01-系统首页.png) ### 系统管理 #### 用户管理 集中管理系统用户,支持用户增删改查、角色分配、状态管理、数据导入导出等功能。左侧组织机构树支持按部门筛选用户。 ![用户管理](screenshots/02-用户管理.png) #### 角色管理 管理用户角色和权限配置,支持菜单权限和数据权限的精细化控制。 ![角色管理](screenshots/03-角色管理.png) #### 菜单管理 维护系统菜单和路由配置,支持多级菜单、权限标识、组件路径等配置。 ![菜单管理](screenshots/04-菜单管理.png) #### 部门管理 管理组织架构,支持树形结构的部门层级关系,包括部门名称、负责人、联系电话等信息。 ![部门管理](screenshots/05-部门管理.png) #### 岗位管理 维护系统岗位信息,用于用户职位关联和统计分类。 ![岗位管理](screenshots/06-岗位管理.png) #### 字典管理 管理系统中常用的固定下拉选项数据,如性别、状态、类型等字典项。 ![字典管理](screenshots/07-字典管理.png) #### 参数设置 配置系统运行参数,如验证码开关、用户密码策略、文件上传限制等。 ![参数设置](screenshots/08-参数设置.png) #### 通知公告 发布和管理系统通知、公告信息,支持富文本编辑和定时发布。 ![通知公告](screenshots/09-通知公告.png) #### 服务监控 实时监控系统运行状态,包括 CPU、内存、JVM、磁盘等服务器资源使用情况。 ![服务监控](screenshots/10-服务监控.png) #### 缓存监控 监控 Redis 缓存运行信息,包括缓存命中率、内存使用、键数量等指标。 ![缓存监控](screenshots/11-缓存监控.png) ### 宠物语音 #### C 端用户 管理微信小程序注册用户,查看用户基本信息、注册来源、活跃度等数据。 ![C端用户](screenshots/12-C端用户.png) #### 宠物档案 维护用户的宠物信息,包括宠物名称、品种、年龄、性别、照片等基础档案。 ![宠物档案](screenshots/13-宠物档案.png) #### 翻译记录 查看小程序端上传的音频、视频识别记录,包括原始文件、识别结果、置信度等。 ![翻译记录](screenshots/14-翻译记录.png) #### 音效库 管理宠物互动音效素材,支持音效分类、标签、上传、试听等功能。 ![音效库](screenshots/15-音效库.png) #### 性格报告 基于宠物叫声识别结果生成的性格分析报告,包括情绪特征、行为倾向等。 ![性格报告](screenshots/16-性格报告.png) ### 系统工具 #### 代码生成 根据数据库表结构自动生成前后端 CRUD 代码,支持单表、树表、主子表等多种模板。 ![代码生成](screenshots/17-代码生成.png) --- ## 🚀 快速开始 ### 环境要求 - Docker 24.0+ - Docker Compose 2.20+ - 至少 4GB 可用内存 - 至少 10GB 可用磁盘空间 ### 一键部署 1. **克隆项目** ```bash git clone https://github.com/petvoice/petvoice-system.git cd petvoice-system ``` 2. **启动服务** ```bash # 使用 start.bat (Windows) 或 start.sh (Linux/Mac) start.bat # 或手动启动 docker-compose up -d ``` 3. **访问系统** - 管理后台:http://localhost:8081 - 默认账号:`admin` / `admin123` - API 文档:http://localhost:8080/swagger-ui.html 4. **停止服务** ```bash # 使用 stop.bat (Windows) 或 stop.sh (Linux/Mac) stop.bat # 或手动停止 docker-compose down ``` ### 服务端口 | 服务 | 端口 | 说明 | |------|------|------| | 前端 | 8081 | Nginx 代理 | | 后端 | 8080 | Spring Boot | | MySQL | 3307 | 数据库 | | Redis | 6380 | 缓存 | | MinIO | 9002 | 对象存储 API | | MinIO | 9003 | 对象存储控制台 | ### 数据初始化 系统首次启动时会自动初始化数据库,包括: - 创建 42 张数据表 - 导入基础配置数据 - 创建默认管理员账号 - 初始化菜单和权限 如需重新初始化,可执行: ```bash # 删除数据卷(会清空所有数据) docker-compose down -v # 重新启动 docker-compose up -d ``` --- ## 📁 项目结构 ``` petvoice-system/ ├── petvoice-server-dev/ # 后端项目 │ ├── petvoice-admin/ # 管理模块(启动入口) │ │ ├── src/main/java/ │ │ │ └── com/bmc/petvoice/ │ │ │ ├── web/ # Controller 层 │ │ │ └── PetvoiceApplication.java │ │ └── src/main/resources/ │ │ ├── application.yml # 主配置文件 │ │ ├── application-dev.yml │ │ └── mapper/ # MyBatis 映射文件 │ ├── petvoice-framework/ # 框架核心模块 │ │ └── src/main/java/ │ │ └── com/bmc/petvoice/framework/ │ │ ├── config/ # 配置类 │ │ ├── security/ # 安全框架 │ │ └── web/ # Web 工具 │ ├── petvoice-system/ # 系统管理模块 │ │ └── src/main/java/ │ │ └── com/bmc/petvoice/system/ │ │ ├── domain/ # 实体类 │ │ ├── mapper/ # DAO 层 │ │ └── service/ # Service 层 │ ├── petvoice-business/ # 业务模块 │ │ └── src/main/java/ │ │ └── com/bmc/petvoice/business/ │ │ ├── member/ # 用户管理 │ │ ├── pet/ # 宠物档案 │ │ ├── translation/ # 翻译记录 │ │ ├── sound/ # 音效库 │ │ └── trait/ # 性格分析 │ ├── petvoice-common/ # 公共模块 │ │ └── src/main/java/ │ │ └── com/bmc/petvoice/common/ │ │ ├── constant/ # 常量定义 │ │ ├── utils/ # 工具类 │ │ └── exception/ # 异常处理 │ ├── sql/ # 数据库脚本 │ │ ├── petvoice.sql │ │ ├── quartz.sql │ │ └── migration/ # 迁移脚本 │ ├── Dockerfile # 后端镜像构建 │ └── pom.xml # Maven 配置 │ ├── petvoice-ui-dev/ # 前端项目 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ │ ├── system/ # 系统管理 │ │ │ ├── monitor/ # 系统监控 │ │ │ ├── petvoice/ # 宠物语音 │ │ │ └── tool/ # 系统工具 │ │ ├── components/ # 公共组件 │ │ ├── api/ # API 接口 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ ├── utils/ # 工具函数 │ │ └── assets/ # 静态资源 │ ├── public/ # 公共资源 │ ├── nginx.conf # Nginx 配置 │ ├── Dockerfile # 前端镜像构建 │ ├── package.json # npm 配置 │ └── vite.config.js # Vite 配置 │ ├── docker-compose.yml # Docker 编排 ├── start.bat # Windows 启动脚本 ├── stop.bat # Windows 停止脚本 ├── README.ZH-CN.md # 中文文档 └── LICENSE # 开源协议 ``` --- ## 🔧 开发指南 ### 后端开发 1. **环境准备** ```bash # 安装 JDK 17 # 安装 Maven 3.9+ # 安装 MySQL 8.0 # 安装 Redis 7.0 ``` 2. **本地运行** ```bash cd petvoice-server-dev # 修改 application-local.yml 配置 # 配置本地数据库和 Redis 连接 # 启动服务 mvn spring-boot:run -pl petvoice-admin ``` 3. **代码规范** - 遵循阿里巴巴 Java 开发手册 - Controller 层只做参数校验和结果封装 - Service 层处理业务逻辑 - Mapper 层只做数据访问 - 使用 Lombok 简化代码 ### 前端开发 1. **环境准备** ```bash # 安装 Node.js 20+ # 安装 npm 或 yarn ``` 2. **本地运行** ```bash cd petvoice-ui-dev # 安装依赖 npm install # 启动开发服务器 npm run dev ``` 3. **代码规范** - 使用 Vue 3 Composition API - 组件命名采用 PascalCase - 使用 ESLint + Prettier 格式化代码 - 遵循 Vue 官方风格指南 --- ## 📦 部署说明 ### 生产环境部署 1. **修改配置** ```yaml # docker-compose.prod.yml services: petvoice-server: environment: SPRING_PROFILES_ACTIVE: prod SPRING_DATASOURCE_DRUID_MASTER_URL: jdbc:mysql://prod-db:3306/petvoice_prod # ... 其他生产环境配置 ``` 2. **构建镜像** ```bash # 构建后端镜像 docker build -t petvoice/server:1.0.0 -f petvoice-server-dev/Dockerfile petvoice-server-dev # 构建前端镜像 docker build -t petvoice/ui:1.0.0 -f petvoice-ui-dev/Dockerfile petvoice-ui-dev ``` 3. **部署上线** ```bash # 使用生产配置启动 docker-compose -f docker-compose.prod.yml up -d # 查看日志 docker-compose logs -f ``` ### 性能优化建议 - **数据库**:开启慢查询日志,定期优化索引 - **Redis**:配置内存淘汰策略,开启持久化 - **Nginx**:开启 gzip 压缩,配置缓存策略 - **JVM**:根据服务器配置调整堆内存大小 - **Docker**:限制容器资源使用,避免资源争抢 --- ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! ### 提交规范 ``` feat: 新功能 fix: 修复 bug docs: 文档更新 style: 代码格式调整 refactor: 重构 test: 测试相关 chore: 构建/工具变动 ``` ### 开发流程 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'feat: add some amazing feature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request --- ## 📄 开源协议 本项目基于 [MIT License](LICENSE) 开源。 --- ## 👥 团队 - **作者**:PetVoice Team - **邮箱**:support@petvoice.com - **官网**:https://www.petvoice.com --- ## 🙏 致谢 感谢以下开源项目: - [Spring Boot](https://spring.io/projects/spring-boot) - [Vue.js](https://vuejs.org/) - [Element Plus](https://element-plus.org/) - [MyBatis](https://mybatis.org/) - [MySQL](https://www.mysql.com/) - [Redis](https://redis.io/) - [MinIO](https://min.io/) --- ## 📞 联系我们 - **问题反馈**:[GitHub Issues](https://github.com/petvoice/issues) - **技术支持**:support@petvoice.com - **商务合作**:business@petvoice.com ---
[回到顶部](#-宠物叫声识别系统)