klesun Posted May 10 Share Posted May 10 Poweramp build number: build-976-bundle-play [976004-c2601e58] Full Version 64 bit My device model: Samsung Galaxy S10e (SM-G970F/DS) My Android version: 12 My custom ROM name/version: rooted with Magisk 27.0, but using standard OS: One UI 4.1 ## Abstract Hi. I'd like to report a behaviour that is either a bug or is frustratingly unobvious. As you know, Poweramp supports id3v2 lyrics tags, both SYLT and USLT: when playing a song with embeded lyrics you can normally click a hamburger button that shows you the lyrics text, which is super cool. But today, with trial and error, I finally realized that when you play the audio file from a file manager (from Downloads directory), rather than from a directory that was configured for Library scanning, the app is never able to detect the lyrics, resulting in "No lyrics found" screen when you tap the hamburger/lyrics button. On the "No lyrics found" screen there is also a gear button that leads you to Lyrics settings that has a "Rescan Lyrics Tags" function with very specific description: "Force rescan tracks which may contain lyrics tags, includin SYLT", but sadly that rescan button still does not have any effect on files played from Downloads directory. One may conclude that something is wrong with the SYLT data in the file, after all, there is some ambiguity about how this format is supposed to work, but in reality, the issue is not in the SYLT in the file, and not even in Poweramp's support for SYLT, but simply in the way how Poweramp interacts with the file system. If you move exact same mp3 file in a directory that is configured as a Library (like Music directory) and open the file from the Library view (tapping Rescan beforehand to make it appear), then the lyrics miracluously start working! ## Steps to Reproduce Download the attached mp3 file "compiled_chap1.mp3" and put it in the Downloads directory on your phone (I guess any directory that is not scanned for the Library would do) Open this file from File Manager with the Poweramp Tap the "⋮" button on the Now Playing view and then on the "Lyrics" Observe that "No lyrics found" screen is displayed instead of the lyrics text. See attached "01_from_downloads.jpg" screnshot. Tapping "Rescan Lyrics Tags" in the settings does not make lyrics appear. Now put this mp3 file in a directory that is scanned by Poweramp as a Library Open this mp3 file from the Library view (I used Library -> Folders, but I think All Songs worked too) Tap the "⋮" button on the Now Playing view and then on the "Lyrics" again. Observe that you can see the lyrics and they even follow the playback! See attached "02_from_library.jpg" screnshot. ## Actual Behaviour 4. "No lyrics found" screen is displayed instead of the lyrics text. See attached "01_from_downloads.jpg" screnshot. Tapping "Rescan Lyrics Tags" in the settings does not make lyrics appear. ## Expected Behaviour The lyrics should be shown as they are when you open the file from a Library directory. (if id3v2 lyrics are not intended to be working without library, then I believe it would be a big UX enhancement to at least mention on the "No lyrics found" screen that they don't work because file is not in a Library) ## Afterword I'm filing this not so much for the actual fix, but more just so that people could google this when they are trying to make SYLT work with Poweramp and are pulling their hair out from it seemingly randomly working on one file and not working on another, even though they both properly follow the SYLT specification. poweramp_log_id3_lyrics_not_syncing_from_fm.txt compiled_chap1.mp3 Link to comment Share on other sites More sharing options...
klesun Posted May 10 Author Share Posted May 10 One more screenshot to help you understand the context Link to comment Share on other sites More sharing options...
andrewilley Posted May 10 Share Posted May 10 Poweramp is primarily a Library-based player. The fact that it can accept one-off files launched independently from a file explorer is an extra bonus, but I've noticed that a number of features won't work as that song won't be part of the main Music Database. I've just done a quick test with one of my own files though (MP3 with embedded synced lyrics) and it works fine without the file being in the Library. I'll see what's different about your test file when I launch it from a file explorer. [Edit] Your file works fine too. PA build 981 on a Samsung Galaxy A54, Android 14, with file launched to PA from Solid Explorer or Total Commander: Andre Link to comment Share on other sites More sharing options...
andrewilley Posted May 10 Share Posted May 10 Just to add to this, the lyrics in the file that you have sent are encoded within ID3v2.4 extended frames, which many apps might not recognise (ID3v2.3 is much more common). PA does seem to cope fine though. MP3Tag and TagScanner on my PC don't see the synced lyric frames at all though, I had to use Exiftool to see the contents. Andre Link to comment Share on other sites More sharing options...
klesun Posted May 11 Author Share Posted May 11 Hm, thank you very much for looking into my case. I did not consider that this issue would not reproduce on other devices, I wonder if there are other steps I did not note, like granting some permissions. I'll try to download the 981 version from https://Poweramp-music-player.en.uptodown.com/android/download and do a factory reset to see if I can reproduce it on clean. Link to comment Share on other sites More sharing options...
andrewilley Posted May 11 Share Posted May 11 @klesun Please download from the official site here, rather than third-party APK sites: Andre Link to comment Share on other sites More sharing options...
Solution klesun Posted May 11 Author Solution Share Posted May 11 Thanks! It appears that the 978-981 build does not have the issue I described: after installing the 978-981 version I can play the file from Downloads and I do see the lyrics! Guess my issue was fixed somewhere between 976 and 978-981. I did a factory reset and first installed the 976 version from Google Play Market, the lyrics were still not showing on the file in Downloads, but after I installed the 978-981 from the link you provided the lyrics started to show. Hope 978-981 makes it from beta to stable soon and nobody will ever have to face this issue. Thank you very much. Link to comment Share on other sites More sharing options...
AlienLogic Posted August 28 Share Posted August 28 (edited) On 5/10/2024 at 8:26 AM, klesun said: compiled_chap1.mp3 which software did you used to write the SYLT tag on this file? I've tried with SyltEdit but Poweramp didn't read the SYLT tag. Recently I've tried a NodeJS library for edit ID3 but Poweramp still doesn't read the SYLT tag (both from file manager and library), I've check the file with a hex editor and the tag was written correctly. file.mp3 This is the file tagged with node-id3 Edited August 28 by AlienLogic Link to comment Share on other sites More sharing options...
maxmp Posted August 29 Share Posted August 29 @AlienLogic Poweramp won't try to display SYLT tag if # of lyrics lines < 5 and there are few other MIN and MAX limits for various lyrics format (to skip various trash we have in tracks in the wild). Link to comment Share on other sites More sharing options...
klesun Posted August 29 Author Share Posted August 29 @AlienLogic I used node-id3 library. Here is the code (the getTags() function): https://github.com/klesun/re-zero-web-novel-ru/blob/0e3debf5a0c5b897634e0fd1a21b30e50f154ba8/scripts/compile_chapters.js#L137 Link to comment Share on other sites More sharing options...
AlienLogic Posted August 29 Share Posted August 29 7 hours ago, maxmp said: @AlienLogic Poweramp won't try to display SYLT tag if # of lyrics lines < 5 and there are few other MIN and MAX limits for various lyrics format (to skip various trash we have in tracks in the wild). ooooooh now actually works what a shame though... instead a setting to be able to choose whether to also show shorter lyrics? similarly to the setting to not show tracks shorter than a certain length, what do you think? thanks, you are a shooting star 6 hours ago, klesun said: @AlienLogic I used node-id3 library. Here is the code (the getTags() function): https://github.com/klesun/re-zero-web-novel-ru/blob/0e3debf5a0c5b897634e0fd1a21b30e50f154ba8/scripts/compile_chapters.js#L137 we both used nodejs then, nice Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now