Skip to content

Fix verse progression selection and diversify melodic ideas - #42

Merged
davidnmbond merged 3 commits into
mainfrom
fix/progression-and-melodic-identity
Oct 21, 2026
Merged

davidnmbond merged 3 commits into
mainfrom
fix/progression-and-melodic-identity

Conversation

@davidnmbond

Copy link
Copy Markdown
Contributor

At the studio's default full section contrast, every progression was replaced by the same verse harmony. Melodies also used four contour arrays and fixed rhythms: 64 seeds yielded one first-verse opening onset pattern. This made the progression control ineffective and songs unnecessarily similar.

Section plans now derive from the selected progression. Custom verse/bridge symbols survive when progression variation is zero; bass fifths respect diminished/augmented chords. The composer creates and stores seeded two-bar motifs with varied rhythmic cells and pitch gestures, related chorus/bridge material, controlled phrase development and consistent register transposition. An optional independent melody seed and New melody button change melodic parts while keeping backing notes, harmony and section participation fixed. Default phrase development is 60%.

The studio explains the controls and displays actual section chord sequences. Source-generated song/settings JSON and local storage retain the new seed/motifs, with defaults for older scores. Working rules R01/R02/R04/R11/R13 advance to catalogue 0.2.0; implemented and remaining scope are documented.

Validation: the three regression cases failed against the original implementation; all 161 tests now pass, including both legacy golden hashes, diversity, recurrence, transposition, backing independence, custom harmony and v1/v2 export replay. A 64-seed audit produced 53 opening onset patterns and 64 pitch sequences with fixed harmony. Piano-only/full-band WAV comparisons were generated for listening. Browser verification passed progression/melody/development controls, backing independence, exact saved-audio replay, playback continuity through both visualizers, and desktop/mobile layout. Affected Release builds and static publish passed with zero warnings/errors; git diff --check passed.

Arranger output intentionally changes: ArrangementComposer.Version becomes 3. Legacy SongGenerator.Version remains 3; written-score schema remains 1 with additive optional fields. Existing scores replay their notes. Bass/drum template breadth, actual-rest ensemble responses, harmonic rhythm, richer articulation and blinded listening evaluation remain open; event diversity does not establish musical appeal.

Fixes #41. Advances #8 and #9; listening evaluation remains #37.

@codacy-production

codacy-production Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 24 complexity · 0 duplication

Metric Results
Complexity 24
Duplication 0

View in Codacy

AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix ignored verse progressions and limited melodic diversity

1 participant