musical notes

NoctaVox – TUI music player for local music

Luke is our resident music expert but I like to dabble with music players too.

NoctaVox recently caught my attention. It’s billed as a lightweight, plug and play TUI music player for local music collections. I’m dedicating one of our test machines to TUI software. There’s so much good open source software available that doesn’t have a GUI.

Installation

I tested NoctaVox with the Ubuntu and Fedora distributions. There aren’t distro-specific packages I could find, so I’ll use cargo to install the program. cargo is Rust’s package manager.

First, clone the project’s GitHub repository.

Clone GitHub repository

Change into the freshly created directory and install the program.

$ cargo install --path noctavox

NoctaVox

The vox binary is saved to /home/sde/.cargo/bin which is in my PATH. If you don’t have ~/.cargo/bin in your PATH you can either add that directory to your PATH or copy/move the file to a directory that is. /usr/local/bin might be a good choice.

For testing, I’ve moved over to a different terminal emulator as the program has issues with hyper. That’s probably an issue with hyper itself, software that hasn’t been maintained for years but something I still use regularly.

In Operation

I tested the software initially with our in-house compilation of CC-licensed music. It’s useful to use this specific music set so that we can make accurate comparisons between different clients.

Issuing the command vox starts the music player. I’m prompted to set my root music directory. You can define additional directories from settings.

The easiest way to start listening is to navigate to the album pane (via tab) and queue an album with the q key. The project’s GitHub has a comprehrensive list of the keyboard shortcuts. There are quite a few.

At the bottom of the screen is the oscilloscope view.

NoctaVox playing music
Click image for full size

There’s also a waveform view and a progress bar view (shown below). Out of the three views I find the progress bar view fits my personal preference although it annoyingly alternates in colour (and I haven’t found a way to stop that behaviour).

NoctaVox playing music
Click image for full size
NoctaVox playing music
Click image for full size

I listen to a lot of classical music, and as such gapless playback is an essential requirement for me. 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. NoctaVox supports gapless playback so that’s awesome.

The music player doesn’t support all music formats but the important ones (for me) are supported including FLAC, MP3, OGG, and OPUS.

The software doesn’t have a huge range of features but there is playlist support, live library reloading, and Vim-like keybindings (although I’d really like to be able to change some of them).

Summary

NoctaVox is a surprisingly decent music player that you’ve probably never heard about. It has its own custom backend, it’s really easy to install, supports the mandatory gapless playback, and seems pretty stable in operation from my limited testing.

Your music collection does need to have perfect metadata though, otherwise albums will be scattered around. If you’ve got a large music collection with spotty metadata, you’ll be better off with a different music player unless you’re willing to spend the time editing the metadata (outside of NoctaVox as it doesn’t have any editing facilities)

NoctaVox faces particularly strong competition from other TUI-based music players which are covered in this roundup. It’ll definitely be added to this roundup but it isn’t yet up there with the likes of our recommended players. But it’s not far off!

I’m not a fan of the default theme. Albums are hard to read with its red foreground and black background. The program supports custom theming but there doesn’t appear to have been any other themes set up by default. Maybe that’s an issue with my system?

Website: github.com/Jaxx497/NoctaVox
Support:
Developer: Jaxx497
License: MIT License

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

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments