[INFO] fetching crate oximedia-audio-analysis 0.1.3... [INFO] testing oximedia-audio-analysis-0.1.3 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate oximedia-audio-analysis 0.1.3 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate oximedia-audio-analysis 0.1.3 [INFO] finished tweaking crates.io crate oximedia-audio-analysis 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-audio-analysis 0.1.3 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-audio-analysis 0.1.3 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-audio-analysis 0.1.3 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded transpose v0.2.3 [INFO] [stderr] Downloaded visibility v0.1.1 [INFO] [stderr] Downloaded realfft v3.5.0 [INFO] [stderr] Downloaded rubato v2.0.0 [INFO] [stderr] Downloaded windowfunctions v0.1.1 [INFO] [stderr] Downloaded primal-check v0.3.4 [INFO] [stderr] Downloaded strength_reduce v0.2.4 [INFO] [stderr] Downloaded oxifft-codegen v0.2.0 [INFO] [stderr] Downloaded spin v0.10.0 [INFO] [stderr] Downloaded audioadapter v3.0.0 [INFO] [stderr] Downloaded audioadapter-sample v3.0.0 [INFO] [stderr] Downloaded audioadapter-buffers v3.0.0 [INFO] [stderr] Downloaded audio-core v0.2.1 [INFO] [stderr] Downloaded oximedia-core v0.1.3 [INFO] [stderr] Downloaded rustfft v6.4.1 [INFO] [stderr] Downloaded oximedia-audio v0.1.3 [INFO] [stderr] Downloaded oxifft v0.2.0 [INFO] [stderr] Downloaded oximedia-mir v0.1.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] eff0e61d7b4d127a38279683afcecacdcf97085629b053c233d1f32162853d80 [INFO] running `Command { std: "docker" "start" "-a" "eff0e61d7b4d127a38279683afcecacdcf97085629b053c233d1f32162853d80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eff0e61d7b4d127a38279683afcecacdcf97085629b053c233d1f32162853d80", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eff0e61d7b4d127a38279683afcecacdcf97085629b053c233d1f32162853d80", kill_on_drop: false }` [INFO] [stdout] eff0e61d7b4d127a38279683afcecacdcf97085629b053c233d1f32162853d80 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] eddf41405f1ad487cd0486adfa8cc75dbf35154d46df75e6269478d0ecae6bc4 [INFO] running `Command { std: "docker" "start" "-a" "eddf41405f1ad487cd0486adfa8cc75dbf35154d46df75e6269478d0ecae6bc4", kill_on_drop: false }` [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling strength_reduce v0.2.4 [INFO] [stderr] Compiling audio-core v0.2.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling oxifft v0.2.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling spin v0.10.0 [INFO] [stderr] Compiling seahash v4.1.0 [INFO] [stderr] Compiling syn v2.0.117 [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 serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling oxifft-codegen v0.2.0 [INFO] [stderr] Compiling visibility v0.1.1 [INFO] [stderr] Compiling primal-check v0.3.4 [INFO] [stderr] Compiling transpose v0.2.3 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling rustfft v6.4.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling realfft v3.5.0 [INFO] [stderr] Compiling rubato v2.0.0 [INFO] [stderr] Compiling oximedia-audio v0.1.3 [INFO] [stderr] Compiling oximedia-mir v0.1.3 [INFO] [stderr] Compiling oximedia-audio-analysis v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.50s [INFO] running `Command { std: "docker" "inspect" "eddf41405f1ad487cd0486adfa8cc75dbf35154d46df75e6269478d0ecae6bc4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eddf41405f1ad487cd0486adfa8cc75dbf35154d46df75e6269478d0ecae6bc4", kill_on_drop: false }` [INFO] [stdout] eddf41405f1ad487cd0486adfa8cc75dbf35154d46df75e6269478d0ecae6bc4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c45f2f71438b9e2b79dd2454d67f55529f087f5496de9c64baeeec232b235014 [INFO] running `Command { std: "docker" "start" "-a" "c45f2f71438b9e2b79dd2454d67f55529f087f5496de9c64baeeec232b235014", kill_on_drop: false }` [INFO] [stderr] Compiling oximedia-audio-analysis v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.46s [INFO] running `Command { std: "docker" "inspect" "c45f2f71438b9e2b79dd2454d67f55529f087f5496de9c64baeeec232b235014", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c45f2f71438b9e2b79dd2454d67f55529f087f5496de9c64baeeec232b235014", kill_on_drop: false }` [INFO] [stdout] c45f2f71438b9e2b79dd2454d67f55529f087f5496de9c64baeeec232b235014 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ce88eee1cca565160e833615d7fe9ed6c82d95ddadd6c298d763562a228c29cb [INFO] running `Command { std: "docker" "start" "-a" "ce88eee1cca565160e833615d7fe9ed6c82d95ddadd6c298d763562a228c29cb", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_audio_analysis-269f7668d7e06810) [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_tracker_beat_numbers ... ok [INFO] [stdout] test beat::tests::test_estimate_tempo_empty ... ok [INFO] [stdout] test beat::tests::test_beat_tracker_empty_onsets ... ok [INFO] [stdout] test beat::tests::test_meter_analyzer_defaults_to_4 ... ok [INFO] [stdout] test beat::tests::test_estimate_tempo_regular_onsets ... ok [INFO] [stdout] test beat::tests::test_estimate_tempo_insufficient_onsets ... ok [INFO] [stdout] test beat::tests::test_meter_analyzer_returns_3_or_4 ... ok [INFO] [stdout] test cepstral::tests::test_cepstral_distance_nonzero ... ok [INFO] [stdout] test cepstral::tests::test_cepstral_distance_zero ... ok [INFO] [stdout] test beat::tests::test_beat_tracker_projects_beats ... ok [INFO] [stdout] test cepstral::tests::test_analyze_frames_multiple ... ok [INFO] [stdout] test cepstral::tests::test_dct_ii_length ... ok [INFO] [stdout] test cepstral::tests::test_analyze_frame_mfcc_count ... ok [INFO] [stdout] test cepstral::tests::test_analyze_frame_energy ... ok [INFO] [stdout] test beat::tests::test_beat_event_is_downbeat_3_4 ... 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_analyzer_creation ... ok [INFO] [stdout] test cepstral::tests::test_hz_to_mel_zero ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_invalid_sample_rate ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_too_short ... ok [INFO] [stdout] test cepstral::tests::test_compute_deltas ... ok [INFO] [stdout] test cepstral::tests::test_hz_to_mel_and_back ... ok [INFO] [stdout] test cepstral::tests::test_lifter_modifies_coefficients ... ok [INFO] [stdout] test cepstral::tests::test_mean_mfcc_empty ... ok [INFO] [stdout] test cepstral::tests::test_mean_mfcc_single ... ok [INFO] [stdout] test cepstral::tests::test_mel_filters_non_negative ... ok [INFO] [stdout] test cepstral::tests::test_mel_filters_shape ... ok [INFO] [stdout] test cepstral::tests::test_mfcc_variance_empty ... ok [INFO] [stdout] test chroma::tests::test_chromagram_dc_and_subsonic_ignored ... 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_chroma_names_count ... ok [INFO] [stdout] test chroma::tests::test_chroma_names_first_last ... ok [INFO] [stdout] test chroma::tests::test_compute_chromagram_normalized_l2 ... ok [INFO] [stdout] test chroma::tests::test_chromagram_a4_maps_to_pitch_class_9 ... ok [INFO] [stdout] test chroma::tests::test_chromagram_a5_octave_invariance ... ok [INFO] [stdout] test chroma::tests::test_compute_chromagram_normalized_max ... ok [INFO] [stdout] test chroma::tests::test_l1_l2_max_preserve_relative_ordering ... ok [INFO] [stdout] test chroma::tests::test_normalize_l2_unit_norm ... ok [INFO] [stdout] test chroma::tests::test_normalize_max_one ... ok [INFO] [stdout] test chroma::tests::test_normalize_none_unchanged ... ok [INFO] [stdout] test chroma::tests::test_normalize_zero_array ... ok [INFO] [stdout] test chroma::tests::test_tonal_centroid_length ... ok [INFO] [stdout] test chroma::tests::test_tonal_centroid_single_pitch_class_non_zero ... ok [INFO] [stdout] test chroma::tests::test_tonal_centroid_symmetry_chromatic_scale ... ok [INFO] [stdout] test chroma::tests::test_tonal_centroid_zero_chroma_is_all_zero ... ok [INFO] [stdout] test compression_analysis::tests::test_bitrate_estimate_clamp ... ok [INFO] [stdout] test chroma::tests::test_chroma_names_contains_all_sharps ... ok [INFO] [stdout] test chroma::tests::test_chromagram_normalised_sums_to_one ... ok [INFO] [stdout] test chroma::tests::test_chromagram_zero_sample_rate ... ok [INFO] [stdout] test compression_analysis::tests::test_analyse_compression_compressed_higher_score ... ok [INFO] [stdout] test chroma::tests::test_normalize_l1_sums_to_one ... ok [INFO] [stdout] test compression_analysis::tests::test_analyse_compression_score_range ... ok [INFO] [stdout] test compression_analysis::tests::test_detect_spectral_holes_finds_notch ... ok [INFO] [stdout] test compression_analysis::tests::test_detect_spectral_holes_empty_on_flat ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_no_pre_emphasis ... ok [INFO] [stdout] test compression_analysis::tests::test_estimate_bitrate_class_mid_cutoff ... ok [INFO] [stdout] test compression_analysis::tests::test_detect_spectral_holes_positive_depth ... ok [INFO] [stdout] test compression_analysis::tests::test_spectral_continuity_index_flat_is_zero ... ok [INFO] [stdout] test compression_analysis::tests::test_estimate_bitrate_class_high_cutoff ... ok [INFO] [stdout] test compression_analysis::tests::test_estimate_bitrate_class_low_cutoff ... ok [INFO] [stdout] test compression_analysis::tests::test_estimate_cutoff_low_cutoff ... ok [INFO] [stdout] test compression_analysis::tests::test_synthetic_compressed_spectrum_cutoff ... ok [INFO] [stdout] test compression_analysis::tests::test_synthetic_compressed_spectrum_length ... ok [INFO] [stdout] test distortion::clipping::tests::test_clipping_with_hysteresis ... ok [INFO] [stdout] test compression_analysis::tests::test_spectral_entropy_flat ... ok [INFO] [stdout] test compression_analysis::tests::test_spectral_continuity_index_noisy_positive ... ok [INFO] [stdout] test distortion::clipping::tests::test_clipping_detection ... ok [INFO] [stdout] test compression_analysis::tests::test_spectral_entropy_impulse ... ok [INFO] [stdout] test dynamics::crest::tests::test_crest_factor ... ok [INFO] [stdout] test dynamics::crest::tests::test_crest_factor_db ... ok [INFO] [stdout] test dynamics::rms::tests::test_rms_db ... ok [INFO] [stdout] test dynamics::crest::tests::test_crest_over_time ... ok [INFO] [stdout] test dynamics::rms::tests::test_rms_over_time ... ok [INFO] [stdout] test distortion::thd::tests::test_thd_distorted_signal ... ok [INFO] [stdout] test distortion::thd::tests::test_thd_clean_signal ... ok [INFO] [stdout] test dynamics::rms::tests::test_short_long_term ... ok [INFO] [stdout] test compression_analysis::tests::test_estimate_cutoff_full_spectrum ... ok [INFO] [stdout] test distortion::detect::tests::test_distortion_detector ... ok [INFO] [stdout] test echo::rt60::tests::test_schroeder_integration ... ok [INFO] [stdout] test energy::tests::test_detect_silence_finds_silent_signal ... ok [INFO] [stdout] test energy::tests::test_detect_silence_mixed_signal ... ok [INFO] [stdout] test energy::tests::test_detect_silence_empty_input ... ok [INFO] [stdout] test echo::rt60::tests::test_rt60_measurement ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_no_deltas ... ok [INFO] [stdout] test energy::tests::test_detect_silence_zero_sample_rate ... ok [INFO] [stdout] test energy::tests::test_energy_envelope_empty_frame_size_zero ... ok [INFO] [stdout] test energy::tests::test_detect_silence_empty_for_loud_signal ... ok [INFO] [stdout] test energy::tests::test_energy_envelope_correct_frame_count ... ok [INFO] [stdout] test echo::room::tests::test_room_analyzer ... ok [INFO] [stdout] test energy::tests::test_detect_silence_region_bounds_are_valid ... ok [INFO] [stdout] test energy::tests::test_energy_envelope_hop_size_zero ... 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_all_ones ... 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_zcr_alternating_equals_one ... ok [INFO] [stdout] test energy::tests::test_zcr_empty_is_zero ... ok [INFO] [stdout] test energy::tests::test_zcr_constant_positive_is_zero ... ok [INFO] [stdout] test energy::tests::test_zcr_single_sample_is_zero ... ok [INFO] [stdout] test energy::tests::test_rms_energy_alternating ... ok [INFO] [stdout] test energy::tests::test_zcr_range ... ok [INFO] [stdout] test energy::tests::test_zcr_constant_negative_is_zero ... ok [INFO] [stdout] test energy_contour::tests::test_energy_contour_default_config ... ok [INFO] [stdout] test energy_contour::tests::test_frame_rms_silence ... ok [INFO] [stdout] test energy_contour::tests::test_frame_rms_unity ... ok [INFO] [stdout] test energy_contour::tests::test_linear_to_db_floor ... ok [INFO] [stdout] test energy_contour::tests::test_linear_to_db ... ok [INFO] [stdout] test energy_contour::tests::test_compute_contour_basic ... ok [INFO] [stdout] test energy_contour::tests::test_smooth_with_radius ... ok [INFO] [stdout] test energy_contour::tests::test_contour_silence_has_low_energy ... ok [INFO] [stdout] test energy_contour::tests::test_frame_rms_empty ... ok [INFO] [stdout] test energy_contour::tests::test_segment_by_energy_single_class ... ok [INFO] [stdout] test energy_contour::tests::test_smooth_no_radius ... ok [INFO] [stdout] test energy_contour::tests::test_detect_transients_none_for_steady ... ok [INFO] [stdout] test forensics::compression::tests::test_compression_detection ... ok [INFO] [stdout] test forensics::compression::tests::test_quantization_check ... ok [INFO] [stdout] test energy_contour::tests::test_detect_transients_sudden_onset ... ok [INFO] [stdout] test dynamics::range::tests::test_dynamics_analyzer ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_basic ... ok [INFO] [stdout] test forensics::enf::tests::test_insufficient_samples_error ... ok [INFO] [stdout] test forensics::enf::tests::test_mains_frequency_nominal ... ok [INFO] [stdout] test forensics::enf::tests::test_parabolic_interpolate_asymmetric ... ok [INFO] [stdout] test forensics::enf::tests::test_parabolic_interpolate_on_peak ... ok [INFO] [stdout] test forensics::enf::tests::test_sample_rate_too_low_error ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_energy_feature ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_with_deltas ... ok [INFO] [stdout] test cepstral::tests::test_mfcc_variance_nonzero_for_varying_signal ... ok [INFO] [stdout] test forensics::noise::tests::test_noise_analyzer ... 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 echo::detect::tests::test_echo_detector ... ok [INFO] [stdout] test formant::analyze::tests::test_prediction_error_computation ... ok [INFO] [stdout] test formant::analyze::tests::test_prediction_error_perfect_prediction ... ok [INFO] [stdout] test formant::analyze::tests::test_formant_bandwidth_insufficient_samples ... ok [INFO] [stdout] test formant::vowel::tests::test_unknown_vowel ... ok [INFO] [stdout] test formant::analyze::tests::test_pre_emphasis ... ok [INFO] [stdout] test formant::track::tests::test_formant_tracking ... ok [INFO] [stdout] test formant::vowel::tests::test_vowel_with_confidence ... ok [INFO] [stdout] test formant::vowel::tests::test_vowel_detection ... ok [INFO] [stdout] test formant_track::tests::test_f1_f2_helpers ... ok [INFO] [stdout] test formant_track::tests::test_formant_freq_bandwidth_exceeds_freq ... ok [INFO] [stdout] test formant_track::tests::test_formant_freq_validity ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_custom_coefficients ... ok [INFO] [stdout] test formant_track::tests::test_formant_index_values ... ok [INFO] [stdout] test formant_track::tests::test_formant_track_frame_get ... ok [INFO] [stdout] test formant_track::tests::test_formant_index_labels ... ok [INFO] [stdout] test formant_track::tests::test_short_signal_no_panic ... ok [INFO] [stdout] test forensics::enf::tests::test_enf_result_fields_valid ... 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_is_diatonic_true ... ok [INFO] [stdout] test harmony::tests::test_chord_name ... ok [INFO] [stdout] test harmony::tests::test_chord_notes_c_major ... 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_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 formant::analyze::tests::test_formant_bandwidth_sine_wave ... ok [INFO] [stdout] test loudness::tests::test_frame_mean_square_unit_sine ... 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_reset_clears_all ... ok [INFO] [stdout] test loudness::tests::test_meter_silent_signal ... ok [INFO] [stdout] test loudness::tests::test_meter_window_count ... 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 forensics::enf::tests::test_silence_low_coverage ... ok [INFO] [stdout] test loudness_curve::tests::test_analyse_short_signal_no_panic ... ok [INFO] [stdout] test loudness_curve::tests::test_analyse_bands_count ... ok [INFO] [stdout] test loudness_curve::tests::test_analyzer_default_construction ... ok [INFO] [stdout] test loudness::tests::test_meter_integrated_after_several_windows ... 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 forensics::enf::tests::test_analyze_50hz_signal ... 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_apply_a_weighting_returns_same_length ... ok [INFO] [stdout] test formant_track::tests::test_voiced_frames_filter ... ok [INFO] [stdout] test loudness_curve::tests::test_analyse_silence ... ok [INFO] [stdout] test loudness_curve::tests::test_loudest_and_quietest_times ... ok [INFO] [stdout] test loudness_curve::tests::test_loudness_curve_empty ... ok [INFO] [stdout] test loudness_curve::tests::test_loudness_band_names ... ok [INFO] [stdout] test loudness_curve::tests::test_loudness_band_bounds_sub_bass ... ok [INFO] [stdout] test loudness_curve::tests::test_loudness_level_phons_not_nan_or_inf ... ok [INFO] [stdout] test loudness_curve::tests::test_true_peak_full_scale ... ok [INFO] [stdout] test loudness_range::tests::test_classify_dynamics ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_different_frequencies ... ok [INFO] [stdout] test loudness_range::tests::test_compute_block_lufs_silence ... ok [INFO] [stdout] test loudness_range::tests::test_compute_block_lufs_full_scale ... ok [INFO] [stdout] test loudness_range::tests::test_empty_samples ... 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_loudness_histogram ... ok [INFO] [stdout] test loudness_range::tests::test_percentile_sorted_range ... ok [INFO] [stdout] test loudness_range::tests::test_percentile_sorted_single ... ok [INFO] [stdout] test loudness_range::tests::test_default_config ... ok [INFO] [stdout] test loudness_range::tests::test_silence_loudness ... ok [INFO] [stdout] test cepstral::tests::test_extract_mfcc_frame_count ... ok [INFO] [stdout] test mel_spectrogram::tests::test_apply_mel_filterbank_shape ... 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 loudness_range::tests::test_zero_sample_rate ... ok [INFO] [stdout] test mel_spectrogram::tests::test_filterbank_shape ... ok [INFO] [stdout] test loudness_curve::tests::test_loudness_band_bounds_treble ... ok [INFO] [stdout] test mel_spectrogram::tests::test_hz_mel_roundtrip ... ok [INFO] [stdout] test loudness_curve::tests::test_loudness_range_non_negative ... ok [INFO] [stdout] test mel_spectrogram::tests::test_filterbank_non_negative ... ok [INFO] [stdout] test mel_spectrogram::tests::test_mel_spectrogram_too_short ... ok [INFO] [stdout] test mel_spectrogram::tests::test_mel_spectrogram_log_scale ... 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 loudness_range::tests::test_varying_amplitude_nonzero_lra ... ok [INFO] [stdout] test loudness_range::tests::test_constant_amplitude_lra_zero ... ok [INFO] [stdout] test music::harmony::tests::test_detect_key_flat_chroma ... ok [INFO] [stdout] test forensics::enf::tests::test_drift_near_zero_for_stable_signal ... 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 forensics::enf::tests::test_coverage_pure_signal ... ok [INFO] [stdout] test forensics::enf::tests::test_analyze_enf_convenience_fn ... ok [INFO] [stdout] test music::harmony::tests::test_harmonic_complexity_single_chord ... ok [INFO] [stdout] test formant_track::tests::test_formant_track_duration ... ok [INFO] [stdout] test music::harmony::tests::test_match_chord_a_minor ... ok [INFO] [stdout] test music::harmony::tests::test_mean_chroma_computation ... 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 mel_spectrogram::tests::test_mel_spectrogram_values_non_negative ... ok [INFO] [stdout] test music::instrument::tests::test_instrument_detection ... 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 noise::classify::tests::test_detailed_classification_has_all_scores ... ok [INFO] [stdout] test formant_track::tests::test_track_voiced_signal ... ok [INFO] [stdout] test music::harmony::tests::test_harmony_analyzer_insufficient_samples ... ok [INFO] [stdout] test noise::classify::tests::test_harmonic_peaks_no_harmonics ... ok [INFO] [stdout] test noise::classify::tests::test_harmonic_peaks_detection ... ok [INFO] [stdout] test noise::classify::tests::test_high_frequency_ratio ... ok [INFO] [stdout] test noise::classify::tests::test_empty_spectrum_no_panic ... ok [INFO] [stdout] test noise::classify::tests::test_low_frequency_ratio ... ok [INFO] [stdout] test noise::classify::tests::test_noise_classification_click ... ok [INFO] [stdout] test noise::classify::tests::test_noise_classification_broadband ... ok [INFO] [stdout] test noise::classify::tests::test_noise_classification_hiss ... ok [INFO] [stdout] test noise::classify::tests::test_noise_classification_rumble ... ok [INFO] [stdout] test noise::classify::tests::test_noise_type_labels ... ok [INFO] [stdout] test noise::classify::tests::test_noise_classification_white ... ok [INFO] [stdout] test noise::classify::tests::test_noise_classification_hum ... ok [INFO] [stdout] test noise::classify::tests::test_pink_noise_spectrum ... ok [INFO] [stdout] test noise::snr::tests::test_snr_estimation ... ok [INFO] [stdout] test onset::tests::test_energy_onset_empty ... ok [INFO] [stdout] test onset::tests::test_energy_onset_returns_deltas ... ok [INFO] [stdout] test noise::snr::tests::test_snr_computation ... ok [INFO] [stdout] test onset::tests::test_onset_detector_finds_attack ... ok [INFO] [stdout] test onset::tests::test_onset_detector_spectral_flux_method ... ok [INFO] [stdout] test onset::tests::test_onset_detector_silent_signal ... ok [INFO] [stdout] test onset::tests::test_onset_event_is_strong ... ok [INFO] [stdout] test onset::tests::test_onset_method_latency_complex ... ok [INFO] [stdout] test onset::tests::test_onset_event_threshold_boundary ... ok [INFO] [stdout] test onset::tests::test_onset_method_latency_energy ... ok [INFO] [stdout] test onset::tests::test_onset_method_latency_flux ... ok [INFO] [stdout] test onset::tests::test_onset_method_latency_phase ... 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 pitch::contour::tests::test_contour_smoothing ... ok [INFO] [stdout] test pitch::contour::tests::test_pitch_contour ... ok [INFO] [stdout] test onset::tests::test_spectral_flux_equal_spectra ... ok [INFO] [stdout] test music::rhythm::tests::test_rhythm_analyzer ... 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_empty_signal ... ok [INFO] [stdout] test pitch_detect::tests::test_autocorr_silent_signal ... ok [INFO] [stdout] test noise::profile::tests::test_noise_profiler ... ok [INFO] [stdout] test noise::classify::tests::test_classify_noise_from_samples ... 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_clamped_high ... ok [INFO] [stdout] test pitch_detect::tests::test_confidence_clamped_low ... ok [INFO] [stdout] test pitch::track::tests::test_pitch_unvoiced ... 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_confidence_ok_below_threshold ... ok [INFO] [stdout] test forensics::edit::tests::test_edit_detector ... ok [INFO] [stdout] test loudness_range::tests::test_block_count ... ok [INFO] [stdout] test pitch_detect::tests::test_yin_empty_signal ... ok [INFO] [stdout] test pitch_detect::tests::test_yin_threshold_clamped ... ok [INFO] [stdout] test pitch_tracker::tests::test_history_capacity_eviction ... ok [INFO] [stdout] test music::harmony::tests::test_detect_key_from_audio ... 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_frequency_a4 ... ok [INFO] [stdout] test pitch_tracker::tests::test_dominant_pitch_class ... ok [INFO] [stdout] test pitch_tracker::tests::test_pitch_class_from_midi_a ... ok [INFO] [stdout] test pitch_tracker::tests::test_pitch_class_from_midi_c ... ok [INFO] [stdout] test pitch_detect::tests::test_yin_zero_sample_rate ... ok [INFO] [stdout] test pitch_tracker::tests::test_pitch_class_index_range ... ok [INFO] [stdout] test pitch_tracker::tests::test_pitch_class_names ... ok [INFO] [stdout] test pitch_tracker::tests::test_history_mean_f0 ... ok [INFO] [stdout] test pitch_tracker::tests::test_unvoiced_observation ... ok [INFO] [stdout] test pitch_tracker::tests::test_voiced_observation ... ok [INFO] [stdout] test pitch_tracker::tests::test_tracker_silence_unvoiced ... 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 psychoacoustic::tests::test_bark_to_hz_roundtrip ... ok [INFO] [stdout] test psychoacoustic::tests::test_compute_loudness_silence ... ok [INFO] [stdout] test psychoacoustic::tests::test_critical_bandwidth_low ... ok [INFO] [stdout] test psychoacoustic::tests::test_compute_loudness_basic ... ok [INFO] [stdout] test psychoacoustic::tests::test_erb_bandwidth ... ok [INFO] [stdout] test psychoacoustic::tests::test_estimate_masking_thresholds ... ok [INFO] [stdout] test psychoacoustic::tests::test_hz_to_bark_1000 ... 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_spreading_function_symmetric_falloff ... ok [INFO] [stdout] test psychoacoustic::tests::test_spreading_function_zero ... ok [INFO] [stdout] test pitch_tracker::tests::test_tracker_default_construction ... ok [INFO] [stdout] test psychoacoustic::tests::test_threshold_in_quiet_1000hz ... ok [INFO] [stdout] test pitch_tracker::tests::test_tracker_reset_clears_history ... ok [INFO] [stdout] test pitch_tracker::tests::test_voiced_low_confidence_not_voiced ... ok [INFO] [stdout] test rhythm::tests::test_build_beat_grid_beat_times_length ... ok [INFO] [stdout] test rhythm::tests::test_build_beat_grid_beat_times_spaced_correctly ... ok [INFO] [stdout] test psychoacoustic::tests::test_threshold_in_quiet_100hz ... 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_build_beat_grid_none_on_empty ... ok [INFO] [stdout] test rhythm::tests::test_estimate_tempo_regular_120bpm ... ok [INFO] [stdout] test rhythm::tests::test_detect_time_signature_4_4_most_likely ... ok [INFO] [stdout] test rhythm::tests::test_estimate_tempo_result_plausible ... ok [INFO] [stdout] test psychoacoustic::tests::test_hz_to_bark_zero ... ok [INFO] [stdout] test rhythm::tests::test_estimate_tempo_single_onset ... ok [INFO] [stdout] test rhythm::tests::test_periodicity_scores_empty ... ok [INFO] [stdout] test rhythm::tests::test_onset_creation ... ok [INFO] [stdout] test rhythm::tests::test_onset_strength_clamped ... ok [INFO] [stdout] test rhythm::tests::test_tempo_estimate_period ... 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_tempo_estimate_plausible ... ok [INFO] [stdout] test rhythm::tests::test_time_signature_beats_per_bar ... ok [INFO] [stdout] test scene_classify::tests::test_classify_insufficient_samples ... ok [INFO] [stdout] test rhythm::tests::test_synthetic_onset_strengths_length ... ok [INFO] [stdout] test pitch_detect::tests::test_autocorr_sine_440hz ... ok [INFO] [stdout] test scene_classify::tests::test_confidence_in_range ... ok [INFO] [stdout] test music::harmony::tests::test_harmony_analyzer_basic ... ok [INFO] [stdout] test scene_classify::tests::test_features_energy_for_sine ... ok [INFO] [stdout] test scene_classify::tests::test_spectral_flatness_pure_tone ... ok [INFO] [stdout] test scene_classify::tests::test_scene_label_strings ... ok [INFO] [stdout] test scene_classify::tests::test_spectral_flatness_uniform ... ok [INFO] [stdout] test pitch_detect::tests::test_yin_confidence_range ... ok [INFO] [stdout] test music::harmony::tests::test_detect_key_c_major_chord ... 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 mel_spectrogram::tests::test_higher_freq_more_energy_in_higher_mels ... ok [INFO] [stdout] test silence_detect::tests::test_dbfs_to_linear_minus6 ... 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_empty_input ... ok [INFO] [stdout] test silence_detect::tests::test_linear_to_dbfs_roundtrip ... ok [INFO] [stdout] test silence_detect::tests::test_linear_to_dbfs_zero ... 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_pure_tone_no_silence ... ok [INFO] [stdout] test silence_detect::tests::test_strip_silence_all_silent ... ok [INFO] [stdout] test pitch_detect::tests::test_detect_pitch_convenience ... ok [INFO] [stdout] test silence_detect::tests::test_strip_silence_no_silence ... ok [INFO] [stdout] test silence_detect::tests::test_strip_silence_both_ends ... ok [INFO] [stdout] test spectral::analyze::tests::test_bin_frequency_conversion ... ok [INFO] [stdout] test spectral::bandwidth::tests::test_spectral_bandwidth ... ok [INFO] [stdout] test spectral::bandwidth::tests::test_spectral_spread ... ok [INFO] [stdout] test spectral::centroid::tests::test_centroid_empty ... ok [INFO] [stdout] test silence_detect::tests::test_silence_then_tone ... ok [INFO] [stdout] test spectral::centroid::tests::test_centroid_track ... ok [INFO] [stdout] test spectral::centroid::tests::test_spectral_centroid ... ok [INFO] [stdout] test pitch_detect::tests::test_yin_sine_440hz ... ok [INFO] [stdout] test spectral::chroma::tests::test_chroma_cosine_similarity_identical ... 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_dominant_pitch_class ... ok [INFO] [stdout] test spectral::chroma::tests::test_chroma_cosine_similarity_orthogonal ... 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_estimate_key_returns_valid_range ... ok [INFO] [stdout] test spectral::chroma::tests::test_estimate_key_c_major ... 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 music::harmony::tests::test_chord_detection_has_results ... ok [INFO] [stdout] test spectral::chroma::tests::test_pitch_class_names_count ... ok [INFO] [stdout] test scene_classify::tests::test_classify_quiet_silence ... ok [INFO] [stdout] test spectral::chroma::tests::test_rotated_identity ... ok [INFO] [stdout] test spectral::chroma::tests::test_mean_chroma_single ... ok [INFO] [stdout] test spectral::chroma::tests::test_rotated_by_one ... 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::crest::tests::test_crest_bands ... 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::chroma::tests::test_chroma_vector_zeros ... 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::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_hann_endpoints ... ok [INFO] [stdout] test spectral::fft_frame::tests::test_window_rectangular ... ok [INFO] [stdout] test spectral::flatness::tests::test_flatness_db ... 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_all_bins_change ... 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_empty ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_hwr_counts_increases ... 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::flux::tests::test_flux_hwr_track_length ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_hwr_mixed ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_identical_frames ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_normalised_scales_with_bins ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_track_constant_frames ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_track_increasing_energy ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_symmetry ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_track_empty_spectrogram ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_track_length ... ok [INFO] [stdout] test spectral::flux::tests::test_flux_track_single_frame ... 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::flux::tests::test_flux_unit_step ... ok [INFO] [stdout] test spectral::rolloff::tests::test_bin_to_freq_nyquist ... 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_high_frequency_tone ... ok [INFO] [stdout] test scene_classify::tests::test_features_flatness_range ... ok [INFO] [stdout] test spectral::zcr::tests::test_mean_zcr_constant ... ok [INFO] [stdout] test spectral::rolloff::tests::test_rolloff_track_length ... ok [INFO] [stdout] test spectral::rolloff::tests::test_rolloff_zero_threshold ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_alternating_signal ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_constant_negative ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_constant_positive ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_count_alternating ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_count_empty ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_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_basic_length ... 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_zcr_framed_invalid_hop_size ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_constant_signal ... ok [INFO] [stdout] test spectral::zcr::tests::test_voiced_unvoiced_frames_sine_mostly_voiced ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_range ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_noise_higher_than_sine ... 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::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_stats_noise ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_stats_none_when_no_frames ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_too_short ... ok [INFO] [stdout] test scene_classify::tests::test_classify_noisy_white_noise ... ok [INFO] [stdout] test mel_spectrogram::tests::test_mel_spectrogram_shape ... 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_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_contrast::tests::test_peak_valley_empty ... ok [INFO] [stdout] test spectral_contrast::tests::test_peak_valley_uniform ... ok [INFO] [stdout] test spectral_contrast::tests::test_peak_valley_varying ... 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_default ... ok [INFO] [stdout] test spectral_features::tests::test_centroid_empty ... 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_zero_magnitudes ... ok [INFO] [stdout] test spectral_features::tests::test_flux_first_frame_returns_none ... ok [INFO] [stdout] test spectral_features::tests::test_flux_half_wave_suppresses_negative ... 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_reset_clears_state ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_framed_invalid_frame_size ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_sine_wave ... ok [INFO] [stdout] test spectral_features::tests::test_rolloff_empty_spectrum ... 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_contrast::tests::test_analyze_frame_constant_spectrum ... ok [INFO] [stdout] test spectral_flux::tests::test_count_onsets_matches ... ok [INFO] [stdout] test spectral_flux::tests::test_custom_threshold_clamped ... ok [INFO] [stdout] test spectral_flux::tests::test_default_detector ... ok [INFO] [stdout] test spectral::zcr::tests::test_zcr_stats_range_validity ... ok [INFO] [stdout] test spectral_features::tests::test_rolloff_clamped_threshold ... ok [INFO] [stdout] test spectral_contrast::tests::test_analyze_multi_frame ... ok [INFO] [stdout] test spectral_features::tests::test_rolloff_full_threshold ... ok [INFO] [stdout] test spectral_flux::tests::test_flux_frame_new ... ok [INFO] [stdout] test spectral_flux::tests::test_detect_impulse_has_onset ... ok [INFO] [stdout] test music::harmony::tests::test_detect_key_a_minor_chord ... ok [INFO] [stdout] test spectral_flux::tests::test_detect_silence ... ok [INFO] [stdout] test spectral_flux::tests::test_sensitivity_labels ... ok [INFO] [stdout] test spectral_flux::tests::test_sensitivity_thresholds ... ok [INFO] [stdout] test spectral_flux::tests::test_short_signal_no_panic ... ok [INFO] [stdout] test stereo_field::tests::test_empty_signal ... ok [INFO] [stdout] test stereo_field::tests::test_analyzer_default ... ok [INFO] [stdout] test spectral_flux::tests::test_flux_frames_length ... ok [INFO] [stdout] test spectral_flux::tests::test_onset_times_monotonic ... ok [INFO] [stdout] test spectral_flux::tests::test_detect_constant_signal_no_onsets ... 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_from_pan_hard_right ... ok [INFO] [stdout] test stereo_field::tests::test_position_labels ... ok [INFO] [stdout] test stereo_field::tests::test_position_left_right ... ok [INFO] [stdout] test spectral_contrast::tests::test_magnitude_spectrum_silence ... ok [INFO] [stdout] test spectral_flux::tests::test_mean_flux_non_negative ... ok [INFO] [stdout] test tempo_analysis::tests::test_analyzer_default_construction ... ok [INFO] [stdout] test stereo_field::tests::test_negative_correlation_fraction ... ok [INFO] [stdout] test stereo_field::tests::test_out_of_phase_detection ... ok [INFO] [stdout] test stereo_field::tests::test_hard_left_signal ... ok [INFO] [stdout] test stereo_field::tests::test_frame_timestamps_monotonic ... ok [INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_band_count ... ok [INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_short_signal ... ok [INFO] [stdout] test stereo_field::tests::test_mono_signal ... ok [INFO] [stdout] test tempo_analysis::tests::test_tempo_band_new ... ok [INFO] [stdout] test tempo_analysis::tests::test_tempo_band_reliability_high_confidence ... 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 tests::test_rms_computation ... ok [INFO] [stdout] test tests::test_window_generation ... ok [INFO] [stdout] test tests::test_zero_crossing_rate ... ok [INFO] [stdout] test timbre::tests::test_compute_mfcc_length ... ok [INFO] [stdout] test timbre::tests::test_compute_timbre_features_compiles_and_runs ... ok [INFO] [stdout] test timbre::tests::test_hz_to_mel_zero ... ok [INFO] [stdout] test timbre::tests::test_mel_filter_bank_shape ... ok [INFO] [stdout] test timbre::tests::test_mel_roundtrip ... ok [INFO] [stdout] test stereo_field::tests::test_width_bounded ... ok [INFO] [stdout] test timbre::tests::test_mel_filter_bank_non_negative ... ok [INFO] [stdout] test timbre::tests::test_mfcc_distance_positive_different ... ok [INFO] [stdout] test timbre::tests::test_spectral_brightness_flat_near_half ... ok [INFO] [stdout] test timbre::tests::test_spectral_centroid_flat_is_middle ... ok [INFO] [stdout] test timbre::tests::test_spectral_centroid_low_energy_is_low ... ok [INFO] [stdout] test timbre::tests::test_spectral_rolloff_within_range ... ok [INFO] [stdout] test timbre::tests::test_spectral_roughness_flat_near_zero ... ok [INFO] [stdout] test timbre::tests::test_spectral_spread_positive ... ok [INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_half_and_double ... 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 voice::age::tests::test_age_with_confidence ... ok [INFO] [stdout] test timbre::tests::test_spectral_brightness_all_low_freq_is_zero ... ok [INFO] [stdout] test timbre::tests::test_mfcc_distance_zero_self ... ok [INFO] [stdout] test voice::age::tests::test_age_estimation ... ok [INFO] [stdout] test voice::gender::tests::test_gender_detection ... ok [INFO] [stdout] test voice::emotion::tests::test_emotion_scores ... ok [INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_returns_range ... ok [INFO] [stdout] test voice::emotion::tests::test_emotion_detection ... ok [INFO] [stdout] test voice::gender::tests::test_gender_with_confidence ... 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 stereo_field::tests::test_stereo_field_dominant_position ... ok [INFO] [stdout] test tempo_analysis::tests::test_detect_bpm_confidence_range ... ok [INFO] [stdout] test forensics::authenticity::tests::test_authenticity_verifier ... ok [INFO] [stdout] test scene_classify::tests::test_classify_music_tonal_sine ... ok [INFO] [stdout] test voice::characteristics::tests::test_voice_analyzer ... ok [INFO] [stdout] test separate::drums::tests::test_drum_separation ... ok [INFO] [stdout] test separate::sources::tests::test_source_separator ... ok [INFO] [stdout] test separate::vocal::tests::test_vocal_separation ... ok [INFO] [stdout] test separate::instrumental::tests::test_instrumental_separation ... ok [INFO] [stdout] test spectral::analyze::tests::test_spectral_analyzer ... ok [INFO] [stdout] test spectral_contrast::tests::test_magnitude_spectrum_length ... ok [INFO] [stderr] Doc-tests oximedia_audio_analysis [INFO] [stdout] [INFO] [stdout] test result: ok. 605 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.84s [INFO] [stdout] [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.59s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ce88eee1cca565160e833615d7fe9ed6c82d95ddadd6c298d763562a228c29cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ce88eee1cca565160e833615d7fe9ed6c82d95ddadd6c298d763562a228c29cb", kill_on_drop: false }` [INFO] [stdout] ce88eee1cca565160e833615d7fe9ed6c82d95ddadd6c298d763562a228c29cb