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.