# Psy_voice **Repository Path**: truman71/psy_voice ## Basic Information - **Project Name**: Psy_voice - **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-01-31 - **Last Updated**: 2026-03-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 语音心理分析系统使用指南 ## 系统概述 语音心理分析系统是一款基于音频声学特征的心理状态分析工具,通过采集语音信号,提取多种声学特征,并结合大模型分析,输出心理状态评估报告。 ## 目录 - [系统要求](#系统要求) - [安装指南](#安装指南) - [配置说明](#配置说明) - [快速开始](#快速开始) - [功能说明](#功能说明) - [常见问题](#常见问题) - [技术支持](#技术支持) ## 系统要求 ### 硬件要求 - **操作系统**: Windows 10/11, macOS 10.14+, Linux - **内存**: 至少 4GB RAM(推荐 8GB) - **存储**: 至少 500MB 可用空间 - **音频设备**: 麦克风 ### 软件要求 - **Python**: 3.8 或更高版本 - **包管理器**: pip ## 安装指南 ### 1. 克隆或下载项目 ```bash git clone <项目地址> cd Psy_voice ``` ### 2. 安装依赖 Windows用户直接双击运行 `install.bat`,或手动执行: ```bash pip install -r requirements.txt ``` ### 3. 验证安装 ```bash python -c "import pyaudio; import numpy; print('安装成功')" ``` ## 配置说明 ### API密钥配置 编辑 `config.py` 文件,设置通义千问API密钥: ```python QWEN_API_KEY = "sk-your-api-key-here" # 替换为您的API密钥 ``` **获取API密钥**: 1. 访问 https://dashscope.aliyun.com/api 2. 登录阿里云账号 3. 创建API密钥 4. 复制密钥到 `config.py` ### 音频参数配置(可选) 如需调整音频采集参数,可在 `config.py` 中修改: ```python SAMPLE_RATE = 16000 # 音频采样率 CHANNELS = 1 # 声道数(1=单声道,2=立体声) CHUNK_SIZE = 4096 # 音频块大小 ``` ### 数据保留配置 ```python MAX_DATA_DAYS = 7 # 数据保留天数(默认7天) DATA_DIR = "data" # 数据存储目录 ``` ## 快速开始 ### Windows用户 双击运行 `run.bat` 启动系统 ### macOS/Linux用户 ```bash python main.py ``` ### 基本使用流程 1. **启动系统**: 运行主程序启动图形界面 2. **选择麦克风**: 在界面上选择要使用的麦克风设备 3. **开始录音**: 点击"开始录音"按钮 4. **停止录音**: 录制完成后点击"停止录音" 5. **生成报告**: 点击"生成分析报告"按钮 6. **查看结果**: 等待分析完成,查看心理状态评估报告 ## 功能说明 ### 1. 音频采集 - **实时录音**: 支持实时音频采集和波形显示 - **麦克风选择**: 自动检测并列出可用麦克风设备 - **静音检测**: 自动识别静音段 - **缓存管理**: 自动管理音频数据缓存(最近10秒) ### 2. 特征提取 系统提取以下声学特征: #### 节奏特征 - 语速(帧/秒) - 停顿次数 - 平均停顿时长 - 停顿占比 #### 音调特征 - F0(基频)均值、标准差、最小值、最大值 - 音高变化率 - 音高变化范围 #### 音质特征 - 抖动(Jitter):基频周期变化 - 闪烁(Shimmer):振幅变化 #### 能量特征 - 能量均值、标准差、最小值、最大值 - 能量熵 - 动态范围 #### 其他特征 - 频谱质心、频谱带宽 - 过零率均值/标准差 ### 3. 心理分析 系统基于声学特征,评估以下心理指标: - **情绪状态**: 快乐、悲伤、愤怒、恐惧、焦虑等 - **压力水平**: 低、中、高 - **自信心**: 低、中、高 - **精神状态**: 清醒、疲劳、困惑等 - **社交倾向**: 开放、内向、中性 ### 4. 报告生成 生成包含以下内容的分析报告: - 基本信息(时间戳、音频时长) - 声学特征详情 - 心理指标评估 - 专业建议和改进方向 - 可导出为Word格式 ## 常见问题 ### Q1: 启动时提示找不到麦克风 **解决方案**: - 检查麦克风是否正确连接 - 确认系统权限设置,允许应用访问麦克风 - 尝试更换USB接口或重新插拔麦克风 ### Q2: API请求失败 **可能原因及解决方案**: 1. **API密钥无效**: 检查 `config.py` 中的密钥是否正确 2. **网络连接问题**: 确保网络连接正常 3. **API配额不足**: 登录阿里云控制台检查配额 4. **超时**: 网络较慢时,可在代码中增加超时时间 ### Q3: 分析结果不准确 **改进建议**: - 确保录音环境安静,减少背景噪音 - 保持麦克风与嘴部适当距离(10-20cm) - 录制较长的音频(建议30秒以上) - 说话自然,避免过于夸张或压抑 ### Q4: 程序运行缓慢 **优化方案**: - 关闭其他占用资源的程序 - 降低采样率(在 `config.py` 中修改 `SAMPLE_RATE`) - 定期清理数据目录(运行 `cleanup_data.py`) ### Q5: 数据占用空间过大 **解决方案**: - 系统默认保留最近7天数据 - 可手动运行清理脚本:`python cleanup_data.py` - 修改 `config.py` 中的 `MAX_DATA_DAYS` 值 ## 技术支持 ### 日志查看 程序运行时的详细信息会在控制台输出,如遇问题可查看: - API请求/响应详情 - 特征提取过程 - 错误堆栈信息 ### 数据清理 定期清理过期数据: ```bash python cleanup_data.py ``` ### 模块测试 测试公式计算功能: ```bash python test_formula.py ``` ### 联系方式 - 作者:Psy_AI_LC - 版本:2.0.0 - 更新日期:2025-01-31 ## 更新日志 ### V2.0.0 (2025-01-31) - 优化数据管理,自动清理过期数据 - 增强错误处理和异常捕获 - 优化特征提取模块,减少内存占用 - 简化API请求逻辑,提高稳定性 - 移除冗余的详细窗口功能 - 统一代码风格,添加类型注解 ### V1.0.0 (初始版本) - 基础音频采集功能 - 声学特征提取 - API交互和心理分析 - 报告生成功能 ## 注意事项 1. **隐私保护**: 录音数据仅在本地处理,不会上传至服务器(API请求仅发送声学特征) 2. **数据安全**: 定期备份重要数据 3. **使用限制**: 本系统仅供学习和研究使用,不能替代专业心理诊断 4. **合规使用**: 使用本系统应遵守相关法律法规,尊重他人隐私 --- **祝您使用愉快!**