Exploring Cantata, an Linux music client that impresses

Exploring Cantata, a Linux music client that impresses

From setup to playback, MPD client Cantata is like music to the ears.

Exploring Cantata, an Linux music client that impresses
Image by : 

opensource.com

Last month I looked at three Linux clients for my music player daemon (MPD) music server: ncmpcpp, Sonata, and GMPC. This month I'm looking at Cantata, recommended by two kind readers, and I really, really like what I see.

Because Cantata is a Qt-based application, I decided to have a look at the documentation before installing it. I spotted this interesting comment:

Unlike most other MPD clients, Cantata caches a copy of the MPD music library. This is so that it can create a proper hierarchy of artists and albums (where Cantata will use the AlbumArtist tag if found, otherwise it will fallback to the Artist tag), to provide album counts, tracks counts, etc in the browser views and tooltips, and also to help with copying songs to/from devices.

Awesome, Cantata priortizes the AlbumArtist tag and falls back to the Artist tag! Very well done—one of the most annoying things out there is a music player that flicks tracks from compilation albums all over the navigation device according to artist. That's my opinion, anyway.

Moreover, the fact that the developers take time to write this down in the application's supporting information, rather than just letting the user discover it on their own, scores maximum bonus points!!!

Convinced by what I saw there, I decided to give it a go and installed version 2.0.1, the version in my repositories.

Cantata has a very nice first-run process that collects setup information and provides useful information to the user along the way. For example, this note appeared on one of the first run screens:

Note: Cantata can only save backdrops, artist and composer images within the music folder hierarchy if this is 2 levels deep, i.e. 'Artist/Album/Tracks.'

In my case, this is fine, as my music library is organized that way, with compilations built under Various Artists/Album/Tracks.

I also spotted this note:

Warning: You are not currently a member of the 'users' group. Cantata will function better (saving of album covers, lyrics, etc with the correct permissions) if you (or your administrator) add yourself to this group. If you do add yourself you will need to logout and back in for this to take effect.

Hmm … the users group? I haven't run into that one before! But sure enough, there it is in my /etc/group file. For the time being I decided to leave that alone.

When I pressed the finish button to exit the first-time setup, the interface appeared immediately. I felt like listening to the Allman Brothers' Idlewild South, so away I went, right out of the box. Well done, Cantata!

The application interface is divided into four large and several small panels. The top, horizontal panel shows the playback controls, album cover, and play progress. The left-most vertical panel provides a series of controls that affect the panel immediately to its right. For example, in the image above, the library view is selected on the left, and the panel on its right provides a scrolling tree view of the artists, albums, and tracks in the library. The right-most panel displays the current playlist. The remaining controls, scattered around the screen, control various settings. Nice and straightforward organization.

Exploring the interface a bit more, I opened Settings and saw more wonderful, informative notes, like this in the Collections settings:

This is really great stuff. In other players, I sometimes have to dig deeply to get this kind of basic, essential information.

While continuing to explore the available settings, I enabled the info view in Interface Settings, by checking the box. This setting makes an Info icon appear on the left-most panel at the bottom, and clicking this icon makes an info window appear in the panel just to its right. In this info panel, we have the option of viewing information about the artist (extracted from Wikipedia), the album (showing the Album cover and the track listing), or the track (showing the lyrics). See more in the documentation.

The info window can show the artist, album, or track. I wish it offered more than just the lyrics for the track—like format, bit rate, etc. But on the positive side, the source for lyrics is completely configurable.

The Internet icon in the left-most panel provides a great default list of internet music resources, including:

  • Streams (i.e. internet radio stations from Dirble, IceCast, ShoutCast, and TuneIn)
  • Jamendo (requires downloading the music listing)
  • Magnatune (requires downloading the music listing)
  • SoundCloud (provides a search bar)
  • Podcasts (subscription via RSS)

It's great to see SoundCloud there, although there seem to be concerns about its future right now. Let's hope they can keep it going.

In addition to the nice collection of features, interacting with Cantata is very pleasurable. Even on my aging Dell desktop test machine, it's very snappy. Reloading the MPD database is ultra quick. I didn't run into any odd little quirks in the user interface, as I had I half expected.

So far the only thing that I'd like (and it may be there and I can't find it) would be to see format-related info for the track playing (e.g., is it a FLAC? Is it 16/44.1 or 24/96? What is the bitrate?), but the rest of it is very, very fine.

In conclusion, I really like Cantata. It's the first MPD client I've tried that feels as snappy and feature-full as some of the non-MPD based players out there, and yet there is no impression of bloat.

I highly recommended it to all!

Miscellaneous ramblings

We had such a lovely July in the Pacific Northwest this year! It reminded me of a long-ago summer... and my first record player. One of the records I recall playing—a lot—on that record player was Deep Purple's second album, The Book of Taliesyn. If you think of "Smoke on the Water" when you think of Deep Purple, you might be surprised by their earlier music, including this cover of Donovan's "Lalena" or—as I recall, anyway—my favorite song from that album, "River Deep Mountain High," with its "Also Sprach Zarathustra"-esque intro. I don't suppose it occurred to me at that time, but the prog-rock adaptation of the absolute barn-burner performance of that song by Ike and Tina Turner worked strangely well.

Anyway, I do believe that little record player was the basis for my first-ever hack. It had one, small mono speaker on the right-hand side of the unit that left something to be desired as far as sound quality. I also had a 1960s Philips reel-to-reel tape recorder that looked a lot like this and played in stereo; one speaker was on the front of the unit, the other was in the lid. It also had line-level inputs.

With some determined tinkering, I learned that I could wire up the crystal phono cartridge from the record player, which was a stereo cartridge despite the mono circuitry elsewhere, directly to the inputs of the tape recorder and play the whole works back in stereo over the tape recorder's (slightly better) stereo speakers. Later, I "borrowed" a better pair of speakers from somewhere and wired them to the tape recorder's amplifier outputs, and I had a sort-of real stereo that provided me with endless hours of musical enjoyment.

Did I like it more because I made it myself? Looking back, I think so. Certainly that same willingness to tinker has served me well in my life, as I learned about computing in university in the 1970s and moved into System V, then SunOS, then Solaris, and finally Linux, where there is no end of opportunity for further improvement enabled by the concepts of "openness" and "freedom."

Which brings me back to the topic of open source music players on computers running open source operating systems. What a great way to enjoy music and learn something at the same time!

And the music...

Before I go, I have three music recommendations (as usual) acquired from that fine, Linux-friendly music store, 7digital.

First up, Idlewild South, the second album released by the Allman Brothers Band. I never owned this on a vinyl record, although I did have their first album (and, yes, I did play it on my home-brew stereo described above). A number of years ago, I spotted Idlewild South on CD, but it was one of those early digital releases that was recorded at a very low average level and didn't seem to have the kind of impact you might expect from these southern rockers. So, when I saw the album had been remastered and was available as a high-resolution download, I thought I should give it a try.

Of course, sometimes remastering produces pretty lame outcomes because the engineer applies too much compression to make the music seem louder, or too much equalization to try to recover the bass that was eliminated to fit more music on the vinyl release, or whatever. However, my ears tell me that this remastering was very well done. The new version seems to have more punch and sparkle than the lame CD release, anyway.

The download I purchased is 96kHz/24-bit FLAC format, which is probably overkill for this album, but the Spek audio spectrum analyzer shows that the remastering appears to have preserved some reasonable dynamic range and the overtones. So, if you like this album, I recommend this version—especially over the old CD.

Next up, a band that's new to me – American Authors. Based on the album I auditioned and subsequently purchased, What We Live For, these guys are masters of the hook. Wow! This is serious forget-your-problems-it's-summertime music. If you decide to buy this, remember that the sound quality is OK but not great—quite compressed and it occasionally sounds like the recording was a bit too hot. But for dancing around the kitchen while the spaghetti sauce is cooking? Get it!

Finally, music of a different kind: En Otra Parte by the extremely accomplished guitarist Zsófia Boros. Lovely, evocative, and atmospheric music from Latin America interpreted perfectly by Ms. Boros and extremely well-recorded and produced by ECM Records.

About the author

Chris Hermansen - Engaged in computing since graduating from the University of British Columbia in 1978, I have been a full-time Linux user since 2005 and a full-time Solaris, SunOS and UNIX System V user before that. On the technical side of things, I have spent a great deal of my career doing data analysis; especially spatial data analysis. I have a substantial amount of programming experience in relation to data analysis, using awk, Python, PostgreSQL, PostGIS and lately Groovy. I have also built a few