Music

Festival is a Music Player with a Special Interface

We often review software that’s in an alpha stage of development. Some projects fizzle out without ever reaching a mature release. Others grow into mighty oaks. That’s the nature of open source.

Festival is a graphical music player for local album collections. It’s cross-platform software running under Linux, macOS, and Windows.

Although Festival has made a v1.0 release (it’s premier public release), it’s an example of software that’s in a very early stage of development with the project only starting 6 months ago.

We tested Festival with the Arch distro using the package available in the Arch User Repository (AUR). If you’re not running Arch or an Arch-based distro, the project provides a distro-agnostic AppImage, so you should be able to get up and running on any distro without having to build the software manually.

In Operation

Here’s what you’ll see when starting the software for the first time.

Festival at startup
Click image for full size

You thought we said this is a graphical music player. While the software appears at first glance to be Text-User Interface (TUI) software, it really is using a GUI. More precisely, it’s using egui, a simple GUI library for Rust.

The first thing to do is to add a folder (up to 10 folders can be added) containing your music. To scan the folder(s), press Ctrl-C (not a good choice for a keyboard shortcut). We loaded a small music collection which appeared almost instantaneously.

Festival with a small music collection loaded
Click image for full size

With our test music collection, ps_mem reports memory usage is 144MB. That’s fine.

The developer claims that the software is lightning fast loading a music collection, citing that parsing metadata and album art of 725 albums takes 2 seconds. We put that to the test with a collection of 586 albums. Loading that collection is amazingly brisk and consistent with the developer’s claims.

One of the essential attributes of any music player is gapless playback. In political parlance, that’s a red line not to cross. Gapless playback is the uninterrupted playback of consecutive audio tracks, such that relative time distances in the original audio source are preserved over track boundaries on playback. It’s an essential feature if, like us, you listen to classical, electronic music, concept albums, and progressive rock. Probably 10% of our music collection is ruined without gapless playback.

The great news is that Festival already supports gapless playback. That’s because Festival uses the Symphonia library for decoding, which handles most popular audio codecs with support for gapless playback.

The downsides? The first thing to note is that with 586 albums loaded, ps_mem reports memory usage shoots up to a colossal 1.1GB. That’s a whopper. Presumably there’s a memory leak somewhere.

There’s no support for playlists which may not be an issue for you. But more importantly, Festival doesn’t support compilation albums (albums with various artists) suffering a common problem of splitting the album for each different artist. This can be a complex issue to solve. Even the sublime Tauon Music Box isn’t perfect at handling compilations.

Summary

Festival is like a breath of fresh air. We love it even though it’s definitely not ready to replace mature music players. Don’t be concerned by its idiosyncratic interface. We find it’s amazingly quick to navigate and listen to a music collection with point and click. It’s probably the fastest music player in this respect.

When album compilations are supported and memory usage is fixed, it could even become our favorite music player. If supporting compilation albums is too difficult to solve, one solution would be to add a folder view. With this view the media library is displayed as a folder structure, and therefore doesn’t rely on parsing metadata. Goggles Music Manager offers a good implementation.

For software in such an early stage of development, it’s surprising the range of settings that are available. We can define how artists, albums and songs are sorted, change the results of searches, and more besides.

While Festival is a good name for a music player, it clashes with the University of Edinburgh’s Festival Speech Synthesis Systems software. That’s bound to cause confusion in some circles, and annoyingly required us to uninstall the speech synthesis systems software to install the AUR package.

The developer’s GitHub page indicates there will also be CLI and web frontends released in the future, together with an mpd-like daemon. Interesting!

Website: festival.pm
Support: GitHub Code Repository
Developer: hinto-janai
License: MIT License

Festival 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.

5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Alan
Alan
10 months ago

Woah, that’s one weird interface.

But given you seem relatively positive about it, I’ll give it a whirl. I’ve got 128GB of RAM so it should be enough for my music collection 😉

Paul
Paul
10 months ago

Thanks for the gem!

Dansky
Dansky
10 months ago
Reply to  Paul

gem, that would be Ruby not Rust 🙂

Trickster
Trickster
9 months ago

Festival’s GitHub repository has been deleted.