CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.md
MANIFEST.in
README.md
pyproject.toml
example/soundscape.wav
example/species_list.txt
src/birdnet/__init__.py
src/birdnet/globals.py
src/birdnet/model_loader.py
src/birdnet/model_loader.pyi
src/birdnet/py.typed
src/birdnet.egg-info/PKG-INFO
src/birdnet.egg-info/SOURCES.txt
src/birdnet.egg-info/dependency_links.txt
src/birdnet.egg-info/entry_points.txt
src/birdnet.egg-info/requires.txt
src/birdnet.egg-info/top_level.txt
src/birdnet/acoustic/__init__.py
src/birdnet/acoustic/inference/__init__.py
src/birdnet/acoustic/inference/benchmarking.py
src/birdnet/acoustic/inference/configs.py
src/birdnet/acoustic/inference/encoding_strategy.py
src/birdnet/acoustic/inference/file_writer.py
src/birdnet/acoustic/inference/prediction_strategy.py
src/birdnet/acoustic/inference/process_manager.py
src/birdnet/acoustic/inference/resources.py
src/birdnet/acoustic/inference/session.py
src/birdnet/acoustic/inference/strategy.py
src/birdnet/acoustic/inference/core/__init__.py
src/birdnet/acoustic/inference/core/benchmarking.py
src/birdnet/acoustic/inference/core/consumer.py
src/birdnet/acoustic/inference/core/file_completion.py
src/birdnet/acoustic/inference/core/input_analyzer.py
src/birdnet/acoustic/inference/core/logs.py
src/birdnet/acoustic/inference/core/perf_tracker.py
src/birdnet/acoustic/inference/core/producer.py
src/birdnet/acoustic/inference/core/result_base.py
src/birdnet/acoustic/inference/core/shm.py
src/birdnet/acoustic/inference/core/sync.py
src/birdnet/acoustic/inference/core/tensor.py
src/birdnet/acoustic/inference/core/worker.py
src/birdnet/acoustic/inference/core/encoding/__init__.py
src/birdnet/acoustic/inference/core/encoding/encoding_benchmarking.py
src/birdnet/acoustic/inference/core/encoding/encoding_result.py
src/birdnet/acoustic/inference/core/encoding/encoding_tensor.py
src/birdnet/acoustic/inference/core/encoding/encoding_worker.py
src/birdnet/acoustic/inference/core/prediction/__init__.py
src/birdnet/acoustic/inference/core/prediction/prediction_benchmarking.py
src/birdnet/acoustic/inference/core/prediction/prediction_result.py
src/birdnet/acoustic/inference/core/prediction/prediction_tensor.py
src/birdnet/acoustic/inference/core/prediction/prediction_worker.py
src/birdnet/acoustic/models/__init__.py
src/birdnet/acoustic/models/base.py
src/birdnet/acoustic/models/perch_v2/__init__.py
src/birdnet/acoustic/models/perch_v2/model.py
src/birdnet/acoustic/models/perch_v2/pb.py
src/birdnet/acoustic/models/v2_4/__init__.py
src/birdnet/acoustic/models/v2_4/model.py
src/birdnet/acoustic/models/v2_4/pb.py
src/birdnet/acoustic/models/v2_4/tf.py
src/birdnet/acoustic/models/v3_0/__init__.py
src/birdnet/acoustic/models/v3_0/model.py
src/birdnet/acoustic/models/v3_0/onnx.py
src/birdnet/acoustic/models/v3_0/pb.py
src/birdnet/acoustic/models/v3_0/pt.py
src/birdnet/acoustic/models/v3_0/tf.py
src/birdnet/core/__init__.py
src/birdnet/core/backends.py
src/birdnet/core/base.py
src/birdnet/core/start_method.py
src/birdnet/geo/__init__.py
src/birdnet/geo/inference/__init__.py
src/birdnet/geo/inference/configs.py
src/birdnet/geo/inference/prediction_result.py
src/birdnet/geo/inference/session.py
src/birdnet/geo/models/__init__.py
src/birdnet/geo/models/base.py
src/birdnet/geo/models/v2_4/__init__.py
src/birdnet/geo/models/v2_4/model.py
src/birdnet/geo/models/v2_4/pb.py
src/birdnet/geo/models/v2_4/tf.py
src/birdnet/geo/models/v3_0/__init__.py
src/birdnet/geo/models/v3_0/model.py
src/birdnet/geo/models/v3_0/onnx.py
src/birdnet/geo/models/v3_0/pb.py
src/birdnet/geo/models/v3_0/pt.py
src/birdnet/geo/models/v3_0/tf.py
src/birdnet/utils/__init__.py
src/birdnet/utils/helper.py
src/birdnet/utils/local_data.py
src/birdnet/utils/logging_utils.py
src/birdnet/utils/taxonomy_v3.py
src/birdnet_benchmark/__init__.py
src/birdnet_benchmark/argparse_helper.py
src/birdnet_benchmark/cli.py
src/birdnet_benchmark/create_test_data.py
src/birdnet_tests/__init__.py
src/birdnet_tests/conftest.py
src/birdnet_tests/helper.py
src/birdnet_tests/helper_tests.py
src/birdnet_tests/test_conv.py
src/birdnet_tests/test_files.py
src/birdnet_tests/acoustic_models/inference/encoding/encoding_result_py/test_encoding_io.py
src/birdnet_tests/acoustic_models/inference/encoding/encoding_result_py/test_encoding_to_parquet.py
src/birdnet_tests/acoustic_models/inference/encoding/encoding_result_py/test_encoding_to_structured_array.py
src/birdnet_tests/acoustic_models/inference/encoding/encoding_tensor_py/test_encoding_tensor.py
src/birdnet_tests/acoustic_models/inference/predictions/prediction_result_py/test_io.py
src/birdnet_tests/acoustic_models/inference/predictions/prediction_result_py/test_prediction_to_structured_array.py
src/birdnet_tests/acoustic_models/inference/predictions/prediction_result_py/test_to_csv.csv
src/birdnet_tests/acoustic_models/inference/predictions/prediction_result_py/test_to_csv.py
src/birdnet_tests/acoustic_models/inference/predictions/prediction_result_py/test_to_parquet.py
src/birdnet_tests/acoustic_models/inference/predictions/prediction_tensor_py/test_prediction_tensor.py
src/birdnet_tests/acoustic_models/inference/process_manager_py/test_raise_if_child_died.py
src/birdnet_tests/acoustic_models/inference/producer_py/test_get_file_segments_with_overlap.py
src/birdnet_tests/acoustic_models/inference/producer_py/test_get_segments_with_overlap_all_int.py
src/birdnet_tests/acoustic_models/inference/producer_py/test_get_segments_with_overlap_samples.py
src/birdnet_tests/acoustic_models/inference/producer_py/test_read_file_in_mono.py
src/birdnet_tests/acoustic_models/inference/producer_py/test_resample_array.py
src/birdnet_tests/acoustic_models/inference/producer_py/test_sf_formats.py
src/birdnet_tests/acoustic_models/inference/producer_py/xtest_get_segments_with_overlap_all.py
src/birdnet_tests/acoustic_models/inference/session_py/test_fork_child_shm_attach.py
src/birdnet_tests/acoustic_models/inference/session_py/test_session_call_overhead.py
src/birdnet_tests/acoustic_models/inference/session_py/test_session_reuse_multiple_workers.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/FilteringConfig/test_validate_bandpass_frequencies.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/InferenceConfig/test_validate_input_audio.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/OutputConfig/test_validate_show_stats.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/PredictionConfig/test_validate_custom_confidence_thresholds.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/PredictionConfig/test_validate_custom_species_list.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/PredictionConfig/test_validate_default_confidence_threshold.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/PredictionConfig/test_validate_input_files.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/PredictionConfig/test_validate_sigmoid_sensitivity.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/PredictionConfig/test_validate_top_k.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_batch_size.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_device.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_half_precision.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_max_audio_duration_min.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_max_n_files.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_n_feeders.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_n_workers.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_overlap_duration.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_prefetch_ratio.py
src/birdnet_tests/acoustic_models/inference_pipeline/configs_py/ProcessingConfig/test_validate_speed.py
src/birdnet_tests/acoustic_models/inference_pipeline/resources_py/RingBufferResources/test_create.py
src/birdnet_tests/acoustic_models/inference_pipeline/resources_py/RingBufferResources/test_reset.py
src/birdnet_tests/acoustic_models/perch_v2/model_py/test_perch_acoustic_encode_model.py
src/birdnet_tests/acoustic_models/perch_v2/model_py/test_perch_acoustic_predict_model.py
src/birdnet_tests/acoustic_models/perch_v2/model_py/test_perch_on_file_complete_encode.py
src/birdnet_tests/acoustic_models/perch_v2/model_py/test_perch_on_file_complete_predict.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_encode/test_acoustic_encode_custom_model_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_encode/test_acoustic_encode_model_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_encode/test_on_file_complete_encode_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_acoustic_predict_custom_model_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_acoustic_predict_model_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_acoustic_session_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_cancel_teardown_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_dead_worker_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_on_file_complete_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_progress_callback_empty_run_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_start_method_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/model_py/test_predict/test_validation_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/pb_py/test_download_acoustic_pb_model_v2_4.py
src/birdnet_tests/acoustic_models/v2_4/tf_py/test_download_acoustic_tf_model_v2_4.py
src/birdnet_tests/acoustic_models/v3_0/test_model_v3_0.py
src/birdnet_tests/acoustic_models/v3_0/model_py/test_encode/test_acoustic_encode_model_v3_0.py
src/birdnet_tests/acoustic_models/v3_0/model_py/test_encode/test_on_file_complete_encode_v3_0.py
src/birdnet_tests/acoustic_models/v3_0/model_py/test_predict/test_acoustic_predict_model_v3_0.py
src/birdnet_tests/acoustic_models/v3_0/model_py/test_predict/test_on_file_complete_v3_0.py
src/birdnet_tests/backends_py/test_backend_loader.py
src/birdnet_tests/backends_py/test_load_tf_model.py
src/birdnet_tests/backends_py/test_torch_backend.py
src/birdnet_tests/consistency_tests/xtest_acoustic_v2_4_encode_consistency.py
src/birdnet_tests/consistency_tests/xtest_acoustic_v2_4_predict_consistency.py
src/birdnet_tests/consistency_tests/xtest_geo_v2_4_consistency.py
src/birdnet_tests/consistency_tests/xtest_geo_v3_0_consistency.py
src/birdnet_tests/core_py/test_start_method.py
src/birdnet_tests/documentation/test_prediction_docs.py
src/birdnet_tests/geo_models/inference/test_geo_session.py
src/birdnet_tests/geo_models/inference/configs_py/test_geo_config_validators.py
src/birdnet_tests/geo_models/inference/scores_result_py/test_geo_io.py
src/birdnet_tests/geo_models/v2_4/model_py/test_predict/test_geo_predict_model.py
src/birdnet_tests/geo_models/v2_4/pb_py/test_download_geo_pb_model.py
src/birdnet_tests/geo_models/v2_4/tf_py/test_download_geo_tf_model.py
src/birdnet_tests/geo_models/v3_0/__init__.py
src/birdnet_tests/geo_models/v3_0/model_py/__init__.py
src/birdnet_tests/geo_models/v3_0/model_py/test_lang_file_generation.py
src/birdnet_tests/geo_models/v3_0/model_py/test_predict/__init__.py
src/birdnet_tests/geo_models/v3_0/model_py/test_predict/test_geo_predict_model.py
src/birdnet_tests/geo_models/v3_0/onnx_py/__init__.py
src/birdnet_tests/geo_models/v3_0/onnx_py/test_download_geo_onnx_model.py
src/birdnet_tests/geo_models/v3_0/pb_py/__init__.py
src/birdnet_tests/geo_models/v3_0/pb_py/test_download_geo_pb_model.py
src/birdnet_tests/geo_models/v3_0/tf_py/__init__.py
src/birdnet_tests/geo_models/v3_0/tf_py/test_download_geo_tf_model.py
src/birdnet_tests/geo_models/v3_0/tf_py/test_output_indices.py
src/birdnet_tests/helper_py/test_dtype_helpers.py
src/birdnet_tests/helper_py/test_flat_softmax_fast.py
src/birdnet_tests/helper_py/test_get_n_segments_speed.py
src/birdnet_tests/helper_py/test_get_supported_audio_files_recursive.py
src/birdnet_tests/helper_py/test_misc_helpers.py
src/birdnet_tests/helper_py/test_signal_helpers.py
src/birdnet_tests/issues/__init__.py
src/birdnet_tests/issues/test_issue29.py
src/birdnet_tests/issues/test_issue55.py
src/birdnet_tests/model_loader_py/test_tf_backend_runtime_guard.py
src/birdnet_tests/model_loader_py/acoustic/test_acoustic_load.py
src/birdnet_tests/model_loader_py/acoustic/test_acoustic_load_custom.py
src/birdnet_tests/model_loader_py/acoustic/test_acoustic_load_custom_v3_0.py
src/birdnet_tests/model_loader_py/acoustic/test_acoustic_load_perch.py
src/birdnet_tests/model_loader_py/acoustic/test_acoustic_load_v3_0.py
src/birdnet_tests/model_loader_py/acoustic/test_acoustic_load_validation.py
src/birdnet_tests/model_loader_py/geo/test_geo_load_validation.py
src/birdnet_tests/model_loader_py/geo/test_load.py
src/birdnet_tests/model_loader_py/geo/test_load_custom.py
src/birdnet_tests/model_loader_py/geo/test_load_custom_v3_0.py
src/birdnet_tests/model_loader_py/geo/test_load_v3_0.py
src/birdnet_tests/repro_tests/xtest_acoustic_v2_4_predict.py
src/birdnet_tests/utils/test_download_file_tqdm.py
src/birdnet_tests/utils/test_download_file_tqdm_retry.py
src/birdnet_tests/utils/test_taxonomy_v3.py