analyze_track_loudness
Measure track loudness metrics like LUFS and true peak over a specified time range without altering your REAPER project.
Instructions
Measure the loudness of a single track over a time range using a non-destructive dry-run render (action 42439). No items, tracks, or files are created — project state is completely unchanged after the call. Returns:
lufs_i: integrated loudness in LUFS
lufs_s_max: maximum short-term loudness in LUFS
lufs_m_max: maximum momentary loudness in LUFS
true_peak_db: true peak in dBTP
raw_stats: raw key=value string from REAPER for any additional fields
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| start_time | Yes | ||
| end_time | Yes |
Implementation Reference
- src/reaper_mcp/server.py:699-722 (handler)MCP tool registration and handler for `analyze_track_loudness`.
def analyze_track_loudness( track_index: int, start_time: float, end_time: float, ) -> dict[str, Any]: """ Measure the loudness of a single track over a time range using a non-destructive dry-run render (action 42439). No items, tracks, or files are created — project state is completely unchanged after the call. Returns: - lufs_i: integrated loudness in LUFS - lufs_s_max: maximum short-term loudness in LUFS - lufs_m_max: maximum momentary loudness in LUFS - true_peak_db: true peak in dBTP - raw_stats: raw key=value string from REAPER for any additional fields """ try: return _wrap( adapter.analyze_track_loudness( track_index=track_index, start_time=start_time, end_time=end_time, ) ) - src/reaper_mcp/reaper_adapter.py:402-413 (handler)Adapter method that dispatches `analyze_track_loudness` request to the bridge client.
def analyze_track_loudness( self, track_index: int, start_time: float, end_time: float, ) -> dict[str, Any]: return self._client.call( "analyze_track_loudness", track_index=track_index, start_time=start_time, end_time=end_time, )