Skip to content

junhsss/metronome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metronome

A precise, terminal-based CLI metronome.

animated

Install

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/junhsss/metronome/releases/download/v0.1.0/metronome-installer.sh | sh

Run

metronome [OPTIONS] [BPM] [SUBCOMMAND]

Examples

# Start at 100 BPM
metronome 100

# Specify signature, subdivision, sound, and BPM flag
metronome --signature 7/8 --subdivision sixteenth --sound wood --bpm 140

# Ramp from 100 to 140 BPM over 2 minutes
metronome ramp "100..140@2m"

# Tap tempo, then start at the measured BPM
metronome tap

Options

  • [BPM]: optional positional BPM (20–400). Overrides --bpm when provided.
  • -b, --bpm : starting BPM (20–400). Default: 120.
  • -s, --signature <M/N>: time signature (denominator one of 1,2,4,8,16). Default: 4/4.
  • --subdivision <quarter|eighth|triplet|sixteenth>: ticks per beat. Default: quarter.
  • --sound <click|wood|cowbell|sidestick|beep>: click sound. Default: click.
  • --mute: disable audio output.

Subcommands

  • tap: tap tempo on the keyboard; the measured BPM is applied to the session.
  • ramp FROM..TO@DURATION: linearly ramp BPM over a duration.
    • Examples: 120..160@2m, 90..120@30s, 100..80@500ms.

Keyboard controls (while running)

  • Space: Play/Pause
  • q / Esc: Quit
  • ↑ / ↓: BPM ±1
  • ← / →: BPM ±5
  • s: Cycle subdivision (quarter → eighth → triplet → sixteenth)
  • Tab: Cycle common signatures (4/4 → 3/4 → 6/8 → 7/8)
  • h: Toggle on-screen help