Analyze the audio
Extract musical information from the source track for structural comparison.
Music information retrieval
A Python music-analysis project that uses structural similarity within a recording to create alternate remixes of a song.
Overview
Infinite Jukebox is a Python-based music-analysis project created for an audio content analysis class in a team of two that explores the internal structure of a recording.
Rather than treating a song as a fixed sequence from beginning to end, the project uses similarity relationships to identify places where playback could move between structurally related sections.
Process
The system analyzes a recording, compares moments within the track, and uses those relationships to identify alternate transitions.
Extract musical information from the source track for structural comparison.
Measure similarity between different points in the recording and organize the relationships in a similarity matrix.
Identify moments that are similar enough to support transitions between different parts of the track.
Use those relationships to create alternate routes through the music rather than following the original timeline from beginning to end.
Analysis
The similarity matrix shows relationships between different moments in the recording, revealing repeated and structurally related regions that can be used as potential transition points.

Demo
Compare an excerpt from an original recording with the alternate playback path generated by the Infinite Jukebox system.
Original
An excerpt following the recording's original linear structure.
Output
The same recording navigated using alternate transitions identified through the similarity analysis.
More work
See more of my work in audio software, creative technology, and music computing.