Tempo – An open source music client for Subsonic built natively for Android, with Android Auto support and synchronized lyrics and it's available on F-Droid
github.com
Hello community, today I want to present to you the work done on Tempo in recent months. This new version brings improvements to Android Auto, a first use of the OpenSubsonic API, synchronized song lyrics and the ability to customize the home screen.
As usual, Tempo is free and open source, by the community and for the community. You can follow the development on Github and you can download it from F-Droid as well.
If you appreciate the work put into Tempo, remember that you can star the project on Github or make a donation! It’s not much but it’s useful to help the project grow and give visibility to the app.
What does
Mean?
The OpenSubsonic project aims to extend and improve the classic Subsonic APIs in various ways: by adding new endpoints, clarifying existing APIs, or extending functionality. All while maintaining backward compatibility with the old APIs. Understanding whether the server supports the API, requesting the list of supported extensions and acting accordingly is the first step to integrating the OpenSubsonic API. Initial work was done with synchronized lyrics using an endpoint that does not exist in the classic version of the API but was introduced by OpenSubsonic.
Oh okay, so up until now it just supported SubSonic and now it supports both SubSonic and OpenSubSonic.
As a Navidrome host, will this benefit me?
Yes I use it. By far the best mobile app I've used with Navidrome and possibly the only one with lyric support.
As far as I known, subsonic is currently closed source and other reimplemented the api with open source programs. Than some people got together to make a standard that was not tied to a closed source programs.
https://opensubsonic.netlify.app/
I actually looked went down that rabbit hole a little, thanks for the link. Seems most of the commits thus far are from the Navidrome developer and the Symfonium developer.
I found this and this which seems to flesh out what it is pretty well.
The tl;dr is they added some flexibility to the API because since subsonic went closed source everybody's been working off the original specs which doesn't account for all the extra bells and whistles that have been added in the past seven years.
I read the whole thread about the initial plan extension versus version number, etcetera, that was really intriguing.
Looks pretty and is stable, but two fatal flaws:
Browsing by genres displays individual pieces/songs, not albums. Browsing albums or artists doesn't allow any filtering by genres, years or any other metadata. Haven't found a way to change that behaviour and as someone who listens to albums, not songs, and has thousands of albums this is a complete dealbreaker for me.
No support for UPnP/DLNA to stream from my phone to my stereo (or, for that matter, any modern AV receiver/streamer/network stereo receiver all which support UPnP/DLNA).
To add to this list
Regarding #5 go to the now playing song and tap on the album cover. 4 options should come up. Its the bottom right option.
Side note. I know the other options have download and add to playlist, but I have no idea what the option with the arrow going up does.
I pressed that and it said something about no description. But see, this is why tooltips are good
I think this is the first subsonic android client that is not an eyesore. I wanted to use something like this for a long time but the clients were simply to ugly and aesthetics are important to me. I will definitely give it a try and maybe even submit some PR if I find something missing and have time to contribute. You have my star.
Thanks for this! I tried tempo like a year ago but kept using substreamer. Time (haha) to give it another shot.
I tried it a few weeks ago and found it to be missing some things I considered vital. Having just played with it again, it's added a few of those things. Sadly no smart playlist support yet though.
Tried it with 3.7.0, but somehow the app stopped working, and I've continued using Ultrasonic, but will give Tempo another try, as soon as 3.8.0 is available on F-Droid. Liked the Tempo-UI more, than Ultrasonic’s.
Is there an equivalent for Jellyfin that anyone knows of?
JellyAmp? Oops, it's called FinAmp https://f-droid.org/packages/com.unicornsonlsd.finamp/
There's also FinTunes https://f-droid.org/packages/nl.moeilijkedingen.jellyfinaudioplayer/
Does this have synchronised lyrics ?
It will have support before Jellyfin 10.9 is officially released. I'll be working on that feature myself! :D
Super excited for this one! Thank you so much
So, have you tried it already? :D
Yes sir! <3
Nice! And how do you like it? Anything that's missing or not working for you? :)
It works flawlessly. Chefs kiss. I haven't gotten a chance to use much of the lyrics feature yet. I am on bike now a days, so not able to sing along.
But I am going on road trip(car) soon and my friends and I will be singing our hearts out. This time we won't have to keep on looking up the lyrics after the song changes 😂😂.
However, I would love to see the following 2 options
To see lyrics by default. Right now , I need to click on the current playing song at the bottom of the screen, then click on the lyrics button. It would be great if I could customise it to always show lyrics.
Disable timestamps appearing on each line of lyrics.
One more question, are you the developer ? 🙈
That's great to hear! Just make sure you have all the lyrics set up in Jellyfin before you start the road trip, Finamp only fetches from the server and not from any other websites :)
There will probably come some changes to the lyrics interaction, I'm also not a fan of the current setup. Toggling between lyrics or the cover seems doable.
Customizations for the lyrics, like hiding the timestamp and centering, is definitely planned. Maybe I can even fit it into the next update!
And yes, I'm the current maintainer of Finamp, since the original creator is currently busy with uni. They're still around though, and there also are some awesome contributors helping out with a ton of stuff!
If you have any other questions, feel free to reach out. I'll try to reply in less than two days xD
Oh superb that's great to hear. I am not a developer but I am good at documentation. Is there anything that needs edition from documentation stand point, please feel free to let me know. I will be more than happy to help you with such tasks.
And thank you so much for your efforts ❤️❤️
Hmm, my goal with the app is to not require an external documentation, I'd like to make it straight-forward enough to use as it is.
The only thing we really need would be developer documentation, but I'm not sure if you can help with that, especially since you don't know the codebase.
If you can think of something else to contribute, or if you want to add a basic GitHub wiki for the most common functionality and issues, I'm happy to discuss things further!
I can't say for sure, it seems to have had support added in 10.9: https://forum.jellyfin.org/t-lrc-support-coming-soong?pid=1340#pid1340
Lovely!
When will the new version be available in fdroid?
Love everything about this app, thanks for the hard work!
This prompted me to open Tempo I have installed from F-Droid but haven't used in a while, and the app crashed on startup. Logcat had the most unusual message: