All Projects → goto-bus-stop → get-artist-title

goto-bus-stop / get-artist-title

Licence: MIT license
Get the artist and title from a string, eg. a YouTube video title.

Programming Languages

javascript
184084 projects - #8 most used programming language

get-artist-title

Get the artist and title from a full song name, eg. a YouTube video title.

Installation

npm install get-artist-title

Usage

JavaScript

const getArtistTitle = require('get-artist-title')
getArtistTitle('Taylor Swift - Out Of The Woods')
//→ ['Taylor Swift', 'Out Of The Woods']

let [artist, title] = getArtistTitle('FEMM - PoW! (Music Video)')
//→ ['FEMM', 'PoW!']

CLI

$ npm install --global get-artist-title

$ format-artist-title

Usage
  $ format-artist-title <input>

Example
  $ format-artist-title "Ga-In (가인) - Nostalgia (노스텔지아) - Lyrics [Hangul+Translation] .mov"
  Ga-In (가인) – Nostalgia (노스텔지아)

API

getArtistTitle(string, options={})

Extract the artist and title from string. Returns an Array with two elements, [artist, title], or null if no artist/title can be found.

Possible options are:

  • defaultArtist - Artist name to use if an artist name/song title pair can't be extracted. The input string, minus any cruft, will be used as the song title.
  • defaultTitle - Song title to use if an artist name/song title pair can't be extracted. The input string, minus any cruft, will be used as the artist name.

It's useful to provide defaults if you're passing strings from an external service. For example, a YouTube video title may not always contain the artist name, but the name of the channel that uploaded it might be relevant.

const [artist, title] = getArtistTitle('[MV] A Brand New Song!', {
  defaultArtist: 'Channel Name'
})
// → ['Channel Name', 'A Brand New Song!']
// Assuming `video` is a Video resource from the YouTube Data API:
const [artist, title] = getArtistTitle(video.snippet.title, {
  defaultArtist: video.snippet.channelTitle
})

Licence

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].