Skip to content

Add expressive composition, piano/drum writing and a live keyboard - #46

Merged
davidnmbond merged 11 commits into
mainfrom
feature/musical-flow-and-studio-tabs
Oct 22, 2026
Merged

davidnmbond merged 11 commits into
mainfrom
feature/musical-flow-and-studio-tabs

Conversation

@davidnmbond

@davidnmbond davidnmbond commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Generated pieces repeated rigid bar-sized harmony and drum patterns, and piano leads used the same single-note writer as other instruments. Composer 7 separates harmonic spans from instrumental metre, connects expressive phrases, writes coordinated piano hands and gives the drum kit shared groove/fill decisions.

  • Musical flow: independent harmonic movement, chromatic colour, phrase expression and accompaniment variation. Held/split chords, directed approaches, suspensions, resolving neighbours, timing/dynamics, common-tone ties and actual-rest answers.
  • Piano: quieter treble intervals/three-note ragtime voicings, left-hand gestures and ending roots; reuse existing piano accompaniment. Per-layer Two-hand piano switch preserves the single-line option and the original melody register.
  • Drums: independent variation, fills and humanity controls. Ghosts, kick anticipations, hats/ride/crashes, landmark snare/tom/triplet fills, velocity builds and bounded role timing. Fills replace strokes and free the hats only when an audible snare player participates. Kick anchors, selected beat vocabulary and planned outros remain protected. Written fill subdivisions are not swung again, so high swing cannot reverse adjacent roll strokes.
  • Sharing: every song parameter, both seeds, instrument order/IDs, mix and participation are encoded in the live address. Copy song link, automatic settings restoration and generation, version/bank guards, bounded gzip decoding and browser back navigation. Fresh browser context reproduces identical score JSON and WAV audio. See SONG_LINKS.md (R11/R13).
  • Studio: five keyboard-accessible tabs with setting/control/explanation rows; generation feedback and playback outside panels. New controls persist through local saves and import/export.
  • SoundFont keyboard: per-key soft/hard geometry and quieter soft strikes; live SF2 voices sustain until key release, using native release/damping. Pointer capture, cancellation, touch, keyboard repeats, blur and navigation cleanup prevent stuck notes. Remove the fixed note-length slider.
  • Compatibility: stored notes replay without regeneration. Missing new flow/drum controls migrate to zero; missing piano switch migrates off. Composer is version 7; legacy SongGenerator remains version 3 with unchanged golden hashes.

Update thesis to 0.5/rules to 0.6.0 (R04/R05/R06/R07/R09/R11). MUSICAL_FLOW.md, PIANO_WRITING.md and DRUM_EXPRESSION.md document mechanisms, limits, replay and matched listening evidence. Complete fingering/pedal models, tempo maps and general instrument transitions remain future work.

Validation: 217 tests pass; affected Release build has no warnings/errors. Chromium verifies settings effects and persistence, independent non-drum parts, melody regeneration, saved-score replay, uninterrupted visualizer switches, tab keyboard navigation, mobile layout and generation feedback. Live keyboard checks cover held piano/damping, repeated keys, real two-finger touch, independent releases, cancellation, blur and navigation without browser exceptions. Captured composer-4 notes still replay byte-identical WAV audio.

Local preview: http://127.0.0.1:18088/song. Matched original auditions at /flow-comparison/index.html, /piano-comparison/index.html and /drum-comparison/index.html (isolated kit/full band). Full mixes are RMS-matched by attenuation only. These unblinded examples demonstrate mechanisms, not aesthetic success.

Refs #8, #9, #11, #12, #13, #16, #17, #18, #19, #37. These broader issues remain open.

@codacy-production

codacy-production Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 262 complexity · 0 duplication

Metric Results
Complexity 262
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.

@davidnmbond davidnmbond changed the title Add connected musical flow and clearer studio controls Add expressive piano writing, musical flow and clearer studio controls Oct 22, 2026
@davidnmbond davidnmbond changed the title Add expressive piano writing, musical flow and clearer studio controls Add expressive composition, piano/drum writing and a live keyboard Oct 22, 2026
@davidnmbond
davidnmbond merged commit 0a504f1 into main Oct 22, 2026
6 checks passed
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.

1 participant