Is there an addon for making the timeline BPM-based?
Timeline markers.

Have a vague recollection of Rhythm. To display on timeline Could use timeline markers. 



Test script. 180 bpm at 24 fps comes out as 8 frames per beat (fpb). A timeline marker is added at every fpb frames starting from 1. The "|" name can be set to nothing "", or whatever. 

import bpy
scene = bpy.context.scene

bpm = 180
fps = scene.render.fps
fpb = 60 * fps / bpm
print("frames per beat", fpb)
frame = scene.frame_start
while frame &lt; scene.frame_end:
    scene.timeline_markers.new("|", frame)
    frame += fpb