Mopidy – Server which can play music from multiple sources
docs.mopidy.com
docs.mopidy.com
Let's see where it all leads!
Tomahawk is a UI that has a standard "music player" behaviour. The sources are plugged in (they're called resolvers[0]), so that the core remains more or less the same.
AFAIU, mopidy acts a middle-man between sources (installed as plugins) and uis. It's more or less what playdar [1] (the ancestor of tomahawk) was, at least functionnally.
[0] https://github.com/tomahawk-player/tomahawk-resolvers [1] http://www.playdar.org/
* Tomahawk is a desktop app. It integrates various music sources so you can play from whatever source is available. I can search for whatever and it will look on my local harddisk, on my Synology NAS, on Soundcloud, youtube, etc. It will play from the "best" source, determined by search match accuracy and bitrate. What's pretty cool is that it is integrated with Echonest (www.echonest.com) so you can define "Radio Stations" based on criteria like artist similarity, song mood, energy, etc. And those songs will be automatically resolved. My experience has been very good, everything works out of the box. Only the youtube resolver needs to be enabled manually (for copyright reasons).
* Mopidy, as far as I know, aims to do this on the server side. I've run an early version, I think 0.18 or something, on my Raspberry Pi. It involves some configuration to get it to work. Also, I don't think it can resolve songs in the way that Tomahawk does it: because MPD seems to have a static concept of the "Library". So you can import your Soundcloud "Liked songs", and they will be available in your library, but you cannot search for arbitrary songs. At least I didn't find that option.
A hybrid of both solutions would be awesome.
I've written the Subsonic backend, which is available at https://github.com/rattboi/mopidy-subsonic/
Now we've evolved quite a bit since then and are now at a stage where we are modular music server, where the MPD frontend is just one of many possible ways of talking to our server. Additionally everything is an extension, so we don't end up like some other systems I've seen where plugins end being second class citizens.
Edit: Other things to note is that at the time we started, 2009, we were not aware of Tomahawk, and more importantly, we wanted a server, not a GUI app.
also, i think part of the reason why i moved away from mpd, and towards cmus, was because of things like ape, and library management. i see there is a beets plugin for library management.
what about cue sheet support? how complex, simple, would it be to add cue sheet support?
CUE sheets as in using them as playlists? There are a few ways of doing this depending on what your use case is, but very much doable. Drop by #mopidy on freenode or send us an email and we can help work out the details.
EDIT: I'm wrong: it's not in currently supported version of gstreamer (sorry).
https://github.com/mplewis/accentor
I might come back to this project later—the docs are pretty lacking, but the software works!
Thanks
In the longer run I keep wanting to get https://github.com/mopidy/mopidy/issues/408 solved, basically having a main server and then audio only servers for true multiroom.
[1] https://github.com/nichodges/sprklst/blob/master/sparklist-n...
-can grab music from multiple sources (local, youtube, etc)
-i can vote for each track (up/down/rating)
-based on my votes it will guess my favorites (with some entropy so sometime will try to show me new kind of music)
Is there such a music player?
The way to go about building this with mopidy is essentially one of the following:
- Create the voting system based on the MPD protocol to talk to mopidy
- Create the voting system using our JSON-RPC websocket access to the core APIs.
- Create a frontend in python with full access to the core APIs.
Each of these of course have it's advantages and disadvantages. But to me one of our main strengths is the architecture we've designed over time and how people can use mopidy almost like a framework for exposing the media server in a novel way.
If so, it could be plain awesome. I'm imagining a server in closet that aggregates music collections from various sources and provides uniform interface to play it anywhere network-accessible.
https://github.com/mopidy/mopidy/issues?labels=EOS&state=ope...
Right now, at work, I simply NFS mount my home music library, and then sync my mpd tag cache over periodically. This works while I'm in one location, at work, but would not work on my cell phone; I don't have a network protocol that would survive it, and MPD has no real support for high-latency filesystems (it doesn't know to go fetching the next file in advance, nor does it know to go cache a few megabytes -- or the next few songs -- in case the data link goes away).
Mopidy's extension support is pretty exciting, then! It seems like it should be relatively possible to concoct a 'mopidy.remote' extension that knows how to do these things, and the corresponding server-side for a Mopidy instance running at home.
Have you folks thought of this sort of use case? Am I about to reinvent the wheel?
A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.
I use it to stream my Google Music playlists... out via a USB DAC to Onkyo amp etc. Works a treat.