No description
Find a file
Gordon Fontenot b8c626f214 Add the ability to use wikilinks for artists
This lets you create artist notes, and lets you add a more direct
connection between releases from the same artist
2026-07-08 11:51:36 -05:00
__mocks__ Fix test infrastructure and mbFetch error handling 2026-07-03 15:43:11 -05:00
src Add the ability to use wikilinks for artists 2026-07-08 11:51:36 -05:00
tests Add the ability to use wikilinks for artists 2026-07-08 11:51:36 -05:00
.gitignore Initial commit 2026-04-14 08:59:00 -05:00
esbuild.config.mjs Initial commit 2026-04-14 08:59:00 -05:00
eslint.config.mjs Fix linter issues in music_search_modal 2026-04-16 14:57:55 -05:00
jest.config.js Support "duplicate" entries 2026-06-05 14:28:29 -05:00
LICENSE Apply AGPL license 2026-04-15 12:10:37 -05:00
manifest.json Bump version: 1.1.0 2026-06-05 14:35:21 -05:00
package-lock.json Update typescript version and set up eslint 2026-04-16 14:39:58 -05:00
package.json Bump version: 1.1.0 2026-06-05 14:35:21 -05:00
README.md Add README 2026-04-15 12:14:57 -05:00
styles.css Align with Obsidian plugin guidelines 2026-04-16 10:17:06 -05:00
tsconfig.json Add jest and node types 2026-04-16 16:54:07 -05:00
tsconfig.test.json Support "duplicate" entries 2026-06-05 14:28:29 -05:00
versions.json Initial commit 2026-04-14 08:59:00 -05:00

Music Search

An Obsidian plugin that searches the MusicBrainz database and creates structured notes for music releases.

Features

  • Search for albums, EPs, singles, and other releases by artist, title, or both
  • Rich metadata: genres, tracklist, release date, cover art, MusicBrainz/Discogs/Wikipedia links
  • Optionally downloads cover art locally to your vault
  • Fully customisable note output via template variables, custom frontmatter fields, or a full template file

Usage

Open the command palette and run Search music release, or click the music note ribbon icon. Type an artist name, album title, or both, then select a result from the list. The plugin fetches full release details and creates a note in your configured folder.

Settings

Setting Description
Note destination folder Where new notes are saved. Leave empty for the vault root.
Note file name template Template for the note filename. Supports all {{variables}}. Default: {{artist}} - {{title}}
Tags Comma-separated tags added to every note's frontmatter.
Album art folder Folder to save downloaded cover images. When set, {{coverUrl}} and {{coverEmbed}} resolve to the local vault path instead of a remote URL. Leave empty to use remote URLs.
Open note after creation Automatically open the newly created note.
Show cover art in search results Display album artwork in the release picker.

Note Template

Two modes are available, selectable via the Note Template tab in settings:

Custom Fields — Extends the built-in default template with additional frontmatter fields. Each field can use {{variables}} in its value. This is the right choice if you just want to add a few extra properties.

Template File — Points to a Markdown file in your vault that is used as the full note template. All {{variables}} are substituted. Use this for complete control over note structure.

Template Variables

Variable YAML type Description
{{title}} string Album/release title
{{artist}} string Artist name(s)
{{artistMbid}} string Artist MusicBrainz ID
{{year}} string First release year (e.g. "1997")
{{date}} string First release date (e.g. 1997-05-21)
{{trackCount}} number Number of tracks
{{trackList}} string Formatted tracklist — use in the note body, not frontmatter
{{genres}} string[] Genres as a YAML list
{{genresInline}} string Genres as a comma-separated string
{{coverUrl}} string Cover art URL, or local vault path if art folder is configured
{{coverEmbed}} string Embedded cover art: ![[path]] for local files, ![](url) for remote — use in the note body, not frontmatter
{{mbid}} string MusicBrainz release group ID
{{releaseGroupMbid}} string MusicBrainz release group ID (alias for {{mbid}})
{{mbUrl}} string MusicBrainz release group URL
{{discogsUrl}} string Discogs master release URL
{{wikipediaUrl}} string Wikipedia article URL
{{releaseType}} string Release type (Album, Single, EP, etc.)
{{disambiguation}} string Disambiguation comment
{{tags}} string[] Custom tags from settings
{{DATE}} string Current date in YYYY-MM-DD format
{{DATE:FORMAT}} string Current date in a custom format, e.g. {{DATE:DD/MM/YYYY}}. Tokens: YYYY, MM, DD, HH, mm, ss

Default Template

When no template file is set and no custom fields are configured, the plugin generates a note like this:

---
tags: []
artist: Radiohead
title: OK Computer
genres:
  - alternative rock
  - art rock
album-art: "https://coverartarchive.org/..."
album-type: Album
track-count: 12
release-date: 1997-05-21
release-year: "1997"
disambiguation:
mbid: a7ccb528-da8a-11e8-b9e4-005056ad73f4
artist-mbid: a74b1b7f-71a5-4011-9441-d0b5e4122711
link-musicbrainz: "https://musicbrainz.org/release-group/..."
link-discogs: "https://www.discogs.com/master/..."
link-wikipedia: "https://en.wikipedia.org/wiki/OK_Computer"
---
![[Radiohead - OK Computer.jpg]]
## Tracklist

1. Airbag (4:44)
2. Paranoid Android (6:23)
...

Data Sources

Development

npm install
npm test
npm run build

Tests use Jest with ts-jest.

License

AGPL-3.0. See LICENSE.