renato97
014e636889
feat: professional reggaeton production engine — 7 SDD changes, 302 tests
...
- section-energy: track activity matrix + volume/velocity multipliers per section
- smart-chords: ChordEngine with voice leading, inversions, 4 emotion modes
- hook-melody: melody engine with hook/stabs/smooth styles, call-and-response
- mix-calibration: Calibrator module (LUFS volumes, HPF/LPF, stereo, sends, master)
- transitions-fx: FX track with risers/impacts/sweeps at section boundaries
- sidechain: MIDI CC11 bass ducking on kick hits via DrumLoopAnalyzer
- presets-pack: role-aware plugin presets (Serum/Decapitator/Omnisphere per role)
Full SDD pipeline (propose→spec→design→tasks→apply→verify) for all 7 changes.
302/302 tests passing.
2026-05-03 23:54:29 -03:00
renato97
48bc271afc
feat: SDD workflow — test sync, song generation + validation, ReaScript hybrid pipeline
...
- compose-test-sync: fix 3 failing tests (NOTE_TO_MIDI, DrumLoopAnalyzer mock, section name)
- generate-song: CLI wrapper + RPP validator (6 structural checks) + 4 e2e tests
- reascript-hybrid: ReaScriptGenerator + command protocol + CLI + 16 unit tests
- 110/110 tests passing
- Full SDD cycle (propose→spec→design→tasks→apply→verify) for all 3 changes
2026-05-03 22:00:26 -03:00
renato97
7729d5f12f
feat: drumloop-first v2 — scored selection, WAV preference, no vocals
...
- Score drumloops by key_confidence + onset_density + duration + balance + format
- Prefer WAV over MP3 (lossless > lossy)
- 6 tracks only: Drumloop, Bass, Chords, Lead, Clap, Pad
- Clap ONLY in chorus+verse (dembow on beats 2, 3.5)
- Bass tresillo filtered by kick-free zones
- Chords i-VI-III-VII on downbeats
- Lead pentatonic, avoids transients, chord tones on strong beats
- Master chain: Pro-Q 3 → Pro-C 2 → Pro-L 2
- 90 tests passing, 18 plugins, clean RPP output
2026-05-03 20:07:00 -03:00
renato97
a2713abd40
feat: drumloop-first generation with forensic analysis
...
- Add DrumLoopAnalyzer: extracts BPM, transients, key, beat grid from drumloops
- Rewrite compose.py: drumloop drives everything (BPM, key, rhythm)
- Bass tresillo pattern placed in kick-free zones
- Chords change on downbeats matching drumloop key
- Melody avoids transients, emphasizes chord tones
- Vocal chops between transients, clap on dembow (beats 2, 3.5)
- Remove COLOR token (not recognized by REAPER)
- 90 tests passing, generates drumloop_song.rpp with 10 tracks, 20 plugins
2026-05-03 19:41:22 -03:00
renato97
8562bfbed1
fix: real preset data for all VST2/VST3 plugins, template system with ground-truth registry
...
- Extracted preset data from all_plugins_v2.rpp for 14 previously broken plugins
- Fixed PLUGIN_REGISTRY entries: Kontakt 7, Gullfoss, ValhallaDelay, VC 160/76, The Glue
- Template parser falls back to PLUGIN_PRESETS when source RPP has fake data
- Substitute Transient Master (not installed) with FabFilter Pro-C 2
- All 25 plugins now load correctly in REAPER
- Added template generator scripts and ground truth references
- Cleaned up temp/debug files from output/
2026-05-03 18:54:40 -03:00
renato97
3444006411
feat: pattern-based generators from real track analysis, RPP structure fixes, randomization
...
- Reverse-engineer drum patterns from 2 real reggaeton tracks with librosa
- Create patterns.py with extracted frequency data (kick/snare/hihat positions)
- Rewrite rhythm.py with pattern-bank generators (dembow, dense, trapico, offbeat)
- Rewrite melodic.py with section-aware generators and humanization
- Add weighted random sample selection in SampleSelector (top-5 pool)
- Add generate_structure() with randomized templates and energy variance
- Fix RPP structure: TEMPO arity (3→4 args), string quoting for empty strings
- Rewrite quick_drumloop_test.py with correct REAPER ground truth format
- Add scripts/analyze_examples.py for reverse engineering audio tracks
- Add --seed argument for reproducible generation
- 72 tests passing
2026-05-03 16:08:07 -03:00
renato97
d5c2490a05
feat: expand VST3 registry to 52 plugins and remove unrecognized tokens
...
- Add 42 new VST3 plugins to registry (FabFilter, Ozone 12, Diva, Pigments,
Electra, Kontakt 7, Gullfoss, Trackspacer, ShaperBox, VC series, Arcade)
- Remove RENDER_CFG, PROJBAY, WAK tokens that caused REAPER warnings
- GUIDs sourced from REAPER scan file (reaper-vstplugins64.ini)
- New plugins have empty preset data (to be extracted incrementally)
- 72 tests passing
2026-05-03 14:22:18 -03:00
renato97
53741b48b6
feat: VST3 preset data, project metadata, plugin registry fixes, and token cleanup
...
- Add VST3_PRESETS dict with base64 preset data for all 10 plugins (required by REAPER to load VST3)
- Fix VST3 registry: correct display names, filenames, and uniqueid GUIDs
- Add ~50 lines of REAPER project metadata (PANLAW, SAMPLERATE, METRONOME, etc.)
- Add 25 track attributes (PEAKCOL, BEAT, AUTOMODE, etc.) and FX chain metadata
- Remove unrecognized tokens (RENDER_CFG, PROJBAY, WAK) that caused REAPER warnings
- Update compose.py with section-based arrangement and registry key names
- Add SectionDef to schema
- 72 tests passing
2026-05-03 14:00:11 -03:00
renato97
af6d61c8a1
refactor: migrate from FL Studio to REAPER with rpp library
...
Replace FL Studio binary .flp output with REAPER text-based .rpp output
using the rpp Python library (Perlence/rpp).
- Add core/schema.py: DAW-agnostic data types (SongDefinition, TrackDef,
ClipDef, MidiNote, PluginDef)
- Add reaper_builder/: RPP file generation via rpp.Element + headless
render via reaper.exe CLI
- Add composer/converters.py: bridge rhythm.py/melodic.py note dicts
to core.schema MidiNote objects
- Rewrite scripts/compose.py: real generator pipeline with --render flag
- Delete src/flp_builder/, src/scanner/, mcp/, flstudio-mcp/, old scripts
- Add 40 passing tests (schema, builder, converters, compose, render)
2026-05-03 09:13:35 -03:00
renato97
4d941f3f90
feat: reggaeton production system with intelligent sample selection and FLP generation
2026-05-02 21:40:18 -03:00