Note Player
pendingby Beomsu Koh
Play note-backed playlists with YouTube, cached audio, and local files.
Obsidian Note Player
Your notes are your playlist. Turn any Obsidian note into a music playlist—add YouTube links, play them as audio inside your vault, and keep your music library where your knowledge lives.
Why Note Player?
Most music players live in isolation. Obsidian Note Player bridges the gap: your playlists are just Markdown notes. Add YouTube URLs, organize them with your thoughts and metadata, and play them without leaving your vault. It's a minimal, focused audio experience powered by yt-dlp and local caching—no embedded videos, no distractions, just your music.
Features
- Turn notes into playlists — Use Obsidian's native embed syntax (
![]()) to add YouTube URLs - Minimal audio player — Pure audio-focused interface, not a video embed
- Local audio caching — Downloaded audio is cached locally via yt-dlp for instant playback
- Local file support — Play audio files stored in your vault or elsewhere
- Note-backed library — Your music lives in Markdown alongside your knowledge
- Persistent queue — Your current selection survives between sessions
- Keyboard controls — Full playback control from your keyboard
- Companion Bases — Auto-generate Music and Playlist database views for organization
- Flexible schema — Customize frontmatter properties for URLs, artist, cover art, and more
Requirements
Desktop only. Obsidian Note Player requires:
- Obsidian 0.15.0 or later
- yt-dlp installed on your system — for downloading audio from YouTube
Install yt-dlp:
# macOS (via Homebrew)
brew install yt-dlp
# Linux (via apt)
sudo apt install yt-dlp
# Windows (via Chocolatey)
choco install yt-dlp
# Or via pip (any platform)
pip install yt-dlp
Installation
From Community Plugin Browser (Coming Soon)
Obsidian Note Player is in review for the community plugin store. For now, use BRAT or manual installation.
From BRAT (Beta Releases for Obsidian)
- Install BRAT
- Go to Settings > BRAT > Add a beta plugin
- Paste:
https://github.com/GoBeromsu/obsidian-note-player - Click Add plugin
- Enable Obsidian Note Player in Settings > Community Plugins
Manual Installation
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create
.obsidian/plugins/note-player/in your vault root - Copy the three files into that directory
- Restart Obsidian or reload plugins
- Enable Obsidian Note Player in Settings > Community Plugins
Build from Source
git clone https://github.com/GoBeromsu/obsidian-note-player.git
cd obsidian-note-player
pnpm install
pnpm run build
Copy the contents of the output directory to .obsidian/plugins/note-player/ in your vault.
Usage
Create a Playlist Note
A playlist note is a regular Markdown file with YouTube URLs embedded using Obsidian's syntax:
---
type: playlist
tracks:
- youtube-url-1
- youtube-url-2
---
# My Favorite Songs


The plugin scans notes for embeds and automatically builds your library. Each note can be a playlist, or notes with YouTube URLs become individual tracks in your music library.
Customize with frontmatter:
---
type: playlist
cover: https://example.com/cover.jpg
description: A curated collection of favorites
tracks:
- youtube-url-1
- youtube-url-2
---
Open the Player
- Click the play icon in the Obsidian ribbon (left sidebar)
- Or use the command: Open Note Player
The player panel opens in a sidebar tab. Your library appears automatically.
Player Controls
- Play/Pause — Click the play button or press spacebar
- Next/Previous — Click arrow buttons or use arrow keys
- Seek — Click the progress bar or drag the slider
- Queue — Click any track in the queue to play it
- Repeat — Toggle repeat modes: Off, Repeat One
- Autoplay — Continue to next track automatically
Player Commands
Use Obsidian's command palette (Cmd/Ctrl + P) for quick actions:
- Open Note Player — Show the player panel
- Refresh music library — Rescan all notes for YouTube links
- Load active playlist note — Load the currently viewed note as a playlist
- Add active note to selected playlist — Add the current note's URLs to a playlist
- Create or refresh companion Bases — Generate database views
Organize with Companion Bases
The plugin can generate Music.base and Playlists.base files—Obsidian database views that let you browse, sort, and organize your music library.
Run: Create or refresh companion Bases from the command palette.
Two files appear in your playlist folder:
- Music.base — All music tracks with artist, thumbnail, and properties
- Playlists.base — All playlists with track count and metadata
Configuration
Open Settings > Obsidian Note Player to customize:
Folder Structure
Playlist folder — Where new playlists are created (default: empty = vault root).
Music Note Mapping
Define which frontmatter properties the plugin reads:
- URL properties — Priority-ordered properties to find YouTube URLs (default:
youtube,url) - Thumbnail properties — Where to look for cover artwork (default:
thumbnail,cover) - Artist properties — Where to find artist/author metadata (default:
artist,author)
Playlist Schema
Customize the frontmatter structure used in playlist notes:
- Track list property — Frontmatter key storing ordered track references (default:
tracks) - Description property — For playlist descriptions (default:
description) - Cover property — For playlist cover images (default:
cover) - Music note type — Frontmatter
typevalue for music notes (default:music) - Playlist note type — Frontmatter
typevalue for playlists (default:playlist)
Playback
- Auto-open on startup — Open the player when Obsidian launches
- Audio format — Choose between MP3 and WAV for cached files
- Repeat mode — Default repeat behavior (Off or Repeat One)
- Autoplay — Automatically play next track when current track ends
Screenshots
Player showing queue, current track details, and playback controls.
Music library with all detected tracks, sortable and searchable.
Keyboard Shortcuts
| Key | Action |
|---|---|
| Space | Play/Pause |
| → | Next track |
| ← | Previous track |
| R | Toggle Repeat |
| A | Toggle Autoplay |
Troubleshooting
"yt-dlp not found" error
The plugin cannot find yt-dlp on your system. Make sure it's installed and in your PATH:
# Test if yt-dlp is installed
which yt-dlp
# or
yt-dlp --version
If not installed, see the Requirements section.
Audio not playing
- Ensure yt-dlp is installed and working
- Check that YouTube URLs are valid and publicly accessible
- Try Refresh music library from the command palette
- Enable Debug mode in settings and check the console for errors
Playlist not appearing
- Verify the note contains valid YouTube URLs with Obsidian's embed syntax:
 - Check frontmatter
type: playlistmatches your settings - Run Refresh music library to force a rescan
Permission errors on audio cache
Ensure the plugin has write access to your vault directory. On some systems, the audio cache folder may need explicit permissions:
chmod -R u+w .obsidian/plugins/note-player/
Privacy
Obsidian Note Player stores downloaded audio locally on your device. No audio is sent to external servers beyond YouTube for the initial download via yt-dlp.
License
MIT — See LICENSE for details.
Author
Contributing
Issues and pull requests welcome on GitHub.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.