spotify/basic-pitch

A lightweight yet powerful audio-to-MIDI converter with pitch bend detection

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 42 minutes ago
Added to GitGenius on September 12th, 2026
Created on May 3rd, 2022
Open Issues & Pull Requests: 60 (+0)
GitHub issues: Enabled
Number of forks: 510
Total Stargazers: 5,562 (+1)
Total Subscribers: 68 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.2 days
Mean response time: 62.3 days
90th percentile: 292.9 days
Tracked items: 28

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 11% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 29
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 624 days
Stale 30+ days: 24
Stale 90+ days: 21

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • question (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Basic Pitch is a Python library for automatic music transcription that converts audio files to MIDI with pitch bend detection.

The tool addresses the challenge of transcribing polyphonic music by applying a lightweight neural network developed by Spotify's Audio Intelligence Lab. Rather than requiring large, resource-intensive models, Basic Pitch achieves competitive note accuracy through an instrument-agnostic approach that generalizes across different instruments. It accepts compatible audio files and outputs MIDI files complete with pitch bends, supporting polyphonic instruments while working best when focused on one instrument at a time.

Developers should choose this tool if they need efficient, easy-to-use transcription without heavy computational overhead. It suits projects requiring polyphonic note detection across varied instruments where model size and resource consumption matter. The library is installable via pip and npm, making it accessible for both Python and TypeScript environments. Basic Pitch works best on single-instrument audio rather than complex multi-instrument mixes. The tool includes platform-specific optimizations: CoreML on macOS, TensorFlowLite on Linux, and ONNX on Windows, with TensorFlow available as an optional dependency. A demo website allows experimentation before adoption.

The project maintains active support across multiple Python versions and operating systems including macOS, Windows, and Ubuntu, with specific provisions for M1 hardware. Development includes ongoing improvements beyond the original research publication, with the maintainers recommending that users cite the specific code version used in academic research rather than relying solely on the associated paper. The tool provides multiple model runtime options to accommodate different deployment environments without forcing unnecessary dependencies.