#include #include #include #include #include "signalstats_wrapper.h" int main() { // 初始化Python解释器 signalstats_wrapper::initialize(); try { // 创建测试音频信号 (C++版本) const int sample_rate = 44100; const int duration_seconds = 1; const int num_samples = sample_rate * duration_seconds; std::vector audio_signal(num_samples); std::random_device rd; std::mt19937 gen(rd()); std::normal_distribution<> dist(0.0, 1.0); for (auto& sample : audio_signal) { sample = dist(gen); } std::cout << "生成测试音频信号完成" << std::endl; // 调用C++接口函数 nlohmann::json output; std::vector window_params = {"tukey", "0.25"}; nlohmann::json& result = signalstats::detect_signal( audio_signal, sample_rate, 3e-3, // silence_threshold -70.0, // db_threshold -70.0, // cv_threshold window_params, 256, // nperseg 32, // noverlap 256, // nfft true, // debug output ); // 处理输出结果 if (!output.empty()) { std::cout << "信号检测完成,输出结果: " << output.dump(4) << std::endl; // 这里可以添加具体的结果解析逻辑 } else { std::cout << "信号检测完成,但无输出结果" << std::endl; } std::cout << "程序执行完成" << std::endl; } catch (const std::exception& e) { std::cerr << "错误: " << e.what() << std::endl; return 1; } signalstats_wrapper::finalize(); return 0; }