Music image

tap is a terminal-based music player with fuzzy-finder

I can feel a tad uncomfortable about being over-critical when reviewing open source software. After all, the developer of a project often regards their project as a labour of love. They have expended considerable effort in engineering their software to their specific requirements and may not regard ‘failings’ I identify as even remotely important.

Witness my recent review of Festival. I criticised the developer in a GitHub issue for a design decision that results in a music player that consumes humongous amounts of memory. This is because the developer has decided to take cover art caching to an extreme. Probably to the developer of that project, RAM consumption is totally irrelevant. And to be fair, for some users it won’t be an issue.

tap is a terminal-based music player that lets you jump to any album with fuzzy-finder shortcuts. It’s got one of the lightest memory footprints of any audio player. It’s written in Rust and published under an open source license.


tap’s developer, Tim Dubbins, provides a .deb package for Ubuntu/Debian distributions.

I tested tap with the Arch-based Manjaro distribution. Tim also maintains a package in the Arch User Repository (effectively a compilation of build scripts). But if you’re not running an Arch-based distro and want to compile the software yourself, the process is simple.

First, clone the project’s GitHub repository with the command:

$ git clone

Change into the newly created directory:

$ cd tap

Now we can compile the source code using cargo, Rust’s package manager.

$ cargo install --path .

You’ll need rustc 1.64 or newer to compile. One of our test systems has version 1.62.0 installed because it’s getting rustc from the rustup package. For that system, I installed the rust package (which removes rustup).

Compiling tap from the source code

The tap executable is stored at ~/.cargo/bin.

That directory may not be in your PATH. PATH is an environment variable specifying a set of directories where executable programs are located.

I could copy the tap file to a directory that’s in my PATH (such as /usr/bin) or leave the executable where it is and permanently add ~/.cargo/bin to my PATH. Let’s do the latter. I’m using Bash. Fire up nano or whatever text editor you prefer and edit the .bashrc file.

$ nano ~/.bashrc

At the end of the file, add the line:

export PATH=$PATH:/home/user_name/.cargo/bin

Replace user_name with your username.

Save the file and exit. At the shell, enter the command:

$ source ~/.bashrc

Instead of the source command, you can log out and log into a new shell.

Next page: Page 2 – In Operation and Summary

Pages in this article:
Page 1 – Introduction and Installation
Page 2 – In Operation and Summary

Notify of

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

Inline Feedbacks
View all comments