并入声谱分析模块:模训交付水声分析工具(Demand)作为 spectrum-analysis-web 子模块
数据库课程(大三下)大项目:面向水声 WAV 音频的自动分割、多算法并行识别与集成投票分析平台, 附浏览器端海洋动物声谱分析模块。平台定位为可扩展的水声分析底座,欢迎在其上继续添加模块。
水声信号目标识别是海洋监测领域的重要方向。现有系统大多针对单一算法优化,缺乏多算法集成与统一管理能力。 本项目构建一套集数据管理、算法调度、结果可视化于一体的水声信号目标分析系统:对上传的 WAV 音频做波形 预览与定长/手动分割,交由多个异构算法服务并行推理,再通过集成投票融合结果并入库,前端提供客户端 (任务工作台/任务列表/历史数据)与管理端(数据总览/任务管理/算法监控/统计分析)两套视图。 识别目标为四类船舶:商船(cargo)、客船(passenger)、油轮(tanker)、拖船(tug)。 (以上背景提炼自本项目的开题报告《水声目标识别开题报告》。)
spectrum-analysis-web/(原模训交付「水声分析工具」)是并入本平台的独立子模块:纯浏览器单页应用, 对海洋生物声音 WAV 批量生成频段可定制的多频段语谱图,检测并标注亮线,分析谐波关系与多普勒频移趋势, 全部计算在浏览器本地完成。
spectrum-analysis-web/
client.html
admin.html
audio-features.js
backend/
app/api/v1
backend/app/services/queue_processor.py
backend/scripts/init_db.py
backend/.env.example
uatfsn_server/
mt_bca_cnn/
docs/
spectrum-analysis-web/VoiceAnalysis.html
spectrum-analysis-web/*.js
spectrum-analysis-web/made_voice/
spectrum-analysis-web/docs/
start.bat
stop.bat
依赖:Python 3.10+、MySQL 8.0、FFmpeg(需加入系统 PATH)。模型权重(*.pth)与音频数据 (*.wav)体积较大,未纳入本仓库,首次推理前需自行训练或放置权重到各算法服务的 outputs/checkpoints/ 目录(目录已用 .gitkeep 占位)。
*.pth
*.wav
outputs/checkpoints/
.gitkeep
:: 1. 配置数据库连接(修改 DATABASE_URL 中的密码) copy backend\.env.example backend\.env :: 2. 安装依赖(后端 + 两个算法服务) pip install -r backend\requirements.txt pip install -r uatfsn_server\requirements.txt pip install -r mt_bca_cnn\requirements.txt :: 3. 一键启动(后端 8000 + UAT-FSN 8001 + MT-BCA-CNN 8002,并打开前端) start.bat
后端启动时通过 SQLAlchemy create_all 自动建表并补种算法、目标类型等种子数据,无需手工执行 SQL; 完整建表 DDL 与查询示例见 docs/Database_Design.md。也可手动启动:
create_all
docs/Database_Design.md
cd backend && python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 cd uatfsn_server && python main.py cd mt_bca_cnn && python main.py
浏览器打开 client.html(客户端)或 admin.html(管理端),API 文档见 http://localhost:8000/docs。
http://localhost:8000/docs
声谱分析模块(spectrum-analysis-web/)与主平台相互独立、无需服务端:浏览器直接打开 VoiceAnalysis.html 即可(批处理与产物直写依赖 File System Access API,建议 Chrome/Edge); 合成测试 WAV 用 python made_voice/code/generate.py --batch 生成,依赖 Python 3 与 NumPy。
VoiceAnalysis.html
python made_voice/code/generate.py --batch
数据库课程大项目:Vue3 + FastAPI + MySQL 的水声信号目标分析平台(音频分割、多算法并行、集成投票)
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
BeWater 水声信号分析系统
任务背景
水声信号目标识别是海洋监测领域的重要方向。现有系统大多针对单一算法优化,缺乏多算法集成与统一管理能力。 本项目构建一套集数据管理、算法调度、结果可视化于一体的水声信号目标分析系统:对上传的 WAV 音频做波形 预览与定长/手动分割,交由多个异构算法服务并行推理,再通过集成投票融合结果并入库,前端提供客户端 (任务工作台/任务列表/历史数据)与管理端(数据总览/任务管理/算法监控/统计分析)两套视图。 识别目标为四类船舶:商船(cargo)、客船(passenger)、油轮(tanker)、拖船(tug)。 (以上背景提炼自本项目的开题报告《水声目标识别开题报告》。)
spectrum-analysis-web/(原模训交付「水声分析工具」)是并入本平台的独立子模块:纯浏览器单页应用, 对海洋生物声音 WAV 批量生成频段可定制的多频段语谱图,检测并标注亮线,分析谐波关系与多普勒频移趋势, 全部计算在浏览器本地完成。内容结构
client.htmladmin.htmlaudio-features.jsbackend/app/api/v1、ORM 模型、队列处理器、FFmpeg 音频分割backend/app/services/queue_processor.pybackend/scripts/init_db.pybackend/.env.exampleuatfsn_server/mt_bca_cnn/docs/spectrum-analysis-web/spectrum-analysis-web/VoiceAnalysis.htmlspectrum-analysis-web/*.jsspectrum-analysis-web/made_voice/spectrum-analysis-web/docs/start.bat/stop.bat运行方法
依赖:Python 3.10+、MySQL 8.0、FFmpeg(需加入系统 PATH)。模型权重(
*.pth)与音频数据 (*.wav)体积较大,未纳入本仓库,首次推理前需自行训练或放置权重到各算法服务的outputs/checkpoints/目录(目录已用.gitkeep占位)。后端启动时通过 SQLAlchemy
create_all自动建表并补种算法、目标类型等种子数据,无需手工执行 SQL; 完整建表 DDL 与查询示例见docs/Database_Design.md。也可手动启动:浏览器打开
client.html(客户端)或admin.html(管理端),API 文档见http://localhost:8000/docs。声谱分析模块(
spectrum-analysis-web/)与主平台相互独立、无需服务端:浏览器直接打开VoiceAnalysis.html即可(批处理与产物直写依赖 File System Access API,建议 Chrome/Edge); 合成测试 WAV 用python made_voice/code/generate.py --batch生成,依赖 Python 3 与 NumPy。来源声明
spectrum-analysis-web/为模训交付的团队作品(原代号 Demand)并入:FFT、STFT、峰值检测与 轨迹追踪等算法为手写实现,以 Watkins 海洋哺乳动物声音数据库的 WAV 组织方式为预期输入参考; 模块保持零构建、可独立运行,后续同学的声谱类功能建议按此模块形态挂接扩展。