All Projects → voltraco → node-taglib2

voltraco / node-taglib2

Licence: MIT license
A rewrite of the now unmaintained node-taglib

Programming Languages

C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to node-taglib2

Music Metadata
Stream and file based music metadata parser for node. Supporting a wide range of audio and tag formats.
Stars: ✭ 455 (+1037.5%)
Mutual labels:  metadata, tags
metadata-action
GitHub Action to extract metadata (tags, labels) from Git reference and GitHub events for Docker
Stars: ✭ 492 (+1130%)
Mutual labels:  metadata, tags
Atldotnet
Fully managed, portable and easy-to-use C# library to read and edit audio data and metadata (tags) from various audio formats, playlists and CUE sheets
Stars: ✭ 180 (+350%)
Mutual labels:  metadata, tags
audio-tag-analyzer
Extracts metadata music metadata found in audio files
Stars: ✭ 18 (-55%)
Mutual labels:  metadata, tags
Music Metadata Browser
Browser version of music-metadata parser Supporting a wide range of audio and tag formats.
Stars: ✭ 105 (+162.5%)
Mutual labels:  metadata, tags
Pytaglib
Python audio tagging library
Stars: ✭ 115 (+187.5%)
Mutual labels:  metadata, tags
Savify
Download Spotify songs to mp3 with full metadata and cover art!
Stars: ✭ 227 (+467.5%)
Mutual labels:  metadata, tags
attributes
PHP Attributes Reader. Subtree split of the Spiral Attributes component (see spiral/framework)
Stars: ✭ 22 (-45%)
Mutual labels:  metadata
tinyPornManager
Made for pornhub. Fork from tinyMediaManager v3
Stars: ✭ 57 (+42.5%)
Mutual labels:  metadata
siskin
Tasks around metadata.
Stars: ✭ 20 (-50%)
Mutual labels:  metadata
gitlab-release-note-generator
A Gitlab release note generator
Stars: ✭ 88 (+120%)
Mutual labels:  tags
seo-fu
📖 A simple HTML file filled with tags and documentation
Stars: ✭ 25 (-37.5%)
Mutual labels:  tags
metadata
oracle,mysql,sql server 元数据管理表生成
Stars: ✭ 45 (+12.5%)
Mutual labels:  metadata
diskover-community
Diskover Community Edition - Open source file indexer, file search engine and data management and analytics powered by Elasticsearch
Stars: ✭ 1,257 (+3042.5%)
Mutual labels:  metadata
fastHistory
A python tool connected to your terminal to store important commands, search them in a fast way and automatically paste them into your terminal
Stars: ✭ 24 (-40%)
Mutual labels:  tags
metadata-qa-marc
QA catalogue – a metadata quality assessment tool for library catalogue records (MARC, PICA)
Stars: ✭ 59 (+47.5%)
Mutual labels:  metadata
scif
scientific filesystem: a filesystem organization for scientific software and metadata
Stars: ✭ 30 (-25%)
Mutual labels:  metadata
metabadger
Prevent SSRF attacks on AWS EC2 via automated upgrades to the more secure Instance Metadata Service v2 (IMDSv2).
Stars: ✭ 123 (+207.5%)
Mutual labels:  metadata
nipper
🌶 💽 Nipper - Youtube playlist (& video) ripper
Stars: ✭ 23 (-42.5%)
Mutual labels:  tags
11r
America's favorite Eleventy blog template.
Stars: ✭ 135 (+237.5%)
Mutual labels:  tags

SYNOPSIS

taglib version 2 bindings

BUILD STATUS

Build status

INSTALLATION

OSX/Linux

You need to have installed a proper C/C++ compiler toolchain, like GCC (For OSX please download Xcode and Command Line Tools)

Windows

You need to have Visual C++ Build Environment setup, which you can download as a standalone Visual C++ Build Tools package or get it as part of Visual Studio 2015.

USAGE

For example, with electron...

ELECTRON=1 npm install

WRITING TAGS

Note that track will overwrite tracknumber if specified in the same write.

const taglib = require('taglib2')
const mime = require('node-mime')
const fs = require('fs')

const props = {
  artist: 'Howlin\' Wolf',
  title: 'Evil is goin\' on',
  album: 'Smokestack Lightnin\'',
  comment: 'Chess Master Series',
  genre: 'blues',
  year: 1951,
  track: 3,
  tracknumber: '1/1',
  discnumber: '1/1',
  pictures: [
    {
      "mimetype": mime('./cover.jpg'),
      "picture": fs.readFileSync('./cover.jpg')
    } 
  ],
}

taglib.writeTagsSync('./file.mp3', props)

READING TAGS

const taglib = require('taglib2')
const tags = taglib.readTagsSync('./file.mp3')

OUTPUT

tags.pictures will be an array of buffers that contain image data.

{
  "artist": "Howlin' Wolf",
  "albumartist": "Howlin' Wolf",
  "title": "Evil is goin' on",
  "album": "Smokestack Lightnin'",
  "comment": "Chess Master Series",
  "composer": "Chester Burnett",
  "genre": "blues",
  "year": 1951,
  "track": 3,
  "tracknumber": "3/3",
  "discnumber": "1/1",
  "pictures": [
    {
      "mimetype": "image/jpeg",
      "picture": <Buffer ff d8 ff e0 00 10 4a 46 49 46 00 01 ... >
    } 
  ],
  "bitrate": 192,
  "bpm": 120,
  "samplerate": 44100,
  "channels": 2,
  "compilation": false,
  "time": "1:30",
  "length": 90
}
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].