Socket
Socket
Sign inDemoInstall

id3-writer

Package Overview
Dependencies
18
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    id3-writer

Binding to id3lib and eyeD3


Version published
Maintainers
1
Created

Readme

Source

ID3 Writer logo

ID3 Writer is a small and tested library for writing ID3 tags to MP3 files. We don't touch the files self - we speak to write adapters like id3lib/libid3-tools or eyeD3. So this library is just a wrapper around the CLI programs.

I don't plan to support Windows explicit. But if someone requests a pull for a write adapter with Windows support I will not reject it.

Build Status Gittip npm Downloads npm Version Dependency Status Code Climate Coverage Status

Features

  • Support for multiple write adapters
    • We check if some binaries are available to do the tasks
      • eyeD3 (0.6.x, 0.7.x)
      • id3lib/libid3-tools (3.8.x)
  • Support for ID3v1 and ID3v2
    • ID3v2 Tags need some validation at this point
  • Support for converting the encoding of the given tags
  • Support for writing images to the MP3 files (eyeD3 only atm)

Getting Started

Installation

$ npm install id3-writer

API

Simply write ID3 tags

// Load and assign modules
var id3 = require('id3-writer');
var writer = new id3.Writer();

var file = new id3.File('/tmp/your.mp3');
var meta = new id3.Meta({
    artist: 'Blur',
    title: 'Song 2',
    album: 'Blur'
});

writer.setFile(file).write(meta, function(err) {

    if (err) {
        // Handle the error
    }

    // Done
});

Write ID3 tags with an additional image

// Load and assign modules
var id3 = require('id3-writer');
var writer = new id3.Writer();

var mp3 = new id3.File('/tmp/your.mp3');
var coverImage = new id3.Image('/tmp/cover.png');

var meta = new id3.Meta({
    artist: 'Blur',
    title: 'Song 2',
    album: 'Blur'
}, [coverImage]);

writer.setFile(mp3).write(meta, function(err) {

    if (err) {
        // Handle the error
    }

    // Done
});

Supported metadata

TagDescriptionlibid3 noteseyeD3 notes
artistArtist of the song--
title (compatibility: song)Title of the song--
albumAlbum of the song--
commentFurther user comments--
descUser comment description-Same as comment
genreGenre of the songNeeds to be a genre numberAll is possible: std ID3 genre names, ids and any other
yearThe year the song was recorded--
trackPosition of the track on the album--
totalAmount of tracks on the album--
ID3 genre list
IdNameIdNameIdNameIdName
0Blues37Sound Clip74Acid Jazz112Club
1Classic Rock38Gospel76Retro113Tango
2Country39Noise77Musical114Samba
3Dance40AlternRock78Rock & Roll115Folklore
4Disco41Bass79Hard Rock116Ballad
5Funk42Soul80Folk117Power Ballad
6Grunge43Punk81Folk-Rock118Rhythmic Soul
7Hip-Hop44Space82National Folk119Freestyle
8Jazz45Meditative83Swing120Duet
9Metal46Instrumental Pop84Fast Fusion121Punk Rock
10New Age47Instrumental Rock85Bebob122Drum Solo
11Oldies48Ethnic86Latin123A Cappella
12Other49Gothic87Revival124Euro-House
13Pop50Darkwave88Celtic125Dance Hall
14R&B51Techno-Industrial89Bluegrass126Goa
15Rap52Electronic90Avantgarde127Drum & Bass
16Reggae53Pop-Folk91Gothic Rock128Club-House
17Rock54Eurodance92Progressive Rock129Hardcore
18Techno55Dream93Psychedelic Rock130Terror
19Industrial56Southern Rock94Symphonic Rock131Indie
20Alternative57Comedy95Slow Rock132BritPop
21Ska58Cult96Big Band133Negerpunk
22Death Metal59Gangsta Rap97Chorus134Polsk Punk
23Pranks60Top 4098Easy Listening135Beat
24Soundtrack61Christian Rap99Acoustic136Christian Gangsta Rap
25Euro-Techno62Pop / Funk100Humour137Heavy Metal
26Ambient63Jungle101Speech138Black Metal
27Trip-Hop64Native American102Chanson139Crossover
28Vocal65Cabaret103Opera140Contemporary Christian
29Jazz+Funk66New Wave104Chamber Music141Christian Rock
30Fusion67Psychedelic105Sonata142Merengue
31Trance68Rave106Symphony143Salsa
32Classical69Showtunes107Booty Bass144Thrash Metal
33Instrumental70Trailer108Primus145Anime
34Acid71Lo-Fi109Porn Groove146JPop
35House72Tribal110Satire147Synthpop
36Game73Acid Punk111Slow Jam148Rock/Pop

Running Tests

To run the test suite just run the following command, which installs the development dependencies:

$ npm install

Run the tests with:

$ make test

Keywords

FAQs

Last updated on 28 Feb 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc