# spotify/basic-pitch

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/spotify-basic-pitch).**

5,207 stars · 467 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/spotify/basic-pitch
- Homepage: https://basicpitch.io
- awesome-repositories: https://awesome-repositories.com/repository/spotify-basic-pitch.md

## Topics

`audio` `lightweight` `machine-learning` `midi` `music` `pitch-detection` `polyphonic` `python` `transcription` `typescript`

## Description

Basic-pitch is a neural network audio transcriber and polyphonic pitch detector. It functions as an audio-to-MIDI converter that transforms polyphonic audio recordings into MIDI note events and pitch bend data.

The system preserves musical expression by tracking continuous frequency fluctuations to convert glides and vibrato into MIDI pitch bend events. It utilizes a pluggable inference engine that allows the model runtime to be configured based on the operating system or hardware acceleration needs.

The project provides a command line interface for batch audio processing and a programmatic interface for integrating transcription and note event extraction into custom software. Transcription results can be exported as MIDI files, raw model outputs, and note event spreadsheets.

## Tags

### Artificial Intelligence & ML

- [Audio Transcription Models](https://awesome-repositories.com/f/artificial-intelligence-ml/audio-transcription-models.md) — Uses a deep learning model to detect multiple simultaneous musical pitches from raw audio waveforms.
- [Automated Music Transcription](https://awesome-repositories.com/f/artificial-intelligence-ml/automated-music-transcription.md) — Uses neural networks to programmatically turn audio files into MIDI data and note events.
- [Neural Audio Transcribers](https://awesome-repositories.com/f/artificial-intelligence-ml/neural-audio-transcribers.md) — Uses a machine learning system to detect musical pitches in audio files to automate the transcription process.
- [CLI Transcription Tools](https://awesome-repositories.com/f/artificial-intelligence-ml/audio-transcription/cli-transcription-tools.md) — Provides a command-line tool for transcribing audio files directly into MIDI data from the terminal. ([source](https://github.com/spotify/basic-pitch/blob/main/README.md))

### Graphics & Multimedia

- [AI Audio Analysis](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-processing/ai-audio-analysis.md) — Processes audio data using AI to extract multiple simultaneous musical notes for transcription.
- [Audio-to-MIDI Converters](https://awesome-repositories.com/f/graphics-multimedia/audio-to-midi-converters.md) — Transforms polyphonic audio recordings into MIDI note events and pitch bend data using neural networks.
- [Audio-to-MIDI Pipelines](https://awesome-repositories.com/f/graphics-multimedia/audio-to-midi-pipelines.md) — Implements a pipeline that sequentially processes raw audio through a neural network to produce MIDI files.
- [Audio-to-MIDI Transcription](https://awesome-repositories.com/f/graphics-multimedia/audio-to-midi-transcription.md) — Converts polyphonic audio recordings into MIDI files to capture notes and pitch bends for music production.
- [Pitch Bend Detection](https://awesome-repositories.com/f/graphics-multimedia/note-pitch-modulation/pitch-quantization/pitch-bend-detection.md) — Tracks continuous frequency fluctuations to convert glides and vibrato into MIDI pitch bend events.
- [Polyphonic Audio-to-MIDI Transcription](https://awesome-repositories.com/f/graphics-multimedia/polyphonic-audio-to-midi-transcription.md) — Transforms polyphonic audio files into MIDI format with pitch bend detection to preserve musical expression. ([source](https://github.com/spotify/basic-pitch/blob/main/MANIFEST.in))
- [Polyphonic Pitch Detectors](https://awesome-repositories.com/f/graphics-multimedia/polyphonic-pitch-detectors.md) — Identifies multiple simultaneous notes and frequency changes within an audio signal.
- [Polyphonic Pitch Tracking](https://awesome-repositories.com/f/graphics-multimedia/polyphonic-pitch-tracking.md) — Analyzes complex audio signals to separate and identify individual overlapping notes across a wide frequency range.

### Development Tools & Productivity

- [Audio Command-Line Tools](https://awesome-repositories.com/f/development-tools-productivity/audio-command-line-tools.md) — Provides terminal-based utilities for processing audio files into MIDI transcriptions.
- [Audio Transcription APIs](https://awesome-repositories.com/f/development-tools-productivity/audio-transcription-apis.md) — Provides a programmatic interface for integrating audio-to-MIDI transcription into custom software applications. ([source](https://github.com/spotify/basic-pitch/blob/main/README.md))
- [CLI Data Processors](https://awesome-repositories.com/f/development-tools-productivity/cli-data-processors.md) — Provides a command-line tool that transforms audio files into structured MIDI notation data.
- [Audio Processing Automation](https://awesome-repositories.com/f/development-tools-productivity/cli-image-processing-tools/audio-processing-automation.md) — Exposes the model runtime through a terminal interface for batch processing and automated file conversion.
