mrrepac38 downloadsAdvanced sidebar audio player for songwriting: waveform, work marker, A-B loop zone, play counters and hotkeys. Playback survives note scrolling and closing the panel.
An advanced sidebar audio player for songwriting.
Obsidian's embedded audio unloads as the note scrolls, and playback cuts off. Songwriter keeps the player in its own side panel: scroll your lyrics as much as you like — the music keeps playing. Playback even survives closing the panel (the sound lives in the plugin, not in the UI).
Читаете по-русски? Есть русская версия README.
![[song.mp3]] or a link [[song.mp3]]). If music is already playing, it offers
to switch with a small banner instead of interrupting. The mode is configurable:
hybrid / always / manual.▶ 27 · 2h40m).
A run only counts once 5 seconds have actually sounded (start-and-stop does not
count; pause-and-resume keeps accumulating). Every loop-zone pass is a new run.
Listened time accumulates only while sound is actually playing. Right-click the
counter to reset both.Ctrl+Alt+S) to jump to the
note the track was picked up from: if it is open in a tab, that tab is focused,
otherwise the note opens; if the source is unknown, any note linking to the file is
used.Unload track command):
the player clears and holds nothing while you work on other things; the hotkeys
cannot fire by accident. Load a track again with the "Load audio from the note"
button or just by opening a note with audio.Open track in default app, Reveal track in system explorer. The embedded-player buttons can be turned
off in settings.The marker and the zone are visible right on the waveform (an orange flag and a highlighted fragment) — there are no separate indicators in the panel. Time, buttons and volume share a single line under the waveform.
All commands can be rebound in Settings → Hotkeys. The Russian keyboard layout is duplicated out of the box.
| Command | Keys |
|---|---|
| Play from marker (or from start) | Ctrl+Alt+X |
Stop (double press: the next Ctrl+Alt+X plays from the start, marker intact; triple: the marker and the zone are deleted) |
Ctrl+Alt+C |
| Set marker at current position | Ctrl+Alt+A |
| Play/Pause | Ctrl+Alt+P |
| Open track's note | Ctrl+Alt+S |
| Seek back / forward | Ctrl+Alt+, / Ctrl+Alt+. |
Without default keys: Clear marker, Clear A-B loop zone, Load audio from current note, Open player panel, Unload track, Open track in default app, Reveal track in system explorer.
Besides the basics (pickup mode, seek step, start from marker) there is a fine-tuning section: the play-count threshold, the double-stop window, the waveform height, and the embedded-player button.
Markers, loop zones and counters are stored in the plugin's data.json, keyed by the
audio file path; when a file is renamed inside the vault, its data moves along
automatically.
The interface follows Obsidian's language (English, or Russian when the app is set to Russian), works on desktop and mobile ("open externally" needs desktop).
npm install
npm run build # tsc typecheck + esbuild → main.js
npm run dev # watch mode
Author: mrrepac · MIT