Requirements
- REAPER 5.02 or above
This script is built for REAPER 5 and above only. - TBProAudio / dpMeter v1.4 or above
Why is it needed? This script uses the dpMeter VST3 plugin made by TBProAudio for the Loudness analysis. It gets the number values from it and represents the meters and graph.
Installation
- Install the VST3 version of dpMeter
If you install both VST2 and VST3 versions, you will have to rename the VST2 version in REAPER with a suffix, so it is better to install only the VST3 version. - Important: Add dpMeter once to any track and configure it to display Loudness EBUR128 for mode and Sync On. Then save it as a preset in REAPER called Loudness. This preset will be used by the script for the tracks you want to analyze. The script won't continue if the preset is not found. You only have to do this once. Once the preset is saved in REAPER you can use it for all the projects.
- Extract THE FOLDER inside the zip, with all the files, to the Scripts folder in your REAPER resources path.
Or in the portable folder if running a portable installation. The path of the script should look like:
C:\REAPER\Scripts\HeDa_Loudness Graph\HeDa_Loudness Graph.lua
or
C:\Users\(User1)\AppData\Roaming\REAPER\Scripts\HeDa_Loudness Graph\HeDa_Loudness Graph.lua
Use the x32 version instead if you are using REAPER 32 bit version.
- Then add the script to REAPER as any script in the actions window. Click "Load", and select the "HeDa_Loudness Graph.lua" file.
- Then the action is added and you can create a toolbar button or assign it a keyboard shortcut.
Terminating the script:
If you run the script again while it is running, a prompt will be presented to terminate the script.
You can click to remember the setting and click Terminate to close it.
Usage
Adding / removing tracks to analyze
Adding tracks: Select one or multiple tracks and click the "+" (plus) Button on the left. This will insert a dpMeter instance at the end of the chain of the tracks. When you exit the script, the dpMeters instances remain in the project, but bypassed. When you start the script again it will unbypass all the instances again.
IMPORTANT: The tracks to be analyzed should be buses or folders where no fader or panning is modified, because that modifies the signal after the analysis is done on that track. So to use it correctly it must be used on tracks without post fader or panning modification, or a dedicated BUS with the proper receives for analysis. This wouldn't be needed if REAPER could add post fader FX inserts, maybe in future versions.
Removing Tracks: There are two methods:
- In REAPER TCP area, select the track or multiple tracks you want to remove and click the "-" (minus) button on the top left.
- To remove a single track, you can ALT+click on the meter of the track in the script..
Refreshing tracks: Click on the Ѻ button to refresh the colors and track icons if changed while the script is opened.
Meters Area:
- Click on a meter: Select the associated track and Scrolls view vertically to it.
- CTRL + click on the meter: Solo the track. The same action as REAPER soloing. When there are some soloed tracks, those will be shown normally in the graph, and the rest will be faded a bit.
- Click on track ID number: Toggle Show/Hide a track in the graph display, but it will still be used in the meters and record the analysis graph.
- Click and drag on track ID number: Easy to Show/hide multiple contiguous tracks without having to click one by one.
- CTRL+click on ID number: Solo Displays that track on the graph. It doesn't affect listening as CTRL clicking on the meter. Only the display on graph is changed.
- Lower left buttons: IL button: Show / Hide the IL numbers of each track over the meters. R button: Resets the calculation of the IL for the master track.
- Lower right < button: Hides the entire meters area if you only need the graph area to be visible.
Graph Area:
The graph display is a representation of the meters in time and it is linked to REAPER timeline.
Graph Menu:
- HeDa Loudness Graph button: Displays the change log
- Options: Opens the options panel with different settings described later.
- Help: Opens the help panel with quick reference and a button for online full documentation page.
- About: Displays about panel, with patrons and credits.
- Dock/Undock window: Toggles between a floating window and a docked window.
Graph Toolbar:
- Click the ML/SL/IL button on the top left → switch between modes (Momentary Loudness, Short term Loudness, Integrated Loudness analysis). It affects both the meters and the graph.
- Graph type: Toggles between some representation modes. Fill mode consumes more CPU.
- Show/Hide Regions and markers: This button toggles the display of the regions on the graph.
- Display presets: there are 9 numbers to Save or Recall presets on the hide/show status of the tracks click the number with the right mouse button to Save the preset. It will become a green used slot. Click with left button to recall that preset. Active preset is in yellow.
- Groups G1 G2 G3 Display presets: There are 3 groups of displays that are automatically assigned by the track's prefixes. You can setup the prefixes in options.
- Zoom to Time Selection: zoom to the current time selection. If the graph is not displayed or the zoom is out of range for some reason, use this to quickly reset the zoom to specific area.
- Auto Scroll will always have the current play cursor position visible.
- Clear: Erases all the graphs.
- RESET: Sends the Loudness VST template again forcing a reset of the IL calculations.
- Overs: to toggle the highlight in red of loud areas above a specific threshold you can set in the options.
- Insert Markers at Overs: Inserts MArkers or Regions (defined in options ) where the overs happen. (range defined in options for SL and ML, and always -23 for IL)
- Clear Markers: Remove Overs Markers or Regions
Graph area:
- Graph zooming and panning: Click with the middle mouse button and drag to pan the view. Use the mouse wheel to zoom in and out in the graph.
- Click anywhere on the graph: Changes edit/play cursor position
- Left Drag on graph to the right: Creates a time selection of the defined area. Play cursor will go to the beginning of the time selection and start analyzing that part for Integrated Loudness. When cursor reaches the end of the selection it will stop calculating the IL and will display the final value and Maximum values. You need to select first which track to analyze by right clicking on the meter of the track to analyze.
- ESC key: Removes time selection.
- Right click anywhere on graph: Disable current track analysis.
- SHIFT + Mousewheel: Changes the opacity of the filled graphs.
- CTRL + Mousewheel: Changes the vertical scale.
Track Analysis
- Enable track analysis: Right mouse click on Meter track to for that particular track. It can be the master track or one of the tracks. When a track is armed for analysis, you can hover on the graph and a dot will appear displaying the graph value at that point for that track. When the play cursor enters the time selection area, it will reset the dpMeter and start analyzing the IL for that time selection and that track. When the play cursor reaches the end of the time selection the final IL value will be displayed on the graph.
- Disable track analysis: Right mouse click anywhere on graph
Options:
- Analyze Master Track: Show / Hide the master track meter and graph. Default: No
- Display Meters IL: Show / Hide the IL numbers of each track over the meters. Default: Yes
- ML/SL level: Defines the level at which the overs are highlighted in red for SL and ML graphs. IL will always use -23 level. Default -17
- Docker ID: REAPER doesn't support positioning the script's floating windows, and remember their positions in screensets. But you can dock the script window. Put it in its own docker and move that docker which are remembered in the screenset. The way to do this is to dock the script window, right clicking in the top of the script or title bar, and then use the little ! button in the docker and untick the "Attach Docker to main window". Now it will be floating around, but inside a docker. You can move the docker to another monitor and save the screenset. Next time you dock/undock the script it will remember the position in that monitor. Take note of the docker number provided in the Options window of the script. You can use that number to force docking to that docker on other projects that may have a different docker assigned.
- Theme: Three theme colors available. Dark, Medium and Light. Default Light.
- Fill opacity: Affects the opacity of the fill in filled graph mode. Fill opacity also depends on the number of analyzed tracks. You can also modify the value on the graph by using SHIFT + Mousewheel. Default 0.8
- Graph style: You can change that also with the toolbar button. Lines, Solid fill + Lines (uses more CPU), Solid Fill (uses more CPU)
- Regions styles: Affects the way the regions are displayed on the graph. Hidden, Top, Top + Lines, Top + Lines with less opacity, Filled region + Top rectangle, Filled regions only.
- Markers Display: Use it if you want to display regions only, or markers only, or both.
- G1 G2 G3 suffix: Define the suffix used to determine the G1 G2 and G3 groups. The number at the left also defines the margin display for the meter of that group. You can define any number from 0 to 14 for each group. Entering 0 will draw a fat meter using all the width. Entering 14 will display a thin line meter. Groups are used to quickly have access to hide/show them in the graph by using the G1 G2 and G3 buttons on the toolbar. So you know that all tracks with certain suffix will be displayed when you click G1 for example. Defaults: G1: BUS, G2: FOLDER, G3: INSTRUMENT
- Master Color: Click to define the color of the master track. Default to White.
- Insert overs as: When you click Insert overs it will insert Regions or Markers as defined here.
- Display Track Icons: It consumes more CPU, so it can be disabled if you have many tracks. Default: Yes.
Tips
- It is recommended a powerful CPU if you intend to analyze many tracks at the same time.
- Sometimes, the graph is not drawn correctly, leaving gaps. Why is this? REAPER is giving more priority to other drawing operations, like panning around for example, or you may have a dialog window opened and the script is not updated in the background. If you see blank spots on the graph while doing this, you can rewind, play without panning or doing anything else, and let the graph be redrawn. Another reason can be that you are analyzing more tracks than your CPU can.
- If you zoom out too much it will use more CPU than if you zoom in to a small time area. This is because it has to redraw more data. You may only notice it if you have many tracks or a small CPU.