DeEAR语音情感识别代码实例调用app.py实现批量音频情感三维打分与可视化1. 项目概述DeEAR(Deep Emotional Expressiveness Recognition)是一个基于wav2vec2的深度语音情感表达分析系统。它能自动分析语音中的情感特征从三个关键维度进行量化评估唤醒度(Arousal): 衡量说话者的情绪激动程度自然度(Nature): 评估语音的自然流畅程度韵律(Prosody): 分析语音的节奏和抑扬顿挫这个系统特别适合需要批量处理语音数据的场景比如客服质检、心理状态评估、语音助手优化等。下面我将详细介绍如何使用这个系统的核心功能。2. 环境准备与快速启动2.1 系统要求确保你的环境满足以下条件Python 3.11PyTorch 2.9.0Transformers 5.3.0Gradio 6.9.02.2 启动方式有两种方式可以启动DeEAR服务推荐方式- 使用启动脚本/root/DeEAR_Base/start.sh直接运行- 手动启动python /root/DeEAR_Base/app.py服务启动后可以通过以下地址访问本地访问: http://localhost:7860远程访问: http://容器IP:78603. 核心功能使用指南3.1 单文件情感分析最简单的使用方式是直接上传一个音频文件进行分析。系统会自动处理并返回三个维度的评分from DeEAR_Base import analyze_emotion result analyze_emotion(path/to/your/audio.wav) print(result)输出示例{ arousal: 0.82, nature: 0.91, prosody: 0.75 }3.2 批量处理音频文件对于需要处理多个文件的情况可以使用以下代码import os from DeEAR_Base import analyze_emotion audio_folder path/to/audio/files results [] for filename in os.listdir(audio_folder): if filename.endswith(.wav): filepath os.path.join(audio_folder, filename) result analyze_emotion(filepath) results.append({ filename: filename, result: result }) # 保存结果 import json with open(emotion_results.json, w) as f: json.dump(results, f, indent2)3.3 结果可视化DeEAR提供了内置的可视化功能可以直观展示分析结果from DeEAR_Base import visualize_results import matplotlib.pyplot as plt # 假设我们已经有了分析结果 results [ {filename: audio1.wav, result: {arousal: 0.8, nature: 0.9, prosody: 0.7}}, {filename: audio2.wav, result: {arousal: 0.5, nature: 0.6, prosody: 0.8}} ] # 生成可视化图表 fig visualize_results(results) plt.show()这会生成一个三维散点图X轴表示唤醒度Y轴表示自然度Z轴表示韵律度让你一目了然地看到不同音频的情感特征分布。4. 实际应用案例4.1 客服质检自动化通过批量分析客服通话录音可以自动识别情绪过于激动(高唤醒度)的对话表达不自然(低自然度)的应答缺乏抑扬顿挫(低韵律度)的服务用语# 分析整个文件夹的客服录音 analyze_customer_service(customer_service_recordings/) # 标记需要人工复核的录音 flag_for_review(emotion_results.json, arousal_threshold0.85, nature_threshold0.5)4.2 心理状态评估在心理健康领域可以用于监测抑郁症患者的语音变化评估焦虑程度跟踪治疗过程中的改善情况# 比较治疗前后的语音特征变化 compare_sessions(patient123/before_therapy/, patient123/after_therapy/)5. 常见问题解决5.1 音频格式问题系统支持最常见的WAV格式如果遇到其他格式可以先转换from pydub import AudioSegment # 将MP3转换为WAV audio AudioSegment.from_mp3(input.mp3) audio.export(output.wav, formatwav)5.2 处理长音频对于超过30秒的音频建议分段处理from DeEAR_Base import split_audio, analyze_long_audio # 自动分段并分析长音频 results analyze_long_audio(long_recording.wav, segment_length30)5.3 性能优化处理大量文件时可以使用多线程加速from concurrent.futures import ThreadPoolExecutor from DeEAR_Base import analyze_emotion def process_file(filename): return analyze_emotion(filename) with ThreadPoolExecutor(max_workers4) as executor: results list(executor.map(process_file, audio_files))6. 总结DeEAR语音情感识别系统提供了一个简单但强大的工具可以量化分析语音中的情感特征。通过本文介绍的代码示例你可以轻松实现单文件情感分析批量处理音频文件结果可视化展示实际场景应用系统特别适合需要自动化处理大量语音数据的场景能够显著提高工作效率和分析准确性。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。