The Classical Music Analyzer is a Flask-based Python web application that processes and analyzes classical music compositions to provide valuable insights into their musical structure. Users can upload music files in MIDI, MSCZ, or other supported formats to uncover detailed information about harmonic progressions, motifs, rhythms, and instrumentation.
Key Features:
Key Signature Analysis: Detects the key signature of the uploaded piece to contextualize harmonic structures and Roman numeral analysis. Motif Detection: Identifies recurring melodic motifs across different measures, highlighting thematic elements in the composition. Rhythmic and Tempo Analysis: Detects time signatures, tempos, and rhythmic patterns to assist in stylistic and structural analysis. Instrument Identification: Lists and organizes instruments used in the composition, while filtering out percussion when needed. Harmonic Analysis: Chord sequences are analyzed within the identified key signature to display harmonies using Roman numeral notation, uncovering classical harmonic progressions.
Files Overview:
Core application files for uploading, analyzing, and displaying music information, along with utility scripts for handling MIDI and MSCZ formats.
This tool is ideal for music theorists, students, and classical music enthusiasts aiming to delve into the structure and elements that define classical compositions.