Music metadata

// @title My Cool Song
// @by John Doe
// @license CC-BY-SA-4.0

Alternative syntax

You can also use comment blocks:

/*
@title My Cool Song
@by John Doe
@license CC-BY-SA-4.0
*/

Or define multiple tags in one line:

// @title My Cool Song @by John Doe @license CC-BY-SA-4.0

The title tag has an alternative syntax using quotes (must be defined at the very begining):

// "My Cool Song" @by John Doe

Tags list

Available tags are:

  • @title: music title
  • @by: music author(s), separated by comma, eventually followed with a link in <> (ex: @by John Doe <https://example.com>)
  • @license: music license(s), separated by comma. Each license should be specified by using the correct identifier in the [https://spdx.org/licenses/](SPDX License List). Example: CC-BY-SA-4.0. Unsure? Choose a Creative Commons license here.
  • @details: some additional information about the music
  • @url: web page(s) related to the music (git repository, Soundcloud link, etc.)
  • @genre: music genre(s) (pop, jazz, etc.)
  • @album: music album name
  • @tag: custom tag

Note to tool authors: Never trust that a song has filled those fields with syntactically correct values; make sure your software is robust enough it doesn’t break if it encounters bad values

Multiple values

Some of them accepts several values, using the comma or new line separator, or duplicating the tag:

/*
@by John Doe
  Jane Doe
@genre pop, jazz
@url https://example.com
@url https://example.org
*/

You can also add optional prefixes and use tags where you want:

/*
song @by John Doe
samples @by Jane Doe
*/
...
note("a3 c#4 e4 a4") // @by Sandy Sue

Multiline

If a tag doesn’t accept a list, it can take multi-line values:

/*
@details I wrote this song in February 19th, 2023.
       It was around midnight and I was lying on
       the sofa in the living room.
*/

Searching meta-data in the online repl

Meta-data can be used in the search field of the patterns tab in the online repl.

For example to search for all patterns by a specific author use the search term

by: Ada L

or search for patterns with a specific genre like

genre: unicorns

Hint: If no meta-data property is provided in the search all patterns with a @title, @by or @tag matching the search term will be shown.