interbred-monkey / id3_reader

A Node.js ID3 Tag reader
15 stars 6 forks source link

Read data is unknow. Other id3 readers correctly read data. #1

Closed benkaiser closed 9 years ago

benkaiser commented 10 years ago

When running the following code:

var id3_reader = require('id3_reader');
var track = "song.mp3";
id3_reader.read(track, function(success, msg, data) {
  console.log(data);
});

It outputs:

{ version: '2.4.0',
  tags: 
   { artist: 'unknown',
     title: 'unknown',
     album: 'unknown',
     genre: 'unknown',
     path: 'song.mp3' } }

Whilst other programs like taglib output:

{ album: 'MISFIT B-Sides',
  artist: 'Social Club',
  comment: 'Visit http://martymar.goodcitymusic.com',
  genre: null,
  title: 'Hawaiian Punch',
  track: 1,
  year: 2012 }

If you want I can share you the song so you can test it.

interbred-monkey commented 10 years ago

Good afternoon Benjamin,

If you could send/link me to the file I would be happy to take a look at it. The tags are probably in a format that I have not seen before.

Thanks for pointing this out.

Si.

On 23 January 2014 11:02:41 Benjamin Kaiser notifications@github.com wrote:

When running the following code:

var id3_reader = require('id3_reader');
var track = "song.mp3";
id3_reader.read(track, function(success, msg, data) {
  console.log(data);
});

It outputs:

{ version: '2.4.0',
  tags:
   { artist: 'unknown',
     title: 'unknown',
     album: 'unknown',
     genre: 'unknown',
     path: 'song.mp3' } }

Whilst other programs like taglib output:

{ album: 'MISFIT B-Sides',
  artist: 'Social Club',
  comment: 'Visit http://martymar.goodcitymusic.com',
  genre: null,
  title: 'Hawaiian Punch',
  track: 1,
  year: 2012 }

If you want I can share you the song so you can test it.


Reply to this email directly or view it on GitHub: https://github.com/interbred-monkey/id3_reader/issues/1

interbred-monkey commented 10 years ago

Benjamin,

Ignore the last message, I was not thinking. I have put measures in place that checks for the files existence and it would not of returned any tags. It's been a long day.

Send me the file and I will take a look.

Si.

On 23 January 2014 11:02:41 Benjamin Kaiser notifications@github.com wrote:

When running the following code:

var id3_reader = require('id3_reader');
var track = "song.mp3";
id3_reader.read(track, function(success, msg, data) {
  console.log(data);
});

It outputs:

{ version: '2.4.0',
  tags:
   { artist: 'unknown',
     title: 'unknown',
     album: 'unknown',
     genre: 'unknown',
     path: 'song.mp3' } }

Whilst other programs like taglib output:

{ album: 'MISFIT B-Sides',
  artist: 'Social Club',
  comment: 'Visit http://martymar.goodcitymusic.com',
  genre: null,
  title: 'Hawaiian Punch',
  track: 1,
  year: 2012 }

If you want I can share you the song so you can test it.


Reply to this email directly or view it on GitHub: https://github.com/interbred-monkey/id3_reader/issues/1

benkaiser commented 10 years ago

@interbred-monkey Good thinking, I already tried doing both relative and absolute paths, both to no avail.

The song is part of my benchmarking repository that I hope to add your reader to. https://github.com/benkaiser/test-id3-node

interbred-monkey commented 10 years ago

Oh wow benchmarking, I have not done that myself. Why are you benchmarking id3 readers, if you don't mind me asking?

Si.

On 25 January 2014 03:08:40 Benjamin Kaiser notifications@github.com wrote:

@interbred-monkey Good thinking, I already tried doing both relative and absolute paths, both to no avail.

The song is part of my benchmarking repository that I hope to add your reader to. https://github.com/benkaiser/test-id3-node


Reply to this email directly or view it on GitHub: https://github.com/interbred-monkey/id3_reader/issues/1#issuecomment-33279627

benkaiser commented 10 years ago

I am writing a music player completely in nodejs, I opted to go with this id3 reader I found early on (musicmetadata) but I was interested to see how it stacked up feature and speed-wise against all the others.

Also if you are interested in the results here is my blog post about the 3 libraries I found that worked (without simply being bindings to a system-installed tool): http://www.blog.kaiserapps.com/2014/01/nodejs-id3-tag-libraries-which-is-best.html

interbred-monkey commented 10 years ago

Ahh very good, I am making a xbmc style application too from node, that's why I decided to make my id3 reader. I looked at some new modules but they all needed installed software and I didn't want to put that restriction on my application. I don't know the complete specifications for reading id3 tags so the work I have in place at the moment was guess work. I am however impressed that I managed to get my id3 app to write tags back, which is a feature I did not manage to find on other node modules.

I hope to have a look at the issue you are getting soon and I will let you know when I have an answer.

Si.

On 25 January 2014 12:07:33 Benjamin Kaiser notifications@github.com wrote:

I am writing a music player completely in nodejs, I opted to go with this id3 reader I found early on (musicmetadata) but I was interested to see how it stacked up feature and speed-wise against all the others.

Also if you are interested in the results here is my blog post about the 3 libraries I found that worked (without simply being bindings to a system-installed tool): http://www.blog.kaiserapps.com/2014/01/nodejs-id3-tag-libraries-which-is-best.html


Reply to this email directly or view it on GitHub: https://github.com/interbred-monkey/id3_reader/issues/1#issuecomment-33287468

DavidReinberger commented 10 years ago

Hi there, are you planning to fix this issue? I have tried to do it, but is beyond my understanding. And a little question - does this ID3 tag reader support reading attached pictures (cover arts), I have seen it in the tags declarations but I am not sure if it works since this error is unfourtunately still present.

Thanks! David

interbred-monkey commented 10 years ago

Hi,

Sorry I have been very busy as of late. I will sort the problem as soon as I can. I have some time next week so I will fix it ASAP.

Sorry for the delay.

Si.

On 20 February 2014 17:24:52 David Reinberger notifications@github.com wrote:

Hi there, are you planning to fix this issue? I have tried to do it, but is beyond my understanding. And a little question - does this ID3 tag reader support reading attached pictures (cover arts), I have seen it in the tags declarations but I am not sure if it works since this error is unfourtunately still present.

Thanks! David


Reply to this email directly or view it on GitHub: https://github.com/interbred-monkey/id3_reader/issues/1#issuecomment-35646117

DavidReinberger commented 10 years ago

Hi,

no big deal I have settled with another ID3 reader for now, but i am always curious about other options (in pure JS/NODe) in regards of read capabilities and speeds.

David

SeanBannister commented 10 years ago

Just wanted to confirm I'm having the same issue.

interbred-monkey commented 9 years ago

Ahoy, I think I have managed to work out what the problem was, I thought at first it was a ID3 header and footer issue but I have recently found it was the encoding I was using to read the tags. If someone could pull on the master branch and confirm this working I would be very appreciative.

benkaiser commented 9 years ago

Looking good man.... I just re-ran my benchmark tests and your library seems to pull the data correctly.

Here were the benchmark results:

taglib x 679 ops/sec ±1.04% (67 runs sampled)
musicmetadata x 471 ops/sec ±3.22% (74 runs sampled)
id3js x 306 ops/sec ±2.41% (72 runs sampled)
id3_reader x 166 ops/sec ±1.64% (81 runs sampled)
Fastest is taglib

That said, your library is the only one with write support, so I will be very interested to try out your library and see if I can incorporate it into my music player (at least for use in writing tags back to the files)

Thanks a bunch @interbred-monkey ! If I remember, I'll keep you posted about how I go integrating it into my music player.

interbred-monkey commented 9 years ago

Hey dude, there is a slight issue with the write at the moment where it is not writing a new header or updating the tag size. I am hopefully fixing that this weekend. On 17 Oct 2014 01:27, "Benjamin Kaiser" notifications@github.com wrote:

Looking good man.... I just re-ran my benchmark https://github.com/benkaiser/test-id3-node tests and your library seems to pull the data correctly.

Here were the benchmark results:

taglib x 679 ops/sec ±1.04% (67 runs sampled) musicmetadata x 471 ops/sec ±3.22% (74 runs sampled) id3js x 306 ops/sec ±2.41% (72 runs sampled) id3_reader x 166 ops/sec ±1.64% (81 runs sampled) Fastest is taglib

That said, your library is the only one with write support, so I will be very interested to try out your library and see if I can incorporate it into my music player https://github.com/benkaiser/node-music-player (at least for use in writing tags back to the files)

Thanks a bunch @interbred-monkey https://github.com/interbred-monkey ! If I remember, I'll keep you posted about how I go integrating it into my music player.

— Reply to this email directly or view it on GitHub https://github.com/interbred-monkey/id3_reader/issues/1#issuecomment-59451101 .

SeanBannister commented 9 years ago

Just tested this and yes it's working :)

interbred-monkey commented 9 years ago

Thank you both for testing.