← Back to Projects Page

OpusMelody
Solo Project
2025
Technologies
•Angular
•Flask
•Python 3
•Digital Ocean
•Stripe
•PostgreSQL
OpusMelody is a digital audio workstation (DAW) with an applied music theory engine and an AI agent capable of revising compositions - generating chords, making them bigger/smaller, adding melodies, changing octaves, performing chord inversions, and more. It's like Cursor for music composition. Launched to 260+ unique users, 22 email signups and counting.
Project Video
Related Links
Project Images



Project Details
OpusMelody is a digital audio workstation that allows the generation, editing, and export of MIDI compositions.
We encode popular compositional approaches suggested by classical, jazz, pop, and hip hop lineages into procedural algorithms to create compositions matching user input, with some randomness sprinkled in.
Built with Flask, Angular, and Python.
Generation Features and Compositional Algorithms
Overview
- Generate a wide variety of high-quality chord progressions with fine control over the progression specs
- Use tasteful voicings and dynamic harmonic rhythms just by selecting one of our generation presets
- Orchestrate your progressions using a large list of monophonic and polyphonic presets
- Large library of hit progressions and chord voicings with configurable probabilities determining their inclusion
- Configure probabilities for the inclusion of non-diatonic, borrowed, altered dominant chords
- Logging panel in UI provides step-by-step explanations of the result generation method
- Export MIDI files of the entire project's composition as a zip file of MIDI tracks
- Import individual MIDI tracks
Chord Generation + Selection Algorithms
- Library-based voicing selection
- Build chords from random scale tones
- Note nudge algorithm: nudge notes of previous chord to get next chord (like human piano hands)
- Chord leading based on chord leading chart
- Circular chord leading for smooth progression loops
- Can voice user-supplied numeral sequences
- Customizable topline contour shape
- Can restrict all voicings to be sus chords
- Specify the contour shape of a generated chord progression's topline (static, downward, up and then down...)
Orchestrate Your Progressions
- Two-voice counterpoint with focused chord tone selection (ex: top line and lower middle line)
- Three-voice and four-voice counterpoint algorithms, still rough but good enough to be dangerous
- Standard arpeggios that can be set to quarter note, eighth note, customize number of repetitions per chord
- Randomized spiral-shaped arpeggios
- And more monophonic arpeggio shapes that can serve as orchestration support
- Winding lead generation (creating flowing melodic lines)
- Symmetric motif generation (creating melodies that are repeated on the first and second halves of the progression using matching chord tones)
General App Features
- Add tracks and edit notes in a resizable piano roll window
- Export application state to a MIDI file and download the generation log that explains the music theory behind the composition
- Import user-provided MIDI files for automated manipulation
- Quickly generate compositions with the Quick Generate button that reruns the last-applied settings and clicks play
- Chords can be rolled bottom-up during playback with a configurable note roll offset, to help you better hear each tone created
- UI automatically calculates and labels chords with their names and scale degrees
- Cycle mode toggle button for looped playback