How to listen to music?

This seems like a simple question: how do you listen to music?

But in a way, I think I’ve fallen behind the times.

I’ve enjoyed listening to digital music for years, since well before MP3 even existed (MIDI files could be comfortably downloaded over dialup; some of you may even remember MOD files).

Anyhow, a few years ago, I digitized my entire CD collection, ripping it to FLAC and encoding to high-bitrate MP3 for storage on my 160GB iPod. Since, I’ve purchased some music from DRM-free MP3 retailers, and even FLAC files from Magnatune, but at this point I basically say that I have enough music. I have only rarely bought anything new in the last couple of years. I have used Musicbrainz Picard to enforce consistent tagging across almost my entire collection.

I am usually in front of a Linux machine. I run mt-daapd on my fileserver, so I can stream music from it to any other machine in the house. However, this has a lot of drawbacks. It is generally impossible to create or modify persistent playlists with this protocol. I can’t modify metadata. I can’t assign ratings. Though perhaps I don’t need to.

There are a lot of online services I could think of: Pandora, Spotify, Rdio, Slacker. Plus, of course, the upload your music to the cloud services such as Google and Amazon. Have people tried these? I’m hesitant to use a service where I pay a monthly fee, unless I wind up owning the music in a DRM-free fashion. And I’m a little nervous about the privacy implications of uploading a vast amount of music to the cloud.

There are some items in my collection that I am certain are not available on any of those others, but for the most part I’m willing to take what is out there if it meets my tastes. My tastes, by the way, typically run to classical and opera but also can go towards middle eastern or certain new age music (though I’m very picky about that, since I don’t care for most new age stuff I hear.) But these are huge categories; sometimes I’d like to hear some load and noisy classical (say, Beethoven’s Ninth conclusion, some Wagner, Verdi arias, etc.) And other times, something more contemplative (a Mozert concerto) or even quiet (a nice sonata) meet my mood. I have playlists for these on my iPod Classic – a bit of a problem, since I don’t use that device much anymore except in the car, and it takes a LOT of time to categorize things into these playlists. (An opera or a symphony could have parts in various styles and various levels of energy, for instance.) I keep a small manually-managed subset on my Android phone, which works fine. A recommendation engine for things like this could be useful, if it works well.

My requirements, basically: I want something that will play the same music on my Linux machines. I want to be able to have playlists kept in sync across my machines. And I don’t want a monthly fee. Ideally, the software will work on Android as well, and provide similar features there. Anything that requires Windows is a non-starter. I’ve considered NFS mounts, but that’s a bit annoying when the laptop disconnects from the network or when it’s not at home.

What are your thoughts? Ideas?

12 thoughts on “How to listen to music?

  1. Eric Kow says:

    At the risk of being unhelpfully old-fashioned, I just grab the stream from an Internet radio station in iTunes. http://www.fipradio.fr/ (French radio station which is oddly popular in the coastal English city of Brighton)

  2. Elessar says:

    You might try MPD streaming to an Icecast server, or directly with its integrated HTTP streaming server.

    1. John Goerzen says:

      That looks appealing. Well, if I can get the streaming to work effortlessly, at least. The server is in my basement so direct audio output from it isn’t necessarily useful ;-)

      1. Marand says:

        I saw this on the Planet Debian feed and came to suggest MPD as well.

        The streaming works pretty well for me; the hardest part was figuring out what path to use to listen to the stream*. You can either stream via icecast, or mpd can use an internal httpd for streaming. Stick with the internal httpd if you want simplicity, at least to start: icecast adds an extra layer of complexity that you probably don’t care about right now. Multiple outputs allowed simultaneously, too, so you can do things like play locally with pulseaudio or alsa, while streaming at the same time.

        The http stream works in any player that supports streaming, so nearly any computer or mobile device should work. Winamp or MPDroid works well enough for Android, and on a PC I find myself using vlc’s ncurses frontend for simplicity. There are also many front-end options for controlling the playback. My picks are MPDroid on Android, ncmcpp on the CLI, and Ario in X.

        Any MPD client (regardless of location) should be able to modify the playlist and control playback, but MPD doesn’t do things like rating or metadata handling directly. Individual clients can implement features on top of MPD, such as Ario displaying album art, so it may be possible to do ratings in some form. I’m not certain about that, since I rarely use rating systems in audio players.

        * I had to use, for example, 127.0.0.1:800/playlist.m3u instead of just the address+port, but it wasn’t immediately obvious from configuration or documentation.

        1. rjc says:

          I use MPD as well, using a client on my Android phone for control and streaming.
          A friend of mine uses Logitech Media Server (Squeezebox server) with SqueezPlay – GPL and BSD licensed respectively.

  3. Michel says:

    I’d recommend streaming music with pulseaudio via rtp multicast.
    The general gist is -> Install pulseaudio on top of alsa. If theres no soundcard on your server available there will be a dummy. Afterwards – create a multicast rtp sender.
    Then run a music player of your choice or if running headless – i’d recommend vlc with ncurses interface plus http interface.
    This way you can connect to your server, return to your screen session and edit your playlist. Or use the vlc webinterface.
    Wherever you’d like to listen to music just install pulseaudio + enable the multicast reciever.

  4. Matt Pankratz says:

    I purchase all of my music via Amazon because all purchases get stored in their Cloud. Then, I download and dump back to Google music for backup.

    Playing from the “cloud” via a browser client is what I’ve found to be most flexible.

  5. James Curbo says:

    Subsonic and its various clients will do what you want I think. I have a Subsonic server on my Mac Mini (it runs on Linux too, it’s Java). There is a Web client, I use it on my iPhone and I know there are Android clients as well.

    There’s also Logitech Media Server (previous the Squeezebox server) which is GPLd but I haven’t used it in a long time and I’m not sure what the state of clients is for it.

    1. John Goerzen says:

      Wow, Subsonic looks very interesting. Thank you.

  6. lachlan says:

    I use nfs locally for my computers.
    Minidlna for my tv/phone locally
    Streeme or ampache over the internet.

    You could look for one solution but I haven’t found anything perfect yet.

  7. jargon says:

    If you find yourself without means to stream, you could try my python script that I use for syncing my playlists: https://github.com/jargonsum/syncplaylist

    It’s command line and very basic, so far. Does the job nicely, imo.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.