Hi everyone!
It's been a month since the last release, and we've been busy!
Aside from the usual fixes and improvements, Finamp can now show lyrics for your music! This makes Finamp fully compatible with all new music-related features arriving with Jellyfin 10.9, so you can enjoy the new features right-away!
The beta is a work-in-progress, there are several new features already, but we will be adding more features over time.
The beta is free and open to everyone, but we'd like to get as much feedback as possible. So please do try it out and then let us know what you think!
If you're not using the beta yet (how to join) (click to expand)
On iOS, join the beta on TestFlight.
Keep in mind that all of the text in the beta hasn't been translated yet, so it will be shown in English no matter which language your device is set to. We're not able to add more translations to the beta just yet (it's not as easy to configure as we'd hoped), but we'll let you know once you can help translating all of the new stuff!
About Jellyfin 10.9
As you may have heard, the next big Jellyfin update, 10.9.0, is finally right around the corner! It's been almost 2 years since the last release that added new features, so this is a big deal, and there are many new features introduced with 10.9.
The main two features for music are lyrics support and volume normalization. Both of these features are supported by Finamp 0.9.6 (this release right here), so after you upgrade your Jellyfin server, you'll be able to enjoy them right-away!
Important Note: If you downloaded any music to your device before you upgraded to Jellyfin 10.9, the new metadata for lyrics and volume normalization will not automatically be updated for offline mode. After upgrading to 10.9 and confirming that your metadata is available in the web client, you'll have to go to the downloads screen in online mode and click the repair button (middle button at the top right, crossed hammer and screwdriver). This will load any missing metadata from the server for offline use. A message saying "Currently repairing" will be shown in the top section; please be patient and wait until it is hidden again. You'll only have to do this once.
Alternatively, you could delete and re-download everything (remember we have transcoded downloads now ^^).
What's New
Lyrics Support (Jellyfin 10.9+)
As teased in the last release and on Discord, Finamp now supports showing lyrics for your music! Lyrics are automatically extracted from embedded tags and .LRC
files, and both synchronized and un-synchronized lyrics are supported. You can open the lyrics screen by tapping the button on the player screen in the bottom right corner.
Since this is a pretty big new addition that didn't exists on the server before, I'd love to hear your feedback about this! Let me know what you like or don't like, and if you need any configuration options. I know this feature isn't perfect yet, but I need your feedback to figure out what exactly needs to be improved.
Lyrics are downloaded along with the tracks themselves and will therefore work just fine in offline mode too. To get offline lyrics for your existing downloads, you'll first have to go to the downloads screen in online mode and click the repair button (middle button at the top right, crossed hammer and screwdriver). This will download any missing lyrics from the server for offline use. A message saying "Currently repairing" will be shown in the top section; please be patient and wait until it is hidden again.
This feature requires at least Jellyfin 10.9.0.
Volume Normalization Support (Jellyfin 10.9+)
Finamp's beta has supported Volume Normalization in combination with a Jellyfin 10.9 server from the start, but with 10.9 being almost here, and some recent changes to how the server handles Volume Normalization, I thought it would be good to include this in the release notes again
Jellyfin 10.9 will scan your music library for ReplayGain tags, and if it can't find them, generate "Loudness Units Full Scale" (LUFS) values for each track and album. These values can be used to calculate a gain for normalizing the volume of your music, so all tracks appear more or less equally loud.
Finamp will use these values and apply the normalization by default, as long as the server has generated them.
There are three different modes for Volume Normalization:
- Track-based: Finamp will always normalize each track individually. This will result in the best normalization, but will get rid of some purposeful differences in volume, like between different tracks of the same album
- Albums Only: Finamp will only normalize the volume when playing an album, using the album's normalization gain for all tracks
- Hybrid (default): Finamp will normalize individual tracks using each track's gain, but when playing an entire album (or adding the entire album to the queue / Next Up), the album's gain will be used instead. This will ensure good normalization in all cases, while still preserving artistic differences in volume across tracks of the same album
Some caveats:
- Previous beta versions technically already supported this feature, but the Jellyfin server team made some last-minute adjustments to how this feature works after some internal discussion. This means that only this version (and any future versions) support this feature.
- In order to use Volume Normalization with your existing downloads in offline mode, you'll first have to go to the downloads screen in online mode and click the repair button (middle button at the top right, crossed hammer and screwdriver)
- This will load any missing info from the server for offline use. A message saying "Currently repairing" will be shown in the top section; please be patient and wait until it is hidden again.
- Any new downloads will come with all the necessary data from the start
- Volume will be normalized to -18 LUFS by the Jellyfin server, which is the recommended value and also used by the ReplayGain 2 standard. This means music played on Finamp will be quieter than before, but should now be more consistent with other music streaming apps like Spotify
- On iOS, we aren't able to directly change the gain of the audio, so we need to change the actual volume to emulate the normalization. That means the volume will be lower (75% by default), and tracks which are much quieter than -18 LUFS will still not be as loud as the other tracks, since we cannot boost the volume above 100%. Since almost no tracks are this quiet, it shouldn't be a problem, and the listening experience should still be a much better overall.
- This feature requires at least Jellyfin 10.9.0
Playback Speed Control (mainly contributed by @lymnyx)
It's been an "upcoming feature" for a while now, but you can finally control the playback speed of audio in Finamp!
By default, the speed controls in the player screen menu will only be shown for tracks that are considered podcasts or audiobooks. The criteria for this currently are:
- The track is longer than 15 minutes, or
- The track is part of an album that is longer than 3 hours, or
- The track has at least of of these genres assigned:
Audiobook
,Podcast
,Speech
However, you can configure this behavior in Settings > Layout & Theme > Customization > Playback Speed Visibility. There you have the option to keep using the automatic detection, or always show the controls, or hide them completely.
More Audio Metadata
In order to improve the lyrics experience, we've improved the metadata available to Finamp during playback.
This means that Finamp will now show more information about the track that is currently being played:
- Codec
- Bitrate
- Sampling Rate
- Bit depth (not always available)
- Media Size
- Applied normalization gain (only if Volume Normalization is enabled)
Showing this information has been requested by many, and for a long time. I'm really happy that this is finally done!
The metadata has also been redesigned to take up less space and be less "distracting". It will probably be moved to the bottom edge of the player screen in a following update.
Given that there can now be up to 8 pieces of metadata shown at once, I'm looking into ways of customizing which pieces are actually shown.
I'd love to hear your thoughts about the new metadata, especially what is and what isn't useful to you! Please also let me know if any of the shown metadata appears to be incorrect!
Other changes
- Show current position in queue, as well as total length remaining duration (contributed by @Komodo5197)
- Allow adding tracks to the queue even if nothing is playing yet (contributed by @Maxr1998)
- Improved queue behavior when stopping playback (contributed by @Komodo5197)
- Show correct number of downloaded songs on the downloads screen (contributed by @Tiefseetauchner)
- Adapt fast scroller (alphabet list) to Right-To-Left languages
- Fixed missing source name when adding a track to queue from the menu
- Re-enable shrinking the album header when scrolling down within an album to fit more tracks on smaller screens
- Slightly changed layout/grouping of elements on the player screen
- Fixed wrong track being played when using search while in offline mode
- Fixed wrong action buttons being shown after reordering the order of the tabs
Upcoming Features
We have a lot of features planned for the future, and we're always open to new ideas. Here are some of the things that we're planning to add:
- Android Auto / Automotive Support
- Desktop Support 👀
You can take a look at the full list and current progress in the Redesign project.
I really hope you enjoy the new features as much as I do. I've been putting a lot of effort into them, and really hope that it paid off!
With most of the Jellyfin server changes out of the way, it's also time to improve Finamp's own capabilities soon, in addition to fixing bugs and supporting more existing Jellyfin features. So stay tuned for the next updates!
Thank you for using Finamp!
- Chaphasilor
Download Links
- Google Play: Join the beta
- TestFlight: Join the beta
- F-Droid: not available, see above
- APK: see below