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

FL Control — Reggaeton Production System

Python system for generating complete reggaeton .flp projects for FL Studio from the command line, using intelligent sample selection and algorithmic composition.

Features

  • Forensic Sample Analyzer — 4-layer audio analysis (signal, perceptual, musical, timbre) using aubio
  • Intelligent Sample Selector — scores samples by key compatibility (circle of fifths), BPM proximity, and character
  • Melodic Generators — reggaeton-idiomatic patterns: bass tresillo, melodic hooks, chord blocks, sustained pads
  • FLP Builder — assembles valid FL Studio project files from a JSON song definition
  • MCP Server — 28-tool Model Context Protocol server for AI-assisted production

Quick Start

pip install -r requirements.txt

# Analyze your sample library
1_ANALIZAR.bat          # or: python src/analyzer/__init__.py

# Compose a track
python scripts/compose_track.py --key Am --bpm 95 --bars 8 --output output/track.flp
# or double-click:
COMPONER.bat

Project Structure

fl_control/
├── src/
│   ├── analyzer/        # Forensic audio feature extraction
│   ├── composer/        # Pattern generators (rhythm + melodic)
│   ├── flp_builder/     # FL Studio .flp binary assembly
│   └── selector/        # Intelligent sample scoring & selection
├── mcp/                 # MCP server (28 tools for AI integration)
├── scripts/             # CLI entry points
├── knowledge/           # Musical domain knowledge (progressions, templates)
├── data/                # Generated indexes (gitignored)
├── .sdd/                # Spec-Driven Development artifacts
└── COMPONER.bat         # Quick-compose launcher

System Requirements

  • Python 3.10+
  • FL Studio (for opening generated .flp files)
  • ~4GB disk space for sample library (not included)

Workflow

  1. Drop your sample library into librerias/
  2. Run 1_ANALIZAR.bat to build the sample index
  3. Run COMPONER.bat to generate a track

Architecture

The system uses a JSON SongDefinition as the single source of truth decoupling composition logic from FLP binary rendering. See .sdd/ for full technical specs and design documents.

Description
AI-powered reggaeton production system using REAPER
Readme MIT 14 MiB
Languages
Python 100%