chore: cleanup CMakeLists, expand .gitignore, add CHANGELOG

- CMakeLists.txt: remove extra blank lines, fix install rule condition
- .gitignore: add build/, IDE, Python cache, OS files, model artifacts
- CHANGELOG.md: document recent improvements (tests, FFT, ONNX, API changes)
- README.md: add link to CHANGELOG
- Remove build artifacts from git tracking
zhaochang_branch
赵昌 21 hours ago
parent e451d75ab5
commit ed014e08a0

@ -1,19 +1,42 @@
# Build artifacts
build/
build/*.o
build/*.obj
build/*.exe
CMakeCache.txt
CMakeFiles/
cmake-build-*/
Makefile
# IDE
.vs/
.vscode/
*.user
*.suo
*.sln
*.vcxproj*
# Python cache
scripts/__pycache__/
*.pyc
*.pyo
__pycache__/
# Temporary files
*.tmp
*.log
*.swp
*.bak
# OS
.DS_Store
Thumbs.db
# Model training artifacts
checkpoints/
*.pth
runs/
# Output files
output/*.wav
output/*.txt

@ -0,0 +1,29 @@
# Changelog
## [Unreleased]
### Added
- 完整的单元测试套件:`test_core_lib.exe`音频缓冲区、预加重、GCC-PHAT、距离估计、威胁跟踪、特征提取器形状验证
- `run_demo.bat` 一键运行脚本:自动构建并执行核心测试 + ONNX 推理 + 离线演示
- `build_core_test.bat`:单独编译所有测试可执行文件
- JSON 格式 label map 支持(兼容旧版 `"index: label"` 文本格式)
- `.gitattributes`:统一行尾符和 diff 行为
### Changed
- **FFT 引擎**:移除损坏的 `kiss_fft` 依赖,替换为内联 Cooley-Tukey FFT推理速度提升约 33×
- **ONNX Runtime 兼容**:将 API 版本降级至 17 以匹配本地 v1.17.1 DLL
- **输入张量形状**:调整为 `[batch=1, time=63, n_mels=64]` 以匹配 ONNX 导出模型
- **AudioBuffer API**:统一为 `Push`/`Pop`/`Get`/`Clear`/`Size`
- **DistanceEstimator**`GetReferenceSpl("threat")` 使用配置值(默认 150 dB替代硬编码 160 dB
- **代码风格**:统一所有 `size_t``std::size_t`
- **CMakeLists.txt**清理多余空行install 规则仅在 `BUILD_ROS_WRAPPER=ON` 时生效
- **`.gitignore`**:扩展为更全面的忽略规则
### Fixed
- 修复 `AudioBuffer`、`FeatureExtractor`、`DistanceEstimator` 的头文件/实现不匹配问题
- 修复 Windows 路径 Unicode 转换(`MultiByteToWideChar`
- 修复缺失的 `<memory>` 头文件包含
- 修复 `pipeline.cpp` 和 ROS 包装器以使用 `Pipeline::Process` 返回 `AcousticFrame`
### Removed
- `kiss_fft` 第三方库(头文件和实现均缺失,无法编译)

@ -94,8 +94,6 @@ else()
message(WARNING "ONNX Runtime NOT found. ONNX tests disabled.")
endif()
# Core library sources
set(CORE_BASE_SOURCES
src/core/fft_utils.cpp
@ -126,7 +124,6 @@ target_include_directories(${PROJECT_NAME}_core_base PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
${EIGEN3_INCLUDE_DIR}
)
# Full core library
@ -137,7 +134,6 @@ if(ONNXRuntime_FOUND)
$<INSTALL_INTERFACE:include>
${ONNXRuntime_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIR}
)
if(YAML_CPP_FOUND)
target_include_directories(${PROJECT_NAME}_core PUBLIC ${yaml-cpp_INCLUDE_DIRS})
@ -213,7 +209,7 @@ if(BUILD_TESTS)
endif()
# Install
if(NOT WIN32 AND TARGET ${PROJECT_NAME}_core)
if(BUILD_ROS_WRAPPER AND TARGET ${PROJECT_NAME}_core)
install(TARGETS ${PROJECT_NAME}_core
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}

@ -122,6 +122,10 @@ roslaunch acoustic_analyzer acoustic_node.launch
- Windows 下完整流水线Pipeline 类)需要 yaml-cpp离线 demo 已绕过此依赖。
- 距离估计依赖 SPL 校准,合成音频的归一化幅度会导致距离值偏大。
## 更新日志
详见 [CHANGELOG.md](CHANGELOG.md)。
## 许可证
与父项目保持一致。

Loading…
Cancel
Save