No description
Find a file
2021-12-18 21:12:19 -06:00
images Add readme examples 2021-12-18 21:08:15 -06:00
src Clean up unused template code 2021-12-18 19:54:58 -06:00
.editorconfig Initial commit 2021-12-17 18:25:41 -06:00
.eslintignore Initial commit 2021-12-17 18:25:41 -06:00
.eslintrc Initial commit 2021-12-17 18:25:41 -06:00
.gitignore Add animated metronome, tooltips, and size property 2021-12-18 18:25:08 -06:00
.stylelintrc.json Add initial metronome work 2021-12-18 15:46:45 -06:00
esbuild.config.mjs Add initial metronome work 2021-12-18 15:46:45 -06:00
LICENSE Add license 2021-12-18 21:12:19 -06:00
main.css Add animated metronome, tooltips, and size property 2021-12-18 18:25:08 -06:00
manifest.json Add initial metronome work 2021-12-18 15:46:45 -06:00
package.json Add animated metronome, tooltips, and size property 2021-12-18 18:25:08 -06:00
README.md Add readme examples 2021-12-18 21:08:15 -06:00
styles.css Add support for beeps instead of clicks. Rename 'sound' property to 'muted' 2021-12-18 19:13:33 -06:00
tsconfig.json Initial commit 2021-12-17 18:25:41 -06:00
versions.json Initial commit 2021-12-17 18:25:41 -06:00

Obsidian Metronome 🎵

Use this plugin to add interactive metronomes to your notes. Use just the visual metronome or turn on a click or beep. Customize the tempo, meter, sound, size, and more. Pair it with obsidian-plugin-abcjs to have your score and metronome living in harmony in a single note! 🎵

Kiku

Why?

I use obsidian-plugin-abcjs for writing out music notation in Obsidian and sometimes during live performances I have a need to know what tempo to play a song. This plugin provides a visual metronome that I can have right alongside my music that serves as a great reminder of the correct tempo for a live performance. During practice, I can unmute it and practice alongside it as it clicks on the beat.

Getting Started

  1. In Obsidian, go to Settings > Community Plugins and disable safe mode if it is enabled.
  2. Select Browse and search for the Metronome plugin.
  3. Install the plugin.
  4. Enable the plugin.
  5. Open a note and place a code block in your note like the one below. Give it a bpm (beats per minute) for your tempo. In the example below, I've set bpm to 120.
# My basic metronome

```metronome
bpm: 120
```

This produces a visual metronome in your note. By default it is muted, but you can press the unmute button to hear it click (or change the muted option so it clicks by default — see below for more options).

Kiku

You can customize the metronome further:

# My more fancy metronome

```metronome
bpm: 120
meter: 12/8
size: large
sound: beep
beepTick: A5
beepTock: A4
```

Metronome Options

These are all the options you can change when creating a metronome. Only the bpm option is required.

Option Type Description Default
bpm number Tempo in beats per minute. Must be greater than 0. (required)
meter string The time signature (meter) to play in. The bottom number must be 1, 2, 4, 8, 16, 32, or 64. Examples: 4/4, 3/4, 6/8, 12/8. 4/4
muted yes or no Whether or not the metronome's audio starts muted. yes
autoStart yes or no Whether or not the metronome starts flashing visually right away. If autoStart is yes and muted is no, then the metronome's sound will also start playing immediately. yes
size small, medium, or large Control the size of the metronome in the note. small
sound click or beep Control whether the metronome clicks or beeps when unmuted. click
beepTick string When sound is set to beep, this determines the pitch of the downbeat, specified in scientific pitch notation. (For example, middle C is C4.) If there is no meter, every beat is considered a downbeat. C6
beepTock string When sound is set to beep, this determines the pitch of the upbeat, specified in scientific pitch notation. (For example, middle C is C4.) If there is no meter, every beat is considered a downbeat. C5

Examples

Small metronome in 6/8 time that does not autostart

Looks great in dark mode too!

Include alongside music notation

The metronome works great when placed alongside music notation using the obsidian-plugin-abcjs plugin.