MusicPlayerDaemon / MPD

Music Player Daemon
https://www.musicpd.org/
GNU General Public License v2.0
2.16k stars 346 forks source link

MPD doesn't use mp3 tags and shows everything as <empty> #1090

Closed RomeuG closed 3 years ago

RomeuG commented 3 years ago

Bug report

Describe the bug

All songs have <empty> fields, like Artist and Title.

Expected Behavior

MPD should use mp3 metadata to fill those fields.

Actual Behavior

MPD does not fill those fields, while they exist.

Version

Music Player Daemon 0.22.5 (0.22.5)
Copyright 2003-2007 Warren Dukes <warren.dukes@gmail.com>
Copyright 2008-2018 Max Kellermann <max.kellermann@gmail.com>
This is free software; see the source for copying conditions.  There is NO
warranty; not even MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Database plugins:
 simple proxy upnp

Storage plugins:
 local udisks nfs curl

Neighbor plugins:
 upnp udisks

Decoders plugins:
 [mad] mp3 mp2
 [mpg123] mp3
 [vorbis] ogg oga
 [oggflac] ogg oga
 [flac] flac
 [opus] opus ogg oga
 [sndfile] wav aiff aif au snd paf iff svx sf voc w64 pvf xi htk caf sd2
 [audiofile] wav au aiff aif
 [dsdiff] dff
 [dsf] dsf
 [hybrid_dsd] m4a
 [faad] aac
 [mpcdec] mpc
 [wavpack] wv
 [modplug] 669 amf ams dbm dfm dsm far it med mdl mod mtm mt2 okt s3m stm ult umx xm
 [mikmod] amf dsm far gdm imf it med mod mtm s3m stm stx ult uni xm
 [sidplay] sid mus str prg P00
 [wildmidi] mid
 [fluidsynth] mid
 [ffmpeg] 16sv 3g2 3gp 4xm 8svx aa3 aac ac3 adx afc aif aifc aiff al alaw amr anim apc ape asf atrac au aud avi avm2 avs bap bfi c93 cak cin cmv cpk daud dct divx dts dv dvd dxa eac3 film flac flc fli fll flx flv g726 gsm gxf iss m1v m2v m2t m2ts m4a m4b m4v mad mj2 mjpeg mjpg mka mkv mlp mm mmf mov mp+ mp1 mp2 mp3 mp4 mpc mpeg mpg mpga mpp mpu mve mvi mxf nc nsv nut nuv oga ogm ogv ogx oma ogg omg opus psp pva qcp qt r3d ra ram rl2 rm rmvb roq rpl rvc shn smk snd sol son spx str swf tak tgi tgq tgv thp ts tsp tta xa xvid uv uv2 vb vid vob voc vp6 vmd wav webm wma wmv wsaud wsvga wv wve rtp:// rtsp:// rtsps://
 [gme] ay gbs gym hes kss nsf nsfe sap spc vgm vgz
 [pcm]

Filters:
 libsamplerate soxr

Tag plugins:
 id3tag

Output plugins:
 shout null fifo pipe alsa ao oss openal solaris pulse jack httpd recorder

Encoder plugins:
 null vorbis opus lame twolame wave flac

Archive plugins:
 [bz2] bz2
 [zzip] zip
 [iso] iso

Input plugins:
 file io_uring archive alsa tidal qobuz curl ffmpeg nfs mms cdio_paranoia

Playlist plugins:
 extm3u m3u pls xspf asx rss soundcloud flac cue embcue

Protocols:
 file:// alsa:// cdda:// ftp:// ftps:// gopher:// hls+http:// hls+https:// http:// https:// mms:// mmsh:// mmst:// mmsu:// nfs:// qobuz:// rtmp:// rtmpe:// rtmps:// rtmpt:// rtmpte:// rtmpts:// rtp:// rtsp:// rtsps:// scp:// sftp:// smb:// srtp:// tidal://

Other features:
 avahi dbus udisks epoll icu inotify ipv6 systemd tcp un

Log

I don't know if these can help, but here it is:

Feb 16 14:18 : client: [112] opened from 127.0.0.1:40220
Feb 16 14:18 : client: [112] process command list
Feb 16 14:18 : client: process command "status"
Feb 16 14:18 : client: command returned 0
Feb 16 14:18 : client: process command "currentsong"
Feb 16 14:18 : client: command returned 0
Feb 16 14:18 : client: [112] process command list returned 0
Feb 16 14:18 : client: [112] closed
Feb 16 14:18 : client: [113] opened from 127.0.0.1:40224
Feb 16 14:18 : client: [113] process command list
Feb 16 14:18 : client: process command "status"
Feb 16 14:18 : client: command returned 0
Feb 16 14:18 : client: process command "currentsong"
Feb 16 14:18 : client: command returned 0
Feb 16 14:18 : client: [113] process command list returned 0
Feb 16 14:18 : client: [113] closed
Feb 16 14:18 : client: [114] opened from 127.0.0.1:40228
Feb 16 14:18 : client: [114] process command "previous"
Feb 16 14:18 : playlist: play 17:"s/Sunn O))) & Nurse With Wound/2011 - The Iron Soul Of Nothing/04. Ra at Dawn Part Two (Numbed by Her Light).mp3"
Feb 16 14:18 : decoder_thread: probing plugin mad
Feb 16 14:18 : mad: detected LAME version 3.99 ("LAME3.99r")
Feb 16 14:18 : mad: LAME peak found: 0.000000
Feb 16 14:18 : mad: encoder delay is 576, encoder padding is 1188
Feb 16 14:18 : decoder: audio_format=44100:24:2, seekable=true
Feb 16 14:18 : client: [114] command returned 0
Feb 16 14:18 : playlist: queue song 18:"t/The Moon and the Nightspirit/2020 Aether - 320/The Moon and the Nightspirit - 04 - A Szárny.mp3"
Feb 16 14:18 : client: [114] process command list
Feb 16 14:18 : client: process command "status"
Feb 16 14:18 : client: command returned 0
Feb 16 14:18 : client: process command "currentsong"
Feb 16 14:18 : client: command returned 0
MaxKellermann commented 3 years ago

You didn't post any data demonstrating the problem. Is this a duplicate of https://github.com/MusicPlayerDaemon/MPD/issues/1089 ? If it is, then your description is inaccurate.

RomeuG commented 3 years ago

You are right, most likely a duplicate of that issue. Regardless, that issue does have some tags showing, while I do not have any.

My suggestion is to keep this issue up. I will update mpd from the ArchLinux Repository when it is available and I will report back.

MaxKellermann commented 3 years ago

No. There's no usable data in this bug report, not anything demonstrating the problem, nothing. There's no use in keeping it.

RomeuG commented 3 years ago

@MaxKellermann Could you re-open it then? I am posting the info.

Here, I am trying to print all information I can. Only the file is printed:

λ  ~ mpc -f "[%name%]|[%artist%]|[%album%]|[%albumartist%]|[%comment%]|[%composer%]|[%date%]|[%originaldate%]|[%disc%]|[%genre%]|[%performer%]|[%title%]|[%file%]|[%position%]|[%id%]|[%prio%]|[%mtime%]"
n/Nurse With Wound/1993 - Crumb Duck/02 - The Dadda's Intoxication.mp3
[paused]  #1/1   0:21/6:26 (5%)
volume: 46%   repeat: off   random: off   single: off   consume: off

Also here are the tags of the mp3 file:

λ  1993 - Crumb Duck mp3info 02\ -\ The\ Dadda\'s\ Intoxication.mp3 
File: 02 - The Dadda's Intoxication.mp3
Title:   The Dadda's Intoxication       Track: 2
Artist:  Stereolab & Nurse With Wound
Album:   Crumb Duck                     Year:  1993
Comment:                                Genre:  [255]

Here's the ncmpcpp':

image

MaxKellermann commented 3 years ago

What is MPD's response of a lsinfo command, listing a directory with tagged MP3 files?

RomeuG commented 3 years ago

@MaxKellermann

Here is the information. I used python to get it:

In [10]: client.lsinfo("n/Nurse With Wound/1993 - Crumb Duck")
Out[10]: 
[{'file': 'n/Nurse With Wound/1993 - Crumb Duck/01 - Steel Drum March of the Metal Men.mp3',
  'last-modified': '2019-01-07T21:00:09Z',
  'format': '44100:24:2',
  'artist': 'Stereolab & Nurse With Wound',
  'title': 'Steel Drum March of the Metal Men',
  'album': 'Crumb Duck',
  'track': '1',
  'date': '1993',
  'time': '339',
  'duration': '339.043'},
 {'file': "n/Nurse With Wound/1993 - Crumb Duck/02 - The Dadda's Intoxication.mp3",
  'last-modified': '2019-01-07T21:00:28Z',
  'format': '44100:24:2',
  'artist': 'Stereolab & Nurse With Wound',
  'title': "The Dadda's Intoxication",
  'album': 'Crumb Duck',
  'track': '2',
  'date': '1993',
  'time': '386',
  'duration': '385.933'},
 {'file': 'n/Nurse With Wound/1993 - Crumb Duck/03 - Exploding Head Movie.mp3',
  'last-modified': '2019-01-07T21:00:44Z',
  'format': '44100:24:2',
  'artist': 'Stereolab & Nurse With Wound',
  'title': 'Exploding Head Movie',
  'album': 'Crumb Duck',
  'track': '3',
  'date': '1993',
  'time': '289',
  'duration': '288.653'},
 {'file': 'n/Nurse With Wound/1993 - Crumb Duck/04 - Animal or Vegetable (A Wonderful Wooden Reason).mp3',
  'last-modified': '2019-01-07T21:01:21Z',
  'format': '44100:24:2',
  'artist': 'Stereolab & Nurse With Wound',
  'title': 'Animal or Vegetable (A Wonderful Wooden Reason)',
  'album': 'Crumb Duck',
  'track': '4',
  'date': '1993',
  'time': '815',
  'duration': '814.889'},
 {'file': 'n/Nurse With Wound/1993 - Crumb Duck/05 - A New Dress (remix).mp3',
  'last-modified': '2019-01-07T21:01:49Z',
  'format': '44100:24:2',
  'artist': 'Stereolab & Nurse With Wound',
  'title': 'A New Dress (Remix)',
  'album': 'Crumb Duck',
  'track': '5',
  'date': '1993',
  'time': '583',
  'duration': '583.262'}]
MaxKellermann commented 3 years ago

I see lots of tags there.

RomeuG commented 3 years ago

So do I. But as you have seen:

λ  ~ mpc -f "[%name%]|[%artist%]|[%album%]|[%albumartist%]|[%comment%]|[%composer%]|[%date%]|[%originaldate%]|[%disc%]|[%genre%]|[%performer%]|[%title%]|[%file%]|[%position%]|[%id%]|[%prio%]|[%mtime%]"
n/Nurse With Wound/1993 - Crumb Duck/02 - The Dadda's Intoxication.mp3
[paused]  #1/1   0:21/6:26 (5%)
volume: 46%   repeat: off   random: off   single: off   consume: off

Does not print whatever should be printed (title, format, artist, album, etc).

MaxKellermann commented 3 years ago

Yes, but this shows that your initial bug description was wrong/inaccurate (not everything is empty). This is really a duplicate of https://github.com/MusicPlayerDaemon/MPD/issues/1089

RomeuG commented 3 years ago

Ok sure, I was referring explicitly to how MPD did load the information, and when I tried to print all those fields, 16 out of 17 were 'empty', as in, did not print anything and/or a client (ncmpcpp) did not offer that information upfront.

Since it is a duplicate of #1089, I will wait for the update.

Thanks.