MPD going classical?

General Discussion about MPD – anything that doesn't fit in the other MPD forums.
Post Reply
nbpf
Posts: 56
Joined: June 17th, 2014, 6:45 am

MPD going classical?

Post by nbpf »

MPD is a great system for replaying many kinds of music but, for classical music, its limited, hard-wired set of tags is essentially unusable.

Just to make an example, MPD's set of tags does not even support browsing a music collection according to a COMPOSER / WORK / INTERPRETATION scheme which, for classical music, is a kind of minimal requeirement. Essential notions in classical music (conductor, first public performance, movement, period, ...) are simply non representable with the tags currently supported by MPD.

Since at least 2009 there have been a number of feature requests and suggestions on how to tackle MPD's limitations in this area but, to the best of my knowledge, no significant improvements have been made over the last 6 years.

The motivation of this post is to assess whether there is enough interest, in the MPD community, in developing a version of MPD which supports more flexible tagging schemes and comes with a default set of tags suitable also (but not only) for classical music. This would necessarily imply extending libmpdclient and implementing a prototype client for the new api.

Your thoughts?

nbpf
Posts: 56
Joined: June 17th, 2014, 6:45 am

[Solved (sort of)] MPD going classical?

Post by nbpf »


Ran
Posts: 151
Joined: February 25th, 2013, 3:47 am

Re: MPD going classical?

Post by Ran »

I have been using the same configuration for the last month will excellent results. I can also stream from Tidal and Qobuz via Bubble and MPD plays them without a problem.

nbpf
Posts: 56
Joined: June 17th, 2014, 6:45 am

Re: MPD going classical?

Post by nbpf »

Ran wrote:I have been using the same configuration for the last month will excellent results. I can also stream from Tidal and Qobuz via Bubble and MPD plays them without a problem.
Good to know Ran, thanks for your feedback! Which control point software are you using with Minimserver? I do not have an android device around and could not test Bubble UPnP so far. Linn Kinsky and Lumin (iOS) work very well, mconnect (also iOS) is very fast but does only send single files (instead of complete playlists) to the renderer. Thus, gapless replay does not work with mconnect.

Minimserver itself is great. It is the only server that I know that supports a tagging scheme that works well for classical music. For instance, one can add a "work" tag and Minimserver's "intelligent browsing" will support refining a search according to a [genre] > [composer] > [work] > [interpretation] scheme. Or the other way round! Thanks to the underlying MPD server, sound quality and reliability are excellent. Thanks to all Minimserver, upmpdcli and MPD developers!

skidoo
Posts: 194
Joined: April 28th, 2013, 10:06 pm
Location: Western Germany

Re: MPD going classical?

Post by skidoo »

Another server to store metadata and client software - seems to me overkill.

I already did some work to query and store embedded graphics. Just tell me the ID3 tags you need ( http://id3.org/id3v2.4.0-frames ) and I will provide some patches for MPD.

@Max: is it OK to expand MPDs database?

nbpf
Posts: 56
Joined: June 17th, 2014, 6:45 am

Re: MPD going classical?

Post by nbpf »

skidoo wrote:Another server to store metadata and client software - seems to me overkill.

I already did some work to query and store embedded graphics. Just tell me the ID3 tags you need ( http://id3.org/id3v2.4.0-frames ) and I will provide some patches for MPD.

@Max: is it OK to expand MPDs database?
skidoo, thanks for your support! There are different problems here, that I would like to keep separated:

1) I do not (cannot) know exactly the tags I need. I have now added a "work" and an "ensamble" tag to the default tags of Minimserver. Minimserver already supports, beside the MPD tags, "conductor" and "orchestra". What I want to say is that a tagging system has to be flexible and adaptable to changing needs. I might get interested in introducing a "first violin" tag or in aliasing certain tags, sometime. I do not think that the flexibility of the tagging system outlined in http://minimserver.com/ug-library.html can be achieved in MPD by just adding a couple of hard-wired tags. I have argued in this forum that MPD could be made suitable for managing classical music collections by exporting to clients a list of supported tags. Users could define which tags should be exported to clients in a suitable mpd.conf section. There could be a core of tags that MPD always supports by default and clients would be free to rely on these tags alone or to honour user-defined tags. After having worked a couple of days with Minimserver, I am not sure that this approach would be enough. I might be wrong, of course.

2) Minimserver and upmpdcli are lightweight applications. During normal operations, MPD takes between 1% and 6% of the CPU (1GHz, 2 cores) time, Minimserver and upmpdcli much less. The only MPD client that implements, up to a certain extent, the filtering scheme supported by Minimserver is ncmpcpp. This is also my preferred MPD client. But no graphical MPD client I know does support refining a search by multiple criteria the way all UPnP clients compatible with Minimserver do. Once you have worked half a day with the "intelligent browsing" filtering scheme of Minimserver, there is no way back, I think.

3) I think that having MPD, Minimserver and upmpdcli working together is a good example of a "separation of concerns" approach towards building software systems. MPD is excellent in the areas of sound reproduction, reliability, stability, efficiency. Minimserver is great at supporting customizable tagging schemes and flexible search engines. upmpdcli just makes the two work together. I have no idea what the MPD and Minimserver developers have in their roadmaps. But perhaps it is not a bad idea if MPD and Minimserver stay focused on what they are good at.

4) A viable approach for classifying and browsing classical music contents with the current MPD tagging scheme is by means of internal symbolic links. One can easily build folder hierarchies of the kind of

[composer] / [work] / [interpretation] /

where the leaves are just symbolic links to the actual data. This approach is not as flexible as a customizable tagging scheme but can be extremely useful for managing a music collection, independently of whether one relies on MPD, UPnP severs or a combination of both. Unfortunately, internal symbolic links yield multiple entries in, e.g. album views at the MPD client level. The problem is well known and documented. A simple solution would perhaps be for MPD to store in the database both the path of an item (source) and the path of the item it points to (target). For a normal file, source and target would coincide. For a symbolic link, they would differ. This would enable clients to prune albums of fake copies of the same items when internal symbolic links are used in a music_directory. There are probably much better ways to achieve the same goal.

In my view, solving 4) would bring a greater improvement to the overall MPD system than implementing a patch to add a few new tags. But, of course, I would be grateful if you could extend the MPD tagging system as to make it flexible enough to cope with custom specific needs. This would also pave the way to applying MPD for more professional applications, e.g. in museums, schools, etc., I believe.

Ran
Posts: 151
Joined: February 25th, 2013, 3:47 am

Re: MPD going classical?

Post by Ran »

nbpf wrote:
Ran wrote:I have been using the same configuration for the last month will excellent results. I can also stream from Tidal and Qobuz via Bubble and MPD plays them without a problem.
Good to know Ran, thanks for your feedback! Which control point software are you using with Minimserver? I do not have an android device around and could not test Bubble UPnP so far. Linn Kinsky and Lumin (iOS) work very well, mconnect (also iOS) is very fast but does only send single files (instead of complete playlists) to the renderer. Thus, gapless replay does not work with mconnect.

Minimserver itself is great. It is the only server that I know that supports a tagging scheme that works well for classical music. For instance, one can add a "work" tag and Minimserver's "intelligent browsing" will support refining a search according to a [genre] > [composer] > [work] > [interpretation] scheme. Or the other way round! Thanks to the underlying MPD server, sound quality and reliability are excellent. Thanks to all Minimserver, upmpdcli and MPD developers!
I use BubbleUPnP (https://play.google.com/store/apps/deta ... upnp&hl=en). Sadly, any iOS application is way behind.

Ran
Posts: 151
Joined: February 25th, 2013, 3:47 am

Re: MPD going classical?

Post by Ran »

skidoo wrote:Another server to store metadata and client software - seems to me overkill.

I already did some work to query and store embedded graphics. Just tell me the ID3 tags you need ( http://id3.org/id3v2.4.0-frames ) and I will provide some patches for MPD.

@Max: is it OK to expand MPDs database?
Skidoo,

With the mentioned solution, there is no need for MPD to store anything in its DB. My MPD music folder is empty since all the music is passed to MPD via the curl plugin from my NAS.

skidoo
Posts: 194
Joined: April 28th, 2013, 10:06 pm
Location: Western Germany

Re: MPD going classical?

Post by skidoo »

With the mentioned solution, there is no need for MPD to store anything in its DB.
Absolutely right but I don't like the proposed solution ;)

nbpf
Posts: 56
Joined: June 17th, 2014, 6:45 am

Re: MPD going classical?

Post by nbpf »

skidoo wrote:
With the mentioned solution, there is no need for MPD to store anything in its DB.
Absolutely right but I don't like the proposed solution ;)
What could be viable alternatives? Where is the development of MPD heading to? It is very difficult for users to make meaningful feature requests, attempt at contributing or even evaluate different possible solutions without a roadmap.

Ran
Posts: 151
Joined: February 25th, 2013, 3:47 am

Re: MPD going classical?

Post by Ran »

skidoo wrote:
With the mentioned solution, there is no need for MPD to store anything in its DB.
Absolutely right but I don't like the proposed solution ;)

You can still retain the MPD data base and use a client to connect to it. Music streaming is the future. I don't see Max implementing these type of services any time soon.
By using a uPnP front end, it allows me to still use MPD as well as Tidal, Qobuz and Google Music. I can always use MPD to read music from my NAS if needed.

A win-win situation and the best of both worlds.

Ran

nbpf
Posts: 56
Joined: June 17th, 2014, 6:45 am

Re: MPD going classical?

Post by nbpf »

Ran wrote:I use BubbleUPnP (https://play.google.com/store/apps/deta ... upnp&hl=en). Sadly, any iOS application is way behind.
Thanks Ran!

nbpf
Posts: 56
Joined: June 17th, 2014, 6:45 am

Re: MPD going classical?

Post by nbpf »

For all those interested in how to organize collections of classical music, there is a very interested thread on the Minimserver forum:

http://forum.minimserver.com/showthread.php?tid=1858

The third post (by DavidHB) is particularly interesting, in my view. Best, nbpf

Post Reply