TT-BPM2MS2HZ — User Manual

ReaScript for REAPER + web app // Version 1.5.1 // TimTechlor

TT-BPM2MS2HZ turns the tempo into numbers you can type into a plug-in: every note value from 1/1 to 1/32 — plain, dotted and triplet — as milliseconds and Hertz, plus whole bars as seconds. It runs as a window inside REAPER that follows the project tempo, and in your browser with no install.

01Three editions

All three editions compute the same numbers with the same formulas. They differ only in where the tempo comes from and how you read the result.

EditionTempo fromGet it
REAPER window (ReaImGui)the project tempo, or a manual tempoReaPack package TT-BPM2MS2HZ (section 02); this manual describes it from section 03 on
Web editiontyped in, slider or TAPtimtechlor.de/BPM2MS2HZ — runs in any browser, nothing to install (section 09)
Console editionthe project tempoTT_BPM_Converter.lua, download from the web edition; prints the table into the REAPER console

02Install

  1. Install ReaPack (one file into the UserPlugins folder, restart REAPER).
  2. Extensions → ReaPack → Import repositories…, paste
    https://raw.githubusercontent.com/timtechlor/reapack-TimTechlor/main/index.xml
  3. Extensions → ReaPack → Browse packages, search for BPM2MS2HZ (the package is listed as TT-BPM2MS2HZ; up to version 1.0.0 it was called “BPM2MS2HZ Calculator”), install, Apply.
  4. The window needs ReaImGui (“ReaImGui: ReaScript binding for Dear ImGui”, repository ReaTeam Extensions, which ReaPack ships with). Install it the same way and restart REAPER.
  5. Run it from Actions → Show action list → search “BPM2MS2HZ”. Bind it to a key or a toolbar button if you use it often.
The file name and the saved settings stay the same, so an update through ReaPack keeps your key binding, toolbar button, time signature and options. On the first start, 1.5.0 sets the window to its new default size once.
The console edition has no dependencies: Actions → Show action list → New action → Load ReaScript… and pick TT_BPM_Converter.lua. Each run clears the console and prints the table for the current project tempo.

03The window at a glance

The window is drawn in the TimTechlor UI kit look, like the plug-in fronts: dark panels, Acid Green accents, LED switches. From top to bottom:

Hold the mouse over any control for a moment and a tooltip explains it. In a wide window the TEMPO panel and the table sit side by side; in a tall window they are stacked. The window picks the arrangement that shows everything at the larger size.

TT-BPM2MS2HZ in a wide window: TEMPO panel on the left, BARS tab on the right with the time signature buttons and bars 1 to 64 in seconds and Hertz
WIDEWide window, BARS tab. TEMPO on the left, the table on the right. The time signature buttons set the bar length.

04Tempo

05Reading the tables

ms  = 60000 / BPM × beats      (1 beat = 1 quarter note)
Hz  = 1000 / ms
LabelMeaningFactorRow colour
1/4plain note value, here one beat×1green
1/4.dotted×1.5grey
1/4Ttriplet×2/3white

NOTE VALUES runs from 1/1 to 1/32, each with its dotted and triplet variant (both can be hidden in OPTIONS). Milliseconds have one decimal, Hertz three.

BARS lists 1, 2, 4, 8, 16, 32 and 64 bars as seconds and Hertz. Pick the time signature first with the buttons next to TIME SIG (4/4, 3/4, 5/4, 7/4, 6/8, 9/8, 12/8): a 6/8 bar is six eighth notes, so it is shorter than a 4/4 bar. The info line under the tempo slider uses the same time signature. The choice is saved.

Example at 128 BPM: one beat is 60000 / 128 = 468.75 ms, so 1/4 reads 468.8 ms and 2.133 Hz, and one 4/4 bar is 1.875 s. At 120 BPM: 1/4 = 500.0 ms = 2.000 Hz, 1/4. = 750.0 ms, 1/4T = 333.3 ms.

06Copying values

Click any value in the MS, SEC or HZ column: it is copied to the clipboard exactly as shown (for example 468.8), and the footer confirms it with >> copied: 468.8. Paste it into the plug-in field with Ctrl+V (Cmd+V on macOS). The value under the mouse lights up green before you click.

07OPTIONS

The OPTIONS button in the header opens the OPTIONS box. While it is open, the rest of the window does not react to clicks; click OPTIONS again or anywhere outside the box to close it. Every setting is saved and survives REAPER restarts.

OPTIONS box of TT-BPM2MS2HZ: TOOLTIPS ON switch in the title row, UI SIZE buttons 100 to 300 percent, AUTO FIT ON switch, FONT SIZE minus and plus, DOTTED and TRIPLETS switches, WATERMARK switch
OPTIONSThe OPTIONS box. Tooltips, window size, text size, note variants and watermark.
ControlWhat it does
TOOLTIPS ON / OFFShows or hides the tooltips of all controls. Default: on.
UI SIZE 100 / 125 / 150 / 200 / 300 %Resizes the window so that its content is shown at that size. The highlighted button is the current size.
AUTO FIT ON / OFFOn (default): when you drag the window edge, the content rescales to the new window size — the largest whole percentage at which everything fits, 25 to 400 % — and stays centred; no scrollbars. A UI SIZE button still sets a fixed size, which holds until you change the window again. Off: the size stays where it is; if the window is smaller than the content, scrollbars appear. Switching AUTO FIT on fits the content to the window at once. “now” shows the current size.
FONT SIZE − / +Text size of the tempo number, the info lines and the tables, from 80 to 150 % in 5 % steps. The window rescales so that the larger tables still fit.
DOTTED 1/4. / TRIPLETS 1/4TShow or hide the dotted and the triplet rows of NOTE VALUES.
WATERMARKShows or hides the faint Tim Techlor wordmark in the background.

08In practice

Delay times

Read the MS column and type the value into a delay that has no host sync. At 128 BPM the dotted eighth (1/8., 351.6 ms) is the classic ping-pong spacing; a plain 1/4 is 468.8 ms.

LFO rates

The HZ column is the LFO speed that locks to the grid: at 128 BPM, 1/4 = 2.133 Hz and 1/16 = 8.533 Hz. Auto-pan, tremolo and filter sweeps then move with the track instead of drifting against it.

Release and sidechain

Whole bars come as seconds: 1 bar = 1.875 s at 128 BPM. A compressor release of one bar keeps the pump breathing with the track instead of choking it; for a tight kick duck, start from the 1/8 or 1/16 value.

Arrangement

How long is a 16-bar break at 128 BPM? The BARS tab says 30.000 s. Useful for risers, transitions and for checking whether a loop fills exactly two bars.

09Web edition

The web edition reproduces the console output of the REAPER console edition line by line. It lists bars from 1 to 32 and assumes 4/4.

BPM2MS2HZ web edition in popup mode at 128 BPM: tempo field and slider on top, below the console table with note values 1/1 to 1/32 (plain, dotted, triplet) in milliseconds and Hertz and whole bars in seconds
WEBThe web edition in popup mode at 128 BPM. Tempo on top, the console table below: note values in ms and Hz, whole bars in seconds and Hz.

10Troubleshooting

11Changelog

1.5.1

1.5.0 — TT-BPM2MS2HZ, UI kit look

1.0.0