Repository navigation
Fix verse progression selection and diversify melodic ideas - #42
Merged
Merged
Conversation
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 24 |
| Duplication | 0 |
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.
TIP This summary will be updated as you push new changes.
This was referenced Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.