{"library":"mir-eval","title":"mir_eval: Music Information Retrieval Evaluation","description":"mir_eval is a Python library providing a transparent, standardized, and straightforward way to evaluate Music Information Retrieval (MIR) systems. It includes common metrics for tasks such as beat detection, chord estimation, melody extraction, and onset detection. The library is actively maintained, with the current version being 0.8.2, and sees regular updates to ensure compatibility and introduce minor enhancements.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install mir-eval"],"cli":null},"imports":["import mir_eval","import mir_eval.beat","from mir_eval import onset\nscores = onset.evaluate(reference_onsets, estimated_onsets)"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import numpy as np\nimport mir_eval.beat\n\n# Reference beat times (ground truth)\nreference_beats = np.array([0.5, 1.0, 1.5, 2.0, 2.5, 3.0])\n\n# Estimated beat times from an algorithm\nestimated_beats = np.array([0.51, 1.02, 1.48, 2.03, 2.55, 3.01])\n\n# Calculate F-measure for beat tracking\nf_measure = mir_eval.beat.f_measure(reference_beats, estimated_beats)\n\n# Calculate other beat metrics\nalternate_accuracy = mir_eval.beat.alternate_period_accuracy(reference_beats, estimated_beats)\ncml_t = mir_eval.beat.cemgil_metric(reference_beats, estimated_beats)\n\nprint(f\"Beat F-measure: {f_measure:.4f}\")\nprint(f\"Alternate Period Accuracy: {alternate_accuracy:.4f}\")\nprint(f\"Cemgil Metric (T): {cml_t:.4f}\")","lang":"python","description":"This quickstart demonstrates how to compute beat tracking evaluation metrics using `mir_eval.beat`. It initializes synthetic reference and estimated beat times and then calculates common metrics like F-measure, alternate period accuracy, and the Cemgil metric.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"0.8.2","pypi_latest":"0.8.2","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":7.3,"avg_import_s":2.7,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.04,"mem_mb":40.1,"disk_size":"231.6M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.3,"import_time_s":1.55,"mem_mb":40.1,"disk_size":"223M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.59,"mem_mb":51.6,"disk_size":"246.9M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":6.9,"import_time_s":3.4,"mem_mb":51.6,"disk_size":"236M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":3.43,"mem_mb":50.6,"disk_size":"232.9M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.2,"import_time_s":3.58,"mem_mb":50.6,"disk_size":"222M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2.98,"mem_mb":50.6,"disk_size":"231.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.4,"import_time_s":3.11,"mem_mb":50.6,"disk_size":"221M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.79,"mem_mb":36,"disk_size":"233.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mir-eval","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.9,"import_time_s":1.53,"mem_mb":36,"disk_size":"230M"}]}}