reaper_analyze_mix
Measure LUFS, loudness range, peak, frequency balance, and stereo correlation of a rendered mix. Optionally get AI feedback from Gemini with concrete REAPER fixes.
Instructions
Analyze a rendered mix: local DSP measurements + AI listening feedback.
Two layers. Local DSP (numpy/pyloudnorm) measures the trustworthy numbers — integrated LUFS, loudness range, sample peak, crest factor, clipped samples, per-band frequency balance, and stereo correlation/width/balance. Then (unless include_ai=false) Gemini is given BOTH the audio file and those measurements and returns grounded mix/master feedback with concrete REAPER fixes.
Requires the optional deps: pip install -e .[analyze], and GEMINI_API_KEY in the
environment for the AI layer. Pass a reference_path to compare against a pro track.
This reads files and calls an external API; it never modifies the Reaper project.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audio_path | Yes | Path to the rendered audio file to analyze (WAV/MP3/FLAC/AAC). Render the project first (reaper_render_project) and pass that file. | |
| focus | No | Optional free-text note on what to focus on, passed to Gemini (e.g. 'the vocal sounds buried', 'too boomy on small speakers'). | |
| reference_path | No | Optional path to a reference/commercial track to compare against. | |
| include_ai | No | If true, send the audio + metrics to Gemini for written feedback. If false, return only the measured DSP metrics (no API call). | |
| model | No | Gemini model that listens to the mix: 'gemini-2.5-flash' (fast/cheap) or 'gemini-2.5-pro' (deeper analysis). | gemini-2.5-flash |
| response_format | No | 'markdown' for human-readable output or 'json' for machine-readable | markdown |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |