Ad

audio_to_midi_melodia: Melody extraction to MIDI

Extracts melodies from audio files using Melodia, segmenting pitch to create MIDI. Provides options for smoothing and JAMS output.
Screenshot of justinsalamon/audio_to_midi_melodia homepage

audio_to_midi_melodia extracts melodies from audio files and converts them into MIDI format. The project addresses the challenge of separating the melodic line from polyphonic audio. It leverages the Melodia algorithm for f0 estimation and a custom note segmentation routine for creating quantized MIDI notes. The script provides flexibility through command-line arguments for tempo and smoothing.

This project provides a relatively simple implementation of melody extraction and note segmentation. The clear separation of these two steps is a notable design choice. The inclusion of JAMS output provides an alternative format for note representation. The project includes detailed installation instructions, addressing platform-specific challenges.

  • Melody Extraction: Utilizes the Melodia algorithm for fundamental frequency estimation.
  • Note Segmentation: Converts continuous f0 to quantized notes with start and end times.
  • JAMS Output: Saves output in JAMS format alongside MIDI.
  • Command-Line Interface: Offers command-line arguments for tempo, smoothing, and JAMS output.
  • Dependency Management: Includes a requirements.txt file for easy dependency installation.
  • Platform Specific Installation: Provides detailed guidance for Windows users to install dependencies.
  • Usage Example: Demonstrates how to run the script with various parameters.

The project appears to be in a maintained but not actively developed state. The last commit was in 2020, and the issue tracker indicates community engagement when proposing feature additions. Documentation is available, mainly in the README, and installation instructions are included. The reliance on specific Python and dependency versions suggests a degree of stability but also potential compatibility concerns.

This project is useful for musicians, audio researchers, and developers who need to programmatically extract melodic information from audio. It offers a straightforward way to convert audio recordings into MIDI files for further manipulation or analysis. Compared to manual transcription, this approach offers significant time savings and automation capabilities.

Languages:
Summarize:
Share:
Stars
636
Forks
108
Issues
8
Created
10 years ago
Commit
6 years ago
License
None
Archived
No
Updated 16 days ago

Similar Repositories