musical notes

Revisited: termusic – terminal-based music player

The term gapless playback sometimes causes confusion. Gapless playback means tracks flow into the next song without pause. This allows seamless transitions from track to track. This is so important for albums that were designed to have the tracks run together. It’s not just classical music that so often mandates gapless playback. Listening to electronic music, concept albums, and progressive rock is often ruined when artificial gaps are inserted between tracks.

When we reviewed termusic back in April 2022 we lamented that this music player was a strong candidate for someone looking for a terminal-based music player with one exception. The software lacked gapless playback.

Shortly after our review, the developer of termusic informed us that he’d added gapless playback. Regretfully we never revisited the software. Let’s put that right now!

We originally evaluated the software under Ubuntu. This time, we tested the software in Manjaro, an Arch-based distro. There’s a package in the Arch User Repository (AUR) for the latest version of termusic (at the time of writing that’s v0.7.8). The software built with no issues.

In Operation

Here’s an image of termusic in action.

termusic
Click image for full size

As you can see from the image above, there’s now gapless playback functionality. From limited testing, it appears this works well!

Other notable functionality that has been added since April 2022 including:

  • Podcast player. There’s the ability to search for new podcasts as well as the option to download them. Access the podcast feeds by pressing the “3” key.
  • The ability to search the database
  • Remembering the playing position which is useful for long tracks such as audio books.

With a default music library (consisting of a small set of albums licensed under a Creative Commons license), version 0.7.8 uses 20MB of RAM. That’s actually a lower memory footprint than the version we previously tested (version 0.6.13). Our memory usage chart for Aqualung shows that the earlier version of termusic (version 0.6.13) consumed 26MB of RAM. Irrespective, termusic remains the most frugal music player out of the music players we’ve tested. These figures are as reported by ps_mem.

Chart showing memory usage for a wide range of music players

Summary

The current version of termusic is a significant improvement on the previously tested version. Adding gapless playback fixes the showstopper that meant we couldn’t recommend this music player. Now that this feature is present, the software gets our recommendation.

Generally we’re not a fan of including podcast support in a music player. In part this is because Linux already has some awesome dedicated podcast players. But termusic’s podcast implementation is pretty impressive. It’s easy to find new podcasts with its search functionality.

termusic lacks the polish and stability of musikcube. While it doesn’t currently usurp musikcube as the #1 terminal-based music player, it’s a credible alternative.

Now that gapless playback has been added, we recommend the project should focus on continue to fix bugs before adding new features. Even after an hour of testing we found too many bugs. Here’s just a couple. When listening to a playlist, if you delete an entry from the playlist, the software can get confused reporting the wrong track being played. More intermittently, pressing the key “f” to forward through a track has issues when playing from a playlist. Press the key too many times on a track and sometimes fast forwarding stops working.

Website: github.com/tramhao/termusic
Support:
Developer: Larry Hao
License: GNU General Public License version 3

termusic is written in Rust. Learn Rust with our recommended free books and free tutorials.

Subscribe
Notify of
guest

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

0 Comments
Inline Feedbacks
View all comments