[INFO] fetching crate oximedia-audio-analysis 0.1.5...
[INFO] testing oximedia-audio-analysis-0.1.5 against 1.95.0 for beta-1.96-2
[INFO] extracting crate oximedia-audio-analysis 0.1.5 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate oximedia-audio-analysis 0.1.5
[INFO] finished tweaking crates.io crate oximedia-audio-analysis 0.1.5
[INFO] tweaked toml for crates.io crate oximedia-audio-analysis 0.1.5 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oximedia-audio-analysis 0.1.5 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oximedia-audio-analysis 0.1.5 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded visibility v0.1.1
[INFO] [stderr]   Downloaded audio-core v0.2.1
[INFO] [stderr]   Downloaded windowfunctions v0.1.1
[INFO] [stderr]   Downloaded audioadapter-buffers v3.0.0
[INFO] [stderr]   Downloaded audioadapter-sample v3.0.0
[INFO] [stderr]   Downloaded oxifft-codegen v0.2.0
[INFO] [stderr]   Downloaded audioadapter v3.0.0
[INFO] [stderr]   Downloaded rubato v2.0.0
[INFO] [stderr]   Downloaded oximedia-core v0.1.5
[INFO] [stderr]   Downloaded oximedia-mir v0.1.5
[INFO] [stderr]   Downloaded oxifft v0.2.0
[INFO] [stderr]   Downloaded oximedia-audio v0.1.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 40a66db3810e0746577856016cd749d79cd359b7460acd949364f433408c81c4
[INFO] running `Command { std: "docker" "start" "-a" "40a66db3810e0746577856016cd749d79cd359b7460acd949364f433408c81c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "40a66db3810e0746577856016cd749d79cd359b7460acd949364f433408c81c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "40a66db3810e0746577856016cd749d79cd359b7460acd949364f433408c81c4", kill_on_drop: false }`
[INFO] [stdout] 40a66db3810e0746577856016cd749d79cd359b7460acd949364f433408c81c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 04effda4270b0088a4b9fcbb98ff7ea1f7df4c92fceff31047ad63750dab0a91
[INFO] running `Command { std: "docker" "start" "-a" "04effda4270b0088a4b9fcbb98ff7ea1f7df4c92fceff31047ad63750dab0a91", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling strength_reduce v0.2.4
[INFO] [stderr]    Compiling audio-core v0.2.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling oxifft v0.2.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling spin v0.10.0
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling audioadapter v3.0.0
[INFO] [stderr]    Compiling audioadapter-sample v3.0.0
[INFO] [stderr]    Compiling windowfunctions v0.1.1
[INFO] [stderr]    Compiling audioadapter-buffers v3.0.0
[INFO] [stderr]    Compiling primal-check v0.3.4
[INFO] [stderr]    Compiling transpose v0.2.3
[INFO] [stderr]    Compiling rustfft v6.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling visibility v0.1.1
[INFO] [stderr]    Compiling oxifft-codegen v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling oximedia-core v0.1.5
[INFO] [stderr]    Compiling realfft v3.5.0
[INFO] [stderr]    Compiling rubato v2.0.0
[INFO] [stderr]    Compiling oximedia-audio v0.1.5
[INFO] [stderr]    Compiling oximedia-mir v0.1.5
[INFO] [stderr]    Compiling oximedia-audio-analysis v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.73s
[INFO] running `Command { std: "docker" "inspect" "04effda4270b0088a4b9fcbb98ff7ea1f7df4c92fceff31047ad63750dab0a91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04effda4270b0088a4b9fcbb98ff7ea1f7df4c92fceff31047ad63750dab0a91", kill_on_drop: false }`
[INFO] [stdout] 04effda4270b0088a4b9fcbb98ff7ea1f7df4c92fceff31047ad63750dab0a91
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c136783efce5eaefc50a22fcdc09e7cfa99a2c24efb201c796830c21b3e0c43b
[INFO] running `Command { std: "docker" "start" "-a" "c136783efce5eaefc50a22fcdc09e7cfa99a2c24efb201c796830c21b3e0c43b", kill_on_drop: false }`
[INFO] [stderr]    Compiling oximedia-audio-analysis v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.60s
[INFO] running `Command { std: "docker" "inspect" "c136783efce5eaefc50a22fcdc09e7cfa99a2c24efb201c796830c21b3e0c43b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c136783efce5eaefc50a22fcdc09e7cfa99a2c24efb201c796830c21b3e0c43b", kill_on_drop: false }`
[INFO] [stdout] c136783efce5eaefc50a22fcdc09e7cfa99a2c24efb201c796830c21b3e0c43b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d9c28aa0dc3ce13d1464ff43afe130e3764fd0bf34c487d39fd840f58fb223ca
[INFO] running `Command { std: "docker" "start" "-a" "d9c28aa0dc3ce13d1464ff43afe130e3764fd0bf34c487d39fd840f58fb223ca", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_audio_analysis-b6ccad7df292c9ed)
[INFO] [stdout] 
[INFO] [stdout] running 605 tests
[INFO] [stdout] test beat::tests::test_beat_event_is_downbeat_4_4 ... ok
[INFO] [stdout] test beat::tests::test_beat_event_zero_meter ... ok
[INFO] [stdout] test beat::tests::test_beat_event_is_downbeat_3_4 ... ok
[INFO] [stdout] test beat::tests::test_beat_tracker_empty_onsets ... ok
[INFO] [stdout] test beat::tests::test_estimate_tempo_empty ... ok
[INFO] [stdout] test beat::tests::test_beat_tracker_beat_numbers ... ok
[INFO] [stdout] test beat::tests::test_meter_analyzer_defaults_to_4 ... ok
[INFO] [stdout] test beat::tests::test_beat_tracker_projects_beats ... ok
[INFO] [stdout] test cepstral::tests::test_analyze_frame_energy ... ok
[INFO] [stdout] test cepstral::tests::test_cepstral_distance_nonzero ... ok
[INFO] [stdout] test cepstral::tests::test_cepstral_distance_zero ... ok
[INFO] [stdout] test cepstral::tests::test_compute_deltas ... ok
[INFO] [stdout] test beat::tests::test_estimate_tempo_insufficient_onsets ... ok
[INFO] [stdout] test cepstral::tests::test_analyze_frames_multiple ... ok
[INFO] [stdout] test beat::tests::test_estimate_tempo_regular_onsets ... ok
[INFO] [stdout] test cepstral::tests::test_analyzer_creation ... ok
[INFO] [stdout] test beat::tests::test_tempo_estimate_is_reliable ... ok
[INFO] [stdout] test beat::tests::test_tempo_estimate_is_reliable_boundary ... ok
[INFO] [stdout] test cepstral::tests::test_analyze_frame_mfcc_count ... ok
[INFO] [stdout] test cepstral::tests::test_dct_ii_length ... ok
[INFO] [stdout] test beat::tests::test_meter_analyzer_returns_3_or_4 ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_invalid_sample_rate ... ok
[INFO] [stdout] test cepstral::tests::test_lifter_modifies_coefficients ... ok
[INFO] [stdout] test cepstral::tests::test_hz_to_mel_and_back ... ok
[INFO] [stdout] test cepstral::tests::test_mfcc_variance_empty ... ok
[INFO] [stdout] test cepstral::tests::test_mean_mfcc_empty ... ok
[INFO] [stdout] test cepstral::tests::test_mel_filters_non_negative ... ok
[INFO] [stdout] test chroma::tests::test_chroma_names_contains_all_sharps ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_too_short ... ok
[INFO] [stdout] test cepstral::tests::test_mel_filters_shape ... ok
[INFO] [stdout] test cepstral::tests::test_mean_mfcc_single ... ok
[INFO] [stdout] test chroma::tests::test_chroma_names_first_last ... ok
[INFO] [stdout] test chroma::tests::test_chromagram_a5_octave_invariance ... ok
[INFO] [stdout] test chroma::tests::test_chromagram_a4_maps_to_pitch_class_9 ... ok
[INFO] [stdout] test chroma::tests::test_chromagram_normalised_sums_to_one ... ok
[INFO] [stdout] test chroma::tests::test_chromagram_empty_spectrum ... ok
[INFO] [stdout] test chroma::tests::test_chromagram_zero_n_fft ... ok
[INFO] [stdout] test chroma::tests::test_chromagram_zero_sample_rate ... ok
[INFO] [stdout] test chroma::tests::test_compute_chromagram_normalized_l2 ... ok
[INFO] [stdout] test chroma::tests::test_l1_l2_max_preserve_relative_ordering ... ok
[INFO] [stdout] test chroma::tests::test_normalize_l1_sums_to_one ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_custom_coefficients ... ok
[INFO] [stdout] test chroma::tests::test_chroma_names_count ... ok
[INFO] [stdout] test chroma::tests::test_compute_chromagram_normalized_max ... ok
[INFO] [stdout] test chroma::tests::test_normalize_max_one ... ok
[INFO] [stdout] test cepstral::tests::test_hz_to_mel_zero ... ok
[INFO] [stdout] test chroma::tests::test_chromagram_dc_and_subsonic_ignored ... ok
[INFO] [stdout] test chroma::tests::test_normalize_zero_array ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_no_pre_emphasis ... ok
[INFO] [stdout] test chroma::tests::test_tonal_centroid_length ... ok
[INFO] [stdout] test chroma::tests::test_normalize_l2_unit_norm ... ok
[INFO] [stdout] test chroma::tests::test_tonal_centroid_zero_chroma_is_all_zero ... ok
[INFO] [stdout] test chroma::tests::test_tonal_centroid_symmetry_chromatic_scale ... ok
[INFO] [stdout] test compression_analysis::tests::test_bitrate_estimate_clamp ... ok
[INFO] [stdout] test chroma::tests::test_tonal_centroid_single_pitch_class_non_zero ... ok
[INFO] [stdout] test compression_analysis::tests::test_estimate_bitrate_class_low_cutoff ... ok
[INFO] [stdout] test compression_analysis::tests::test_estimate_bitrate_class_mid_cutoff ... ok
[INFO] [stdout] test compression_analysis::tests::test_analyse_compression_compressed_higher_score ... ok
[INFO] [stdout] test compression_analysis::tests::test_estimate_cutoff_full_spectrum ... ok
[INFO] [stdout] test compression_analysis::tests::test_detect_spectral_holes_finds_notch ... ok
[INFO] [stdout] test compression_analysis::tests::test_estimate_cutoff_low_cutoff ... ok
[INFO] [stdout] test compression_analysis::tests::test_detect_spectral_holes_empty_on_flat ... ok
[INFO] [stdout] test compression_analysis::tests::test_detect_spectral_holes_positive_depth ... ok
[INFO] [stdout] test compression_analysis::tests::test_estimate_bitrate_class_high_cutoff ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_no_deltas ... ok
[INFO] [stdout] test compression_analysis::tests::test_analyse_compression_score_range ... ok
[INFO] [stdout] test compression_analysis::tests::test_spectral_continuity_index_flat_is_zero ... ok
[INFO] [stdout] test compression_analysis::tests::test_spectral_entropy_flat ... ok
[INFO] [stdout] test compression_analysis::tests::test_spectral_entropy_impulse ... ok
[INFO] [stdout] test compression_analysis::tests::test_synthetic_compressed_spectrum_length ... ok
[INFO] [stdout] test distortion::clipping::tests::test_clipping_detection ... ok
[INFO] [stdout] test chroma::tests::test_normalize_none_unchanged ... ok
[INFO] [stdout] test distortion::clipping::tests::test_clipping_with_hysteresis ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_basic ... ok
[INFO] [stdout] test dynamics::crest::tests::test_crest_factor_db ... ok
[INFO] [stdout] test compression_analysis::tests::test_spectral_continuity_index_noisy_positive ... ok
[INFO] [stdout] test dynamics::crest::tests::test_crest_over_time ... ok
[INFO] [stdout] test dynamics::crest::tests::test_crest_factor ... ok
[INFO] [stdout] test dynamics::rms::tests::test_rms_over_time ... ok
[INFO] [stdout] test dynamics::rms::tests::test_short_long_term ... ok
[INFO] [stdout] test compression_analysis::tests::test_synthetic_compressed_spectrum_cutoff ... ok
[INFO] [stdout] test dynamics::rms::tests::test_rms_db ... ok
[INFO] [stdout] test echo::rt60::tests::test_schroeder_integration ... ok
[INFO] [stdout] test energy::tests::test_detect_silence_empty_input ... ok
[INFO] [stdout] test distortion::thd::tests::test_thd_distorted_signal ... ok
[INFO] [stdout] test energy::tests::test_detect_silence_finds_silent_signal ... ok
[INFO] [stdout] test energy::tests::test_detect_silence_empty_for_loud_signal ... ok
[INFO] [stdout] test distortion::detect::tests::test_distortion_detector ... ok
[INFO] [stdout] test energy::tests::test_detect_silence_region_bounds_are_valid ... ok
[INFO] [stdout] test distortion::thd::tests::test_thd_clean_signal ... ok
[INFO] [stdout] test energy::tests::test_detect_silence_zero_sample_rate ... ok
[INFO] [stdout] test energy::tests::test_energy_envelope_correct_frame_count ... ok
[INFO] [stdout] test energy::tests::test_energy_envelope_empty_frame_size_zero ... ok
[INFO] [stdout] test echo::rt60::tests::test_rt60_measurement ... ok
[INFO] [stdout] test cepstral::tests::test_mfcc_variance_nonzero_for_varying_signal ... ok
[INFO] [stdout] test energy::tests::test_detect_silence_mixed_signal ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_energy_feature ... ok
[INFO] [stdout] test energy::tests::test_energy_envelope_hop_size_zero ... ok
[INFO] [stdout] test echo::room::tests::test_room_analyzer ... ok
[INFO] [stdout] test energy::tests::test_energy_envelope_signal_shorter_than_frame ... ok
[INFO] [stdout] test energy::tests::test_energy_envelope_silence_near_zero ... ok
[INFO] [stdout] test energy::tests::test_rms_energy_empty ... ok
[INFO] [stdout] test energy::tests::test_rms_energy_half_amplitude ... ok
[INFO] [stdout] test energy::tests::test_rms_energy_zeros ... ok
[INFO] [stdout] test energy::tests::test_rms_energy_alternating ... ok
[INFO] [stdout] test energy::tests::test_zcr_constant_negative_is_zero ... ok
[INFO] [stdout] test energy::tests::test_zcr_empty_is_zero ... ok
[INFO] [stdout] test energy::tests::test_zcr_single_sample_is_zero ... ok
[INFO] [stdout] test energy::tests::test_zcr_range ... ok
[INFO] [stdout] test energy_contour::tests::test_frame_rms_empty ... ok
[INFO] [stdout] test energy_contour::tests::test_frame_rms_silence ... ok
[INFO] [stdout] test energy_contour::tests::test_contour_silence_has_low_energy ... ok
[INFO] [stdout] test energy_contour::tests::test_frame_rms_unity ... ok
[INFO] [stdout] test energy_contour::tests::test_linear_to_db ... ok
[INFO] [stdout] test energy_contour::tests::test_linear_to_db_floor ... ok
[INFO] [stdout] test energy_contour::tests::test_detect_transients_sudden_onset ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_with_deltas ... ok
[INFO] [stdout] test energy::tests::test_zcr_alternating_equals_one ... ok
[INFO] [stdout] test energy::tests::test_zcr_constant_positive_is_zero ... ok
[INFO] [stdout] test energy_contour::tests::test_energy_contour_default_config ... ok
[INFO] [stdout] test energy_contour::tests::test_smooth_with_radius ... ok
[INFO] [stdout] test forensics::compression::tests::test_compression_detection ... ok
[INFO] [stdout] test energy_contour::tests::test_smooth_no_radius ... ok
[INFO] [stdout] test forensics::compression::tests::test_quantization_check ... ok
[INFO] [stdout] test energy_contour::tests::test_detect_transients_none_for_steady ... ok
[INFO] [stdout] test energy_contour::tests::test_segment_by_energy_single_class ... ok
[INFO] [stdout] test forensics::enf::tests::test_insufficient_samples_error ... ok
[INFO] [stdout] test energy_contour::tests::test_compute_contour_basic ... ok
[INFO] [stdout] test forensics::enf::tests::test_mains_frequency_nominal ... ok
[INFO] [stdout] test dynamics::range::tests::test_dynamics_analyzer ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_different_frequencies ... ok
[INFO] [stdout] test forensics::enf::tests::test_parabolic_interpolate_asymmetric ... ok
[INFO] [stdout] test forensics::enf::tests::test_sample_rate_too_low_error ... ok
[INFO] [stdout] test forensics::enf::tests::test_parabolic_interpolate_on_peak ... ok
[INFO] [stdout] test forensics::noise::tests::test_noise_floor_estimation ... ok
[INFO] [stdout] test formant::analyze::tests::test_formant_analyzer ... ok
[INFO] [stdout] test formant::analyze::tests::test_formant_bandwidth_ordering ... ok
[INFO] [stdout] test formant::analyze::tests::test_formant_bandwidth_analysis ... ok
[INFO] [stdout] test formant::analyze::tests::test_formant_bandwidth_insufficient_samples ... ok
[INFO] [stdout] test forensics::noise::tests::test_noise_analyzer ... ok
[INFO] [stdout] test energy::tests::test_rms_energy_all_ones ... ok
[INFO] [stdout] test formant::analyze::tests::test_prediction_error_computation ... ok
[INFO] [stdout] test formant::vowel::tests::test_unknown_vowel ... ok
[INFO] [stdout] test formant::vowel::tests::test_vowel_detection ... ok
[INFO] [stdout] test formant::vowel::tests::test_vowel_with_confidence ... ok
[INFO] [stdout] test formant_track::tests::test_f1_f2_helpers ... ok
[INFO] [stdout] test formant::analyze::tests::test_pre_emphasis ... ok
[INFO] [stdout] test formant_track::tests::test_formant_freq_validity ... ok
[INFO] [stdout] test formant_track::tests::test_formant_index_labels ... ok
[INFO] [stdout] test formant::analyze::tests::test_prediction_error_perfect_prediction ... ok
[INFO] [stdout] test formant::analyze::tests::test_formant_bandwidth_sine_wave ... ok
[INFO] [stdout] test formant_track::tests::test_formant_freq_bandwidth_exceeds_freq ... ok
[INFO] [stdout] test formant_track::tests::test_formant_index_values ... ok
[INFO] [stdout] test formant::track::tests::test_formant_tracking ... ok
[INFO] [stdout] test formant_track::tests::test_short_signal_no_panic ... ok
[INFO] [stdout] test cepstral::tests::test_extract_mfcc_frame_count ... ok
[INFO] [stdout] test formant_track::tests::test_formant_track_frame_get ... ok
[INFO] [stdout] test formant_track::tests::test_track_silence ... ok
[INFO] [stdout] test formant_track::tests::test_tracker_default ... ok
[INFO] [stdout] test formant_track::tests::test_typical_male_female_ordering ... ok
[INFO] [stdout] test harmony::tests::test_chord_is_diatonic_false ... ok
[INFO] [stdout] test harmony::tests::test_chord_name ... ok
[INFO] [stdout] test harmony::tests::test_chord_is_diatonic_true ... ok
[INFO] [stdout] test harmony::tests::test_chord_type_intervals_major ... ok
[INFO] [stdout] test harmony::tests::test_chord_type_intervals_minor7 ... ok
[INFO] [stdout] test harmony::tests::test_key_detector_c_major ... ok
[INFO] [stdout] test harmony::tests::test_musical_key_distance ... ok
[INFO] [stdout] test harmony::tests::test_musical_key_distance_self ... ok
[INFO] [stdout] test harmony::tests::test_musical_key_name_major ... ok
[INFO] [stdout] test harmony::tests::test_musical_key_name_minor ... ok
[INFO] [stdout] test harmony::tests::test_chord_notes_c_major ... ok
[INFO] [stdout] test harmony::tests::test_musical_key_relative_major_to_minor ... ok
[INFO] [stdout] test harmony::tests::test_musical_key_relative_minor_to_major ... ok
[INFO] [stdout] test harmony::tests::test_pitch_class_name ... ok
[INFO] [stdout] test harmony::tests::test_pitch_class_round_trip ... ok
[INFO] [stdout] test harmony::tests::test_pitch_class_semitones ... ok
[INFO] [stdout] test loudness::tests::test_frame_duration ... ok
[INFO] [stdout] test loudness::tests::test_frame_empty_samples ... ok
[INFO] [stdout] test loudness::tests::test_frame_from_silence ... ok
[INFO] [stdout] test loudness::tests::test_frame_is_loud_false ... ok
[INFO] [stdout] test loudness::tests::test_frame_is_loud_true ... ok
[INFO] [stdout] test forensics::enf::tests::test_enf_result_fields_valid ... ok
[INFO] [stdout] test loudness::tests::test_meter_no_data ... ok
[INFO] [stdout] test loudness::tests::test_meter_push_and_momentary ... ok
[INFO] [stdout] test loudness::tests::test_meter_integrated_after_several_windows ... ok
[INFO] [stdout] test loudness::tests::test_meter_reset_clears_all ... ok
[INFO] [stdout] test loudness::tests::test_meter_silent_signal ... ok
[INFO] [stdout] test loudness::tests::test_frame_mean_square_unit_sine ... ok
[INFO] [stdout] test loudness_curve::tests::test_a_weight_above_1khz_some_attenuation ... ok
[INFO] [stdout] test loudness_curve::tests::test_a_weight_at_100hz_heavily_attenuated ... ok
[INFO] [stdout] test loudness_curve::tests::test_a_weight_at_1khz_near_zero ... ok
[INFO] [stdout] test loudness_curve::tests::test_analyse_short_signal_no_panic ... ok
[INFO] [stdout] test loudness_curve::tests::test_analyse_silence ... ok
[INFO] [stdout] test loudness_curve::tests::test_analyzer_default_construction ... ok
[INFO] [stdout] test loudness_curve::tests::test_apply_a_weighting_returns_same_length ... ok
[INFO] [stdout] test loudness_curve::tests::test_apply_a_weighting_zeros_remain_zero ... ok
[INFO] [stdout] test loudness_curve::tests::test_c_weight_at_1khz_near_zero ... ok
[INFO] [stdout] test loudness_curve::tests::test_c_weight_cuts_less_at_low_freq_than_a_weight ... ok
[INFO] [stdout] test loudness_curve::tests::test_fraction_above_all ... ok
[INFO] [stdout] test loudness_curve::tests::test_fraction_above_none ... ok
[INFO] [stdout] test loudness_curve::tests::test_loudest_and_quietest_times ... ok
[INFO] [stdout] test loudness::tests::test_meter_window_count ... ok
[INFO] [stdout] test loudness_curve::tests::test_loudness_band_bounds_sub_bass ... ok
[INFO] [stdout] test loudness_curve::tests::test_loudness_band_names ... ok
[INFO] [stdout] test loudness_curve::tests::test_loudness_curve_empty ... ok
[INFO] [stdout] test loudness_curve::tests::test_loudness_band_bounds_treble ... ok
[INFO] [stdout] test loudness_curve::tests::test_loudness_level_phons_not_nan_or_inf ... ok
[INFO] [stdout] test formant_track::tests::test_voiced_frames_filter ... ok
[INFO] [stdout] test echo::detect::tests::test_echo_detector ... ok
[INFO] [stdout] test loudness_curve::tests::test_true_peak_full_scale ... ok
[INFO] [stdout] test loudness_range::tests::test_compute_block_lufs_full_scale ... ok
[INFO] [stdout] test loudness_range::tests::test_classify_dynamics ... ok
[INFO] [stdout] test loudness_range::tests::test_compute_block_lufs_silence ... ok
[INFO] [stdout] test loudness_range::tests::test_default_config ... ok
[INFO] [stdout] test loudness_range::tests::test_empty_samples ... ok
[INFO] [stdout] test forensics::enf::tests::test_drift_near_zero_for_stable_signal ... ok
[INFO] [stdout] test loudness_curve::tests::test_analyse_bands_count ... ok
[INFO] [stdout] test loudness_curve::tests::test_loudness_range_non_negative ... ok
[INFO] [stdout] test forensics::enf::tests::test_silence_low_coverage ... ok
[INFO] [stdout] test loudness_range::tests::test_energy_mean_empty ... ok
[INFO] [stdout] test loudness_range::tests::test_energy_mean_single ... ok
[INFO] [stdout] test loudness_range::tests::test_percentile_sorted_single ... ok
[INFO] [stdout] test loudness_range::tests::test_zero_sample_rate ... ok
[INFO] [stdout] test loudness_range::tests::test_percentile_sorted_range ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_apply_mel_filterbank_shape ... ok
[INFO] [stdout] test loudness_range::tests::test_loudness_histogram ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_config_default ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_filterbank_invalid_params ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_filterbank_non_negative ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_filterbank_shape ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_hz_mel_roundtrip ... ok
[INFO] [stdout] test loudness_range::tests::test_silence_loudness ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_mel_spectrogram_too_short ... ok
[INFO] [stdout] test forensics::enf::tests::test_analyze_enf_convenience_fn ... ok
[INFO] [stdout] test forensics::enf::tests::test_analyze_50hz_signal ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_mel_spectrogram_zero_hop_error ... ok
[INFO] [stdout] test forensics::enf::tests::test_analyze_60hz_signal ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_mel_spectrogram_log_scale ... ok
[INFO] [stdout] test music::harmony::tests::test_detect_key_flat_chroma ... ok
[INFO] [stdout] test loudness_range::tests::test_constant_amplitude_lra_zero ... ok
[INFO] [stdout] test music::harmony::tests::test_detect_key_function ... ok
[INFO] [stdout] test music::harmony::tests::test_detect_key_g_major ... ok
[INFO] [stdout] test music::harmony::tests::test_harmonic_complexity_many_chords ... ok
[INFO] [stdout] test music::harmony::tests::test_harmonic_complexity_single_chord ... ok
[INFO] [stdout] test loudness_range::tests::test_varying_amplitude_nonzero_lra ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_mel_spectrogram_values_non_negative ... ok
[INFO] [stdout] test music::harmony::tests::test_harmony_analyzer_insufficient_samples ... ok
[INFO] [stdout] test loudness_range::tests::test_block_count ... ok
[INFO] [stdout] test music::harmony::tests::test_match_chord_a_minor ... ok
[INFO] [stdout] test music::harmony::tests::test_rotate_profile_by_one ... ok
[INFO] [stdout] test music::harmony::tests::test_match_chord_c_major ... ok
[INFO] [stdout] test music::instrument::tests::test_instrument_detection ... ok
[INFO] [stdout] test music::harmony::tests::test_mean_chroma_computation ... ok
[INFO] [stdout] test music::harmony::tests::test_rotate_profile_identity ... ok
[INFO] [stdout] test music::instrument::tests::test_instrument_scores ... ok
[INFO] [stdout] test formant_track::tests::test_formant_ordering_in_frame ... ok
[INFO] [stdout] test formant_track::tests::test_track_voiced_signal ... ok
[INFO] [stdout] test noise::classify::tests::test_empty_spectrum_no_panic ... ok
[INFO] [stdout] test noise::classify::tests::test_classify_noise_from_samples ... ok
[INFO] [stdout] test noise::classify::tests::test_harmonic_peaks_no_harmonics ... ok
[INFO] [stdout] test noise::classify::tests::test_high_frequency_ratio ... ok
[INFO] [stdout] test noise::classify::tests::test_low_frequency_ratio ... ok
[INFO] [stdout] test noise::classify::tests::test_noise_classification_broadband ... ok
[INFO] [stdout] test noise::classify::tests::test_noise_classification_click ... ok
[INFO] [stdout] test noise::classify::tests::test_noise_classification_hiss ... ok
[INFO] [stdout] test noise::classify::tests::test_noise_classification_hum ... ok
[INFO] [stdout] test noise::classify::tests::test_noise_classification_rumble ... ok
[INFO] [stdout] test noise::classify::tests::test_noise_classification_white ... ok
[INFO] [stdout] test noise::classify::tests::test_noise_type_labels ... ok
[INFO] [stdout] test noise::classify::tests::test_pink_noise_spectrum ... ok
[INFO] [stdout] test formant_track::tests::test_formant_track_duration ... ok
[INFO] [stdout] test noise::snr::tests::test_snr_computation ... ok
[INFO] [stdout] test music::rhythm::tests::test_rhythm_analyzer ... ok
[INFO] [stdout] test noise::snr::tests::test_snr_estimation ... ok
[INFO] [stdout] test onset::tests::test_energy_onset_empty ... ok
[INFO] [stdout] test noise::profile::tests::test_noise_profiler ... ok
[INFO] [stdout] test onset::tests::test_energy_onset_returns_deltas ... ok
[INFO] [stdout] test onset::tests::test_onset_detector_spectral_flux_method ... ok
[INFO] [stdout] test onset::tests::test_onset_event_is_strong ... ok
[INFO] [stdout] test onset::tests::test_onset_event_threshold_boundary ... ok
[INFO] [stdout] test onset::tests::test_onset_detector_finds_attack ... ok
[INFO] [stdout] test onset::tests::test_onset_method_latency_complex ... ok
[INFO] [stdout] test onset::tests::test_onset_method_latency_energy ... ok
[INFO] [stdout] test onset::tests::test_onset_detector_silent_signal ... ok
[INFO] [stdout] test onset::tests::test_spectral_flux_equal_spectra ... ok
[INFO] [stdout] test onset::tests::test_spectral_flux_no_increase ... ok
[INFO] [stdout] test onset::tests::test_spectral_flux_positive_only ... ok
[INFO] [stdout] test onset::tests::test_onset_method_latency_flux ... ok
[INFO] [stdout] test pitch::contour::tests::test_pitch_contour ... ok
[INFO] [stdout] test onset::tests::test_onset_method_latency_phase ... ok
[INFO] [stdout] test pitch::contour::tests::test_contour_smoothing ... ok
[INFO] [stdout] test pitch::track::tests::test_pitch_unvoiced ... ok
[INFO] [stdout] test pitch::vibrato::tests::test_no_vibrato ... ok
[INFO] [stdout] test pitch::vibrato::tests::test_vibrato_detection ... ok
[INFO] [stdout] test pitch_detect::tests::test_autocorr_silent_signal ... ok
[INFO] [stdout] test pitch_detect::tests::test_autocorr_empty_signal ... ok
[INFO] [stdout] test forensics::enf::tests::test_coverage_pure_signal ... ok
[INFO] [stdout] test pitch_detect::tests::test_confidence_clamped_high ... ok
[INFO] [stdout] test pitch_detect::tests::test_confidence_clamped_low ... ok
[INFO] [stdout] test pitch_detect::tests::test_autocorr_zero_sample_rate ... ok
[INFO] [stdout] test music::timbre::tests::test_timbral_analyzer ... ok
[INFO] [stdout] test pitch_detect::tests::test_confidence_ok_below_threshold ... ok
[INFO] [stdout] test pitch::track::tests::test_pitch_tracking ... ok
[INFO] [stdout] test pitch_detect::tests::test_confidence_ok_above_threshold ... ok
[INFO] [stdout] test pitch_detect::tests::test_yin_empty_signal ... ok
[INFO] [stdout] test noise::classify::tests::test_detailed_classification_has_all_scores ... ok
[INFO] [stdout] test pitch_detect::tests::test_yin_threshold_clamped ... ok
[INFO] [stdout] test pitch_detect::tests::test_yin_zero_sample_rate ... ok
[INFO] [stdout] test pitch_tracker::tests::test_dominant_pitch_class ... ok
[INFO] [stdout] test noise::classify::tests::test_harmonic_peaks_detection ... ok
[INFO] [stdout] test pitch_tracker::tests::test_history_mean_f0 ... ok
[INFO] [stdout] test pitch_tracker::tests::test_history_capacity_eviction ... ok
[INFO] [stdout] test pitch_tracker::tests::test_history_voicing_rate ... ok
[INFO] [stdout] test pitch_tracker::tests::test_pitch_class_from_frequency_zero ... ok
[INFO] [stdout] test pitch_tracker::tests::test_pitch_class_from_midi_a ... ok
[INFO] [stdout] test pitch_tracker::tests::test_pitch_class_from_frequency_a4 ... ok
[INFO] [stdout] test pitch_tracker::tests::test_pitch_class_from_midi_c ... ok
[INFO] [stdout] test pitch_tracker::tests::test_tracker_default_construction ... ok
[INFO] [stdout] test pitch_tracker::tests::test_pitch_class_names ... ok
[INFO] [stdout] test pitch_tracker::tests::test_pitch_class_index_range ... ok
[INFO] [stdout] test pitch_tracker::tests::test_unvoiced_observation ... ok
[INFO] [stdout] test pitch_tracker::tests::test_voiced_low_confidence_not_voiced ... ok
[INFO] [stdout] test pitch_tracker::tests::test_tracker_reset_clears_history ... ok
[INFO] [stdout] test psychoacoustic::tests::test_a_weighting_1000hz ... ok
[INFO] [stdout] test psychoacoustic::tests::test_a_weighting_low_freq ... ok
[INFO] [stdout] test pitch_tracker::tests::test_tracker_silence_unvoiced ... ok
[INFO] [stdout] test pitch_tracker::tests::test_voiced_observation ... ok
[INFO] [stdout] test psychoacoustic::tests::test_bark_to_hz_roundtrip ... ok
[INFO] [stdout] test psychoacoustic::tests::test_compute_loudness_silence ... ok
[INFO] [stdout] test psychoacoustic::tests::test_erb_bandwidth ... ok
[INFO] [stdout] test psychoacoustic::tests::test_critical_bandwidth_low ... ok
[INFO] [stdout] test psychoacoustic::tests::test_hz_to_bark_1000 ... ok
[INFO] [stdout] test psychoacoustic::tests::test_compute_loudness_basic ... ok
[INFO] [stdout] test psychoacoustic::tests::test_hz_to_erb_rate ... ok
[INFO] [stdout] test psychoacoustic::tests::test_is_audible ... ok
[INFO] [stdout] test psychoacoustic::tests::test_estimate_masking_thresholds ... ok
[INFO] [stdout] test psychoacoustic::tests::test_spreading_function_zero ... ok
[INFO] [stdout] test psychoacoustic::tests::test_threshold_in_quiet_1000hz ... ok
[INFO] [stdout] test psychoacoustic::tests::test_threshold_in_quiet_100hz ... ok
[INFO] [stdout] test psychoacoustic::tests::test_hz_to_bark_zero ... ok
[INFO] [stdout] test psychoacoustic::tests::test_spreading_function_symmetric_falloff ... ok
[INFO] [stdout] test music::harmony::tests::test_harmony_analyzer_basic ... ok
[INFO] [stdout] test rhythm::tests::test_build_beat_grid_beat_times_spaced_correctly ... ok
[INFO] [stdout] test rhythm::tests::test_build_beat_grid_none_on_empty ... ok
[INFO] [stdout] test rhythm::tests::test_detect_time_signature_4_4_most_likely ... ok
[INFO] [stdout] test rhythm::tests::test_detect_time_signature_returns_candidates ... ok
[INFO] [stdout] test rhythm::tests::test_estimate_tempo_empty ... ok
[INFO] [stdout] test rhythm::tests::test_estimate_tempo_regular_120bpm ... ok
[INFO] [stdout] test rhythm::tests::test_estimate_tempo_result_plausible ... ok
[INFO] [stdout] test rhythm::tests::test_estimate_tempo_single_onset ... ok
[INFO] [stdout] test rhythm::tests::test_build_beat_grid_beat_times_length ... ok
[INFO] [stdout] test rhythm::tests::test_onset_strength_clamped ... ok
[INFO] [stdout] test rhythm::tests::test_periodicity_scores_empty ... ok
[INFO] [stdout] test rhythm::tests::test_periodicity_scores_length ... ok
[INFO] [stdout] test rhythm::tests::test_synthetic_onset_strengths_range ... ok
[INFO] [stdout] test rhythm::tests::test_onset_creation ... ok
[INFO] [stdout] test rhythm::tests::test_synthetic_onset_strengths_length ... ok
[INFO] [stdout] test rhythm::tests::test_tempo_estimate_period ... ok
[INFO] [stdout] test rhythm::tests::test_time_signature_beats_per_bar ... ok
[INFO] [stdout] test rhythm::tests::test_tempo_estimate_plausible ... ok
[INFO] [stdout] test scene_classify::tests::test_classify_insufficient_samples ... ok
[INFO] [stdout] test pitch_detect::tests::test_autocorr_sine_440hz ... ok
[INFO] [stdout] test forensics::edit::tests::test_edit_detector ... ok
[INFO] [stdout] test pitch_detect::tests::test_detect_pitch_convenience ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_higher_freq_more_energy_in_higher_mels ... ok
[INFO] [stdout] test scene_classify::tests::test_scene_label_strings ... ok
[INFO] [stdout] test scene_classify::tests::test_spectral_flatness_pure_tone ... ok
[INFO] [stdout] test scene_classify::tests::test_spectral_flatness_uniform ... ok
[INFO] [stdout] test music::harmony::tests::test_detect_key_from_audio ... ok
[INFO] [stdout] test scene_classify::tests::test_confidence_in_range ... ok
[INFO] [stdout] test pitch_detect::tests::test_yin_confidence_range ... ok
[INFO] [stdout] test scene_classify::tests::test_classify_low_energy_is_quiet ... ok
[INFO] [stdout] test silence_detect::tests::test_compute_rms_f64_empty ... ok
[INFO] [stdout] test silence_detect::tests::test_compute_rms_f64_unit ... ok
[INFO] [stdout] test music::harmony::tests::test_chord_detection_has_results ... ok
[INFO] [stdout] test silence_detect::tests::test_dbfs_to_linear_zero ... ok
[INFO] [stdout] test silence_detect::tests::test_default_config ... ok
[INFO] [stdout] test silence_detect::tests::test_dbfs_to_linear_minus6 ... ok
[INFO] [stdout] test silence_detect::tests::test_empty_input ... ok
[INFO] [stdout] test silence_detect::tests::test_linear_to_dbfs_zero ... ok
[INFO] [stdout] test silence_detect::tests::test_linear_to_dbfs_roundtrip ... ok
[INFO] [stdout] test silence_detect::tests::test_pure_silence ... ok
[INFO] [stdout] test silence_detect::tests::test_silence_region_duration ... ok
[INFO] [stdout] test silence_detect::tests::test_silence_then_tone ... ok
[INFO] [stdout] test silence_detect::tests::test_pure_tone_no_silence ... ok
[INFO] [stdout] test music::harmony::tests::test_detect_key_c_major_chord ... ok
[INFO] [stdout] test mel_spectrogram::tests::test_mel_spectrogram_shape ... ok
[INFO] [stdout] test spectral::analyze::tests::test_bin_frequency_conversion ... ok
[INFO] [stdout] test silence_detect::tests::test_strip_silence_both_ends ... ok
[INFO] [stdout] test silence_detect::tests::test_strip_silence_all_silent ... ok
[INFO] [stdout] test silence_detect::tests::test_strip_silence_no_silence ... ok
[INFO] [stdout] test spectral::bandwidth::tests::test_spectral_spread ... ok
[INFO] [stdout] test spectral::centroid::tests::test_centroid_empty ... ok
[INFO] [stdout] test spectral::bandwidth::tests::test_spectral_bandwidth ... ok
[INFO] [stdout] test spectral::centroid::tests::test_spectral_centroid ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_a4_maps_to_a ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_a5_maps_to_a ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_cosine_similarity_identical ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_cosine_similarity_orthogonal ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_dominant_pitch_class ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_empty_spectrum ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_normalise ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_normalised_sums_to_one ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_out_of_range_freq ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_track_length ... ok
[INFO] [stdout] test spectral::chroma::tests::test_chroma_vector_zeros ... ok
[INFO] [stdout] test spectral::chroma::tests::test_estimate_key_c_major ... ok
[INFO] [stdout] test spectral::chroma::tests::test_estimate_key_returns_valid_range ... ok
[INFO] [stdout] test spectral::chroma::tests::test_mean_chroma_averages_correctly ... ok
[INFO] [stdout] test spectral::chroma::tests::test_mean_chroma_empty ... ok
[INFO] [stdout] test spectral::chroma::tests::test_mean_chroma_single ... ok
[INFO] [stdout] test spectral::chroma::tests::test_pitch_class_names_count ... ok
[INFO] [stdout] test spectral::chroma::tests::test_rotated_by_one ... ok
[INFO] [stdout] test spectral::chroma::tests::test_rotated_identity ... ok
[INFO] [stdout] test spectral::crest::tests::test_crest_bands ... ok
[INFO] [stdout] test spectral::crest::tests::test_crest_db ... ok
[INFO] [stdout] test spectral::crest::tests::test_spectral_crest ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_analyzer_process_empty ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_band_energy_full_range ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_fft_size_freq_bin ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_fft_size_size ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_spectral_flatness_range ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_spectral_frame_bin_frequency ... ok
[INFO] [stdout] test spectral::centroid::tests::test_centroid_track ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_spectral_frame_centroid_dc ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_spectral_rolloff_at_100_pct ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_window_rectangular ... ok
[INFO] [stdout] test spectral::fft_frame::tests::test_window_hann_endpoints ... ok
[INFO] [stdout] test spectral::flatness::tests::test_flatness_db ... ok
[INFO] [stdout] test spectral::flux::tests::test_detect_onsets_basic ... ok
[INFO] [stdout] test spectral::flux::tests::test_detect_onsets_no_onsets ... ok
[INFO] [stdout] test spectral::flatness::tests::test_spectral_flatness ... ok
[INFO] [stdout] test spectral::flux::tests::test_detect_onsets_all_above_threshold ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_empty ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_different_lengths ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_hwr_ignores_decreases ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_hwr_mixed ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_all_bins_change ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_identical_frames ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_hwr_track_length ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_normalised_scales_with_bins ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_hwr_counts_increases ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_symmetry ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_track_constant_frames ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_track_empty_spectrogram ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_track_increasing_energy ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_track_single_frame ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_track_length ... ok
[INFO] [stdout] test spectral::flux::tests::test_flux_unit_step ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_bin_to_freq_nyquist ... ok
[INFO] [stdout] test music::harmony::tests::test_detect_key_a_minor_chord ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_85_vs_95 ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_above_one_threshold ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_empty ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_full_energy_threshold ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_low_frequency_content ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_sine_440hz ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_track_length ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_track_monotone_input ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_uniform_spectrum_85 ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_zero_threshold ... ok
[INFO] [stdout] test spectral::zcr::tests::test_mean_zcr_constant ... ok
[INFO] [stdout] test spectral::zcr::tests::test_mean_zcr_empty ... ok
[INFO] [stdout] test spectral::zcr::tests::test_voiced_unvoiced_frames_noise_mostly_unvoiced ... ok
[INFO] [stdout] test spectral::zcr::tests::test_voiced_unvoiced_frames_sine_mostly_voiced ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_constant_negative ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_count_alternating ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_alternating_signal ... ok
[INFO] [stdout] test spectral::rolloff::tests::test_rolloff_high_frequency_tone ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_constant_positive ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_count_empty ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_all_values_in_range ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_invalid_frame_size ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_basic_length ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_invalid_hop_size ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_too_short ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_constant_signal ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_range ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_single_sample ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_stats_constant_zero ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_noise_higher_than_sine ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_stats_noise ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_empty ... ok
[INFO] [stdout] test spectral_contrast::tests::test_analyze_empty_frames ... ok
[INFO] [stdout] test spectral_contrast::tests::test_analyze_frame_band_count ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_stats_range_validity ... ok
[INFO] [stdout] test spectral_contrast::tests::test_analyze_multi_frame ... ok
[INFO] [stdout] test spectral_contrast::tests::test_analyze_frame_constant_spectrum ... ok
[INFO] [stdout] test spectral_contrast::tests::test_band_edges_count ... ok
[INFO] [stdout] test spectral_contrast::tests::test_band_edges_increasing ... ok
[INFO] [stdout] test spectral_contrast::tests::test_default_config ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_stats_none_when_no_frames ... ok
[INFO] [stdout] test spectral::zcr::tests::test_zcr_sine_wave ... ok
[INFO] [stdout] test spectral_contrast::tests::test_peak_valley_empty ... ok
[INFO] [stdout] test spectral_contrast::tests::test_peak_valley_varying ... ok
[INFO] [stdout] test spectral_contrast::tests::test_peak_valley_uniform ... ok
[INFO] [stdout] test pitch_detect::tests::test_yin_sine_440hz ... ok
[INFO] [stdout] test spectral_contrast::tests::test_spectral_flatness_empty ... ok
[INFO] [stdout] test spectral_contrast::tests::test_spectral_flatness_noise ... ok
[INFO] [stdout] test spectral_contrast::tests::test_spectral_flatness_tonal ... ok
[INFO] [stdout] test spectral_features::tests::test_centroid_frequency_range_filter ... ok
[INFO] [stdout] test spectral_features::tests::test_centroid_single_peak ... ok
[INFO] [stdout] test spectral_features::tests::test_centroid_uniform_magnitudes ... ok
[INFO] [stdout] test spectral_features::tests::test_centroid_empty ... ok
[INFO] [stdout] test spectral_features::tests::test_flux_first_frame_returns_none ... ok
[INFO] [stdout] test spectral_features::tests::test_centroid_zero_magnitudes ... ok
[INFO] [stdout] test spectral_features::tests::test_flux_identical_frames_zero ... ok
[INFO] [stdout] test spectral_features::tests::test_flux_increasing_energy ... ok
[INFO] [stdout] test spectral_features::tests::test_flux_half_wave_suppresses_negative ... ok
[INFO] [stdout] test spectral_features::tests::test_flux_reset_clears_state ... ok
[INFO] [stdout] test spectral_features::tests::test_rolloff_clamped_threshold ... ok
[INFO] [stdout] test spectral_features::tests::test_rolloff_empty_spectrum ... ok
[INFO] [stdout] test spectral_features::tests::test_rolloff_full_threshold ... ok
[INFO] [stdout] test spectral_features::tests::test_rolloff_finds_correct_bin ... ok
[INFO] [stdout] test spectral_features::tests::test_rolloff_zero_energy ... ok
[INFO] [stdout] test spectral_flux::tests::test_custom_threshold_clamped ... ok
[INFO] [stdout] test spectral_flux::tests::test_count_onsets_matches ... ok
[INFO] [stdout] test spectral_flux::tests::test_default_detector ... ok
[INFO] [stdout] test spectral_flux::tests::test_detect_impulse_has_onset ... ok
[INFO] [stdout] test spectral_contrast::tests::test_magnitude_spectrum_silence ... ok
[INFO] [stdout] test spectral_flux::tests::test_flux_frame_new ... ok
[INFO] [stdout] test spectral_flux::tests::test_detect_constant_signal_no_onsets ... ok
[INFO] [stdout] test spectral_flux::tests::test_detect_silence ... ok
[INFO] [stdout] test spectral_flux::tests::test_onset_times_monotonic ... ok
[INFO] [stdout] test scene_classify::tests::test_features_energy_for_sine ... ok
[INFO] [stdout] test spectral_flux::tests::test_sensitivity_labels ... ok
[INFO] [stdout] test spectral_flux::tests::test_flux_frames_length ... ok
[INFO] [stdout] test spectral_flux::tests::test_short_signal_no_panic ... ok
[INFO] [stdout] test stereo_field::tests::test_analyzer_default ... ok
[INFO] [stdout] test spectral_flux::tests::test_sensitivity_thresholds ... ok
[INFO] [stdout] test stereo_field::tests::test_empty_signal ... ok
[INFO] [stdout] test spectral_flux::tests::test_mean_flux_non_negative ... ok
[INFO] [stdout] test spectral_features::tests::test_centroid_default ... ok
[INFO] [stdout] test forensics::authenticity::tests::test_authenticity_verifier ... ok
[INFO] [stdout] test scene_classify::tests::test_features_flatness_range ... ok
[INFO] [stdout] test scene_classify::tests::test_classify_quiet_silence ... ok
[INFO] [stdout] test stereo_field::tests::test_position_from_pan_hard_right ... ok
[INFO] [stdout] test stereo_field::tests::test_position_from_pan_centre ... ok
[INFO] [stdout] test stereo_field::tests::test_position_from_pan_hard_left ... ok
[INFO] [stdout] test stereo_field::tests::test_position_labels ... ok
[INFO] [stdout] test stereo_field::tests::test_hard_left_signal ... ok
[INFO] [stdout] test stereo_field::tests::test_mono_signal ... ok
[INFO] [stdout] test stereo_field::tests::test_out_of_phase_detection ... ok
[INFO] [stdout] test stereo_field::tests::test_negative_correlation_fraction ... ok
[INFO] [stdout] test stereo_field::tests::test_frame_timestamps_monotonic ... ok
[INFO] [stdout] test stereo_field::tests::test_position_left_right ... ok
[INFO] [stdout] test tempo_analysis::tests::test_analyzer_default_construction ... ok
[INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_short_signal ... ok
[INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_returns_range ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_band_reliability_high_confidence ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_band_new ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_band_reliability_low_confidence ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_range_from_bpm_allegro ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_range_from_bpm_grave ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_range_from_bpm_largo ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_range_from_bpm_moderato ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_range_from_bpm_prestissimo ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_range_from_bpm_presto ... ok
[INFO] [stdout] test tempo_analysis::tests::test_tempo_range_labels ... ok
[INFO] [stdout] test tests::test_analysis_config ... ok
[INFO] [stdout] test tests::test_db_conversion ... ok
[INFO] [stdout] test stereo_field::tests::test_stereo_field_dominant_position ... ok
[INFO] [stdout] test tests::test_window_generation ... ok
[INFO] [stdout] test tests::test_rms_computation ... ok
[INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_confidence_range ... ok
[INFO] [stdout] test timbre::tests::test_compute_timbre_features_compiles_and_runs ... ok
[INFO] [stdout] test timbre::tests::test_mel_filter_bank_non_negative ... ok
[INFO] [stdout] test tests::test_zero_crossing_rate ... ok
[INFO] [stdout] test timbre::tests::test_mel_roundtrip ... ok
[INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_band_count ... ok
[INFO] [stdout] test timbre::tests::test_mel_filter_bank_shape ... ok
[INFO] [stdout] test timbre::tests::test_spectral_brightness_all_low_freq_is_zero ... ok
[INFO] [stdout] test timbre::tests::test_spectral_brightness_flat_near_half ... ok
[INFO] [stdout] test timbre::tests::test_mfcc_distance_positive_different ... ok
[INFO] [stdout] test timbre::tests::test_spectral_centroid_low_energy_is_low ... ok
[INFO] [stdout] test timbre::tests::test_spectral_centroid_flat_is_middle ... ok
[INFO] [stdout] test timbre::tests::test_spectral_roughness_flat_near_zero ... ok
[INFO] [stdout] test timbre::tests::test_spectral_rolloff_within_range ... ok
[INFO] [stdout] test timbre::tests::test_hz_to_mel_zero ... ok
[INFO] [stdout] test timbre::tests::test_spectral_spread_positive ... ok
[INFO] [stdout] test timbre::tests::test_mfcc_distance_zero_self ... ok
[INFO] [stdout] test transient::envelope::tests::test_compute_envelope ... ok
[INFO] [stdout] test transient::envelope::tests::test_extract_adsr ... ok
[INFO] [stdout] test transient::detect::tests::test_transient_detector ... ok
[INFO] [stdout] test timbre::tests::test_compute_mfcc_length ... ok
[INFO] [stdout] test scene_classify::tests::test_classify_noisy_white_noise ... ok
[INFO] [stdout] test voice::age::tests::test_age_estimation ... ok
[INFO] [stdout] test voice::emotion::tests::test_emotion_scores ... ok
[INFO] [stdout] test voice::age::tests::test_age_with_confidence ... ok
[INFO] [stdout] test voice::gender::tests::test_gender_detection ... ok
[INFO] [stdout] test stereo_field::tests::test_width_bounded ... ok
[INFO] [stdout] test voice::gender::tests::test_gender_with_confidence ... ok
[INFO] [stdout] test voice::emotion::tests::test_emotion_detection ... ok
[INFO] [stdout] test voice::speaker::tests::test_speaker_identification ... ok
[INFO] [stdout] test voice::speaker::tests::test_speaker_verification ... ok
[INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_on_silence ... ok
[INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_half_and_double ... ok
[INFO] [stdout] test separate::drums::tests::test_drum_separation ... ok
[INFO] [stdout] test scene_classify::tests::test_classify_music_tonal_sine ... ok
[INFO] [stdout] test separate::instrumental::tests::test_instrumental_separation ... ok
[INFO] [stdout] test separate::vocal::tests::test_vocal_separation ... ok
[INFO] [stdout] test voice::characteristics::tests::test_voice_analyzer ... ok
[INFO] [stdout] test spectral::analyze::tests::test_spectral_analyzer ... ok
[INFO] [stdout] test spectral_contrast::tests::test_magnitude_spectrum_length ... ok
[INFO] [stdout] test separate::sources::tests::test_source_separator ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 605 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.12s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oximedia_audio_analysis
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 82) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.68s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d9c28aa0dc3ce13d1464ff43afe130e3764fd0bf34c487d39fd840f58fb223ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9c28aa0dc3ce13d1464ff43afe130e3764fd0bf34c487d39fd840f58fb223ca", kill_on_drop: false }`
[INFO] [stdout] d9c28aa0dc3ce13d1464ff43afe130e3764fd0bf34c487d39fd840f58fb223ca
