Voyl Posted May 17 Share Posted May 17 I'm using Poweramp with music only from remote providers, the .lrc files have the same base name. Yet, Poweramp isn't seeing them. I was expecting Poweramp to scan them alongside the tracks but apparently it isn't so. Link to comment Share on other sites More sharing options...
andrewilley Posted May 17 Share Posted May 17 As long as the .LRC file has the exact same base filename, and is in the same local folder as the audio file, any contained plain text should be interpreted as unsynchronised lyrics. If the LRC file contains synced data (mostly[mm:ss.xx] timecodes for each line of text) then there may also be header tags at the start of the file such - as [ar:artist], [ti:title] and [length:mm:ss] - which will be validated against the tags within the audio file before the textual content is considered a suitable match for the audio file. There is some slight leniency when checking the overall duration, but it must be fairly close for the text to be allowed. If you have downloaded the audio files and the LRC files from different sources, the details may not match exactly and thus be rejected; you can check this using a text editor to view or change the contents of the LRC files. Synced .LRC files can actually exist in other folder locations, away from the source audio file, and they will be matched using the same header tag validation process. Andre Link to comment Share on other sites More sharing options...
Voyl Posted May 18 Author Share Posted May 18 I don't understand what you're telling me really. Each song has corresponding .lrc file with the same base name, the files only contain [mm:ss.xx] and song lines. They are properly displayed with all of my players. What exactly is Poweramp expecting? Link to comment Share on other sites More sharing options...
Voyl Posted May 18 Author Share Posted May 18 Also, just tested it by moving several music files with their corresponding .lrc files from server to the phone, so Poweramp can play them locally. Lyrics show. So the issue is as stated initially, Poweramp ignores remote lyric files. Link to comment Share on other sites More sharing options...
MotleyG Posted May 18 Share Posted May 18 43 minutes ago, Voyl said: Also, just tested it by moving several music files with their corresponding .lrc files from server to the phone, so Poweramp can play them locally. Lyrics show. So the issue is as stated initially, Poweramp ignores remote lyric files. Since PA is designed to play music stored locally, it is working as designed. There is no support for streaming or network storage playback. Link to comment Share on other sites More sharing options...
andrewilley Posted May 18 Share Posted May 18 @Voyl By "remote file" I assumed you meant library content that is not stored on internal phone memory - such as MP3 files on an SD Card or an external USB memory stick. Are you instead referring to streamed content, fetched over the internet - perhaps a radio station or MP3 file on an HTTP website? If so then PA only has access to that one item for which you have provided a specific URL, it cannot scan the whole remote directory for associated files. Also, the presence or otherwise or LRC files is checked at the initial Library scan (or rescan) stage, so if a music file and any associated LRC file are not already part of the locally scanned Library database when you start playback, PA won't offer to display them. Online streamable content is not scanned into the Library, it is only accessed at playback time. Andre Link to comment Share on other sites More sharing options...
Voyl Posted May 18 Author Share Posted May 18 Since it advertises "storage providers" when picking storage for library. I've assumed that it applies to networked providers too... [like gdrive and similar] Link to comment Share on other sites More sharing options...
andrewilley Posted May 18 Share Posted May 18 Google Drive and other online storage resources such as DropBox, OneDrive, etc are not supported for scanning by Poweramp. PA is a local file music player, with an extra provision of an option to play streams from some online sources - mainly for shoutcast radio stations, but static audio files with HTTP addresses can be streamed too. They are not considered to be part of the local music library though and won't appear in Album, Artist, Genre, Folder, etc views. The specific provided content is only streamed over the internet at playback time. Limited native support for Library scanning of online file repositories (including NAS-based content on your local LAN, and wider online saved content) is in the Feature Requests list though, which you can vote for here: Andre Link to comment Share on other sites More sharing options...
Voyl Posted May 18 Author Share Posted May 18 (edited) Thank you for the information, appreciated. Voted. But since it works [for playing music], what would be the best route to get the lyrics working? I'd like to avoid embedding them. You've mentioned something about Poweramp being able to read them from separate folder. So would it be possible to have them locally and music from networked source? Edited May 18 by Voyl Link to comment Share on other sites More sharing options...
andrewilley Posted May 18 Share Posted May 18 As I said, streamed content is one-off material. read directly using the URL address at playback time only. Neither the file nor any online website directories are scanned at all as part of the local music library scanning - which is when any LRC files are found. Even during playback, the file is only referenced as a specific HTTP URL, not as part of a containing folder. The only way it might work is if you can map the entire remote storage location into a local Android filesystem symbolic copy - for example as a CIFS or SMB shared location - and allow it to be scanned. But it's such a niche option that I doubt anyone has ever tested it: Where exactly are you storing your files (example URL?) and how are you accessing them within Poweramp? Andre Link to comment Share on other sites More sharing options...
Voyl Posted May 18 Author Share Posted May 18 Embedding it is then. I have a local RPi5 powered NAS, and I'm using https://github.com/chenxiaolong/RSAF as provider to abstract it for apps like Poweramp [via sftp, but it supports many many protocols]. It's simple and it works without any fuss [albeit a tad slow to scan initially]. NAS is dlna/upnp enbaled too, so it would be great if Poweramp decided to implement it eventually. Link to comment Share on other sites More sharing options...
MotleyG Posted May 18 Share Posted May 18 2 hours ago, Voyl said: Embedding it is then. I have a local RPi5 powered NAS, and I'm using https://github.com/chenxiaolong/RSAF as provider to abstract it for apps like Poweramp [via sftp, but it supports many many protocols]. It's simple and it works without any fuss [albeit a tad slow to scan initially]. NAS is dlna/upnp enbaled too, so it would be great if Poweramp decided to implement it eventually. In most cases using dlna/upnp cannot maintain a file link to sidecar files like these lrc lyric files, artwork, or even pdf album leaflets. The underlying library managers just don't monitor for these. So embedding these into the file is the only way to keep them intact. Link to comment Share on other sites More sharing options...
Voyl Posted May 18 Author Share Posted May 18 3 hours ago, MotleyG said: In most cases using dlna/upnp cannot maintain a file link to sidecar files like these lrc lyric files, artwork, or even pdf album leaflets. The underlying library managers just don't monitor for these. So embedding these into the file is the only way to keep them intact. I'm not using DLNA in this cale though, the underlying protocol is sftp, which is of no consequence too because the document provider [RSAF in this case] abstracts this and when browsing the files I can see all of them, .lrc included [similarly Poweramp can too]. Link to comment Share on other sites More sharing options...
MotleyG Posted May 18 Share Posted May 18 1 hour ago, Voyl said: I'm not using DLNA in this cale though, the underlying protocol is sftp, which is of no consequence too because the document provider [RSAF in this case] abstracts this and when browsing the files I can see all of them, .lrc included [similarly Poweramp can too]. Maybe so in this case, but it is beyond the current scope of the PA design. It is a mobile music player designed for local media playback. Until the sole developer decides they may pursue any network storage options, this will remain unachievable. Link to comment Share on other sites More sharing options...
andrewilley Posted May 18 Share Posted May 18 As the NAS-based file system is being mimicked into Android's file access protocols, I'm actually surprised that the LRC files are not being detected. As you say, the read process should provide Poweramp with access to crawl the directories as though they were local files. Sometimes some MIME types are not transferred through this sort of process though. As a test to confirm that the audio file and the LRC file are fully compatible, why not copy a couple of examples into your device's local storage and allow Poweramp to scan and play the audio file from there? Do this lyrics appear as expected? Andre Link to comment Share on other sites More sharing options...
Voyl Posted May 19 Author Share Posted May 19 22 hours ago, andrewilley said: As the NAS-based file system is being mimicked into Android's file access protocols, I'm actually surprised that the LRC files are not being detected. As you say, the read process should provide Poweramp with access to crawl the directories as though they were local files. Sometimes some MIME types are not transferred through this sort of process though. As a test to confirm that the audio file and the LRC file are fully compatible, why not copy a couple of examples into your device's local storage and allow Poweramp to scan and play the audio file from there? Do this lyrics appear as expected? Andre I did this already, in the fourth post. Link to comment Share on other sites More sharing options...
andrewilley Posted May 19 Share Posted May 19 @Voyl Sorry, missed that. Then it's presumably just a limitation of the way your external device is providing file/directory access within Android SAF. I've just done some tests using CIFS Documents Provider (a similar app to the one you are using) and can confirm that while audio files are detected and played correctly, and any embedded lyrics are shown, sidecar LRC files that have been saved into the same folder are NOT supported. What you could do, if you don't want to edit the actual audio files, is to put all of your separate LRC files into one folder in normal phone storage (somewhere that you have granted scanning permission via the Music Folders menu). As long as the [ar:artist] and [ti:title] headers in the LRC files match with songs (and ideally [length:mm:ss] too) then those lyrics should be shown for any song that exactly matches its Title, Artist and Length values - regardless of where the actual audio files are stored. Andre Link to comment Share on other sites More sharing options...
Voyl Posted May 20 Author Share Posted May 20 18 hours ago, andrewilley said: @Voyl Sorry, missed that. Then it's presumably just a limitation of the way your external device is providing file/directory access within Android SAF. I've just done some tests using CIFS Documents Provider (a similar app to the one you are using) and can confirm that while audio files are detected and played correctly, and any embedded lyrics are shown, sidecar LRC files that have been saved into the same folder are NOT supported. What you could do, if you don't want to edit the actual audio files, is to put all of your separate LRC files into one folder in normal phone storage (somewhere that you have granted scanning permission via the Music Folders menu). As long as the [ar:artist] and [ti:title] headers in the LRC files match with songs (and ideally [length:mm:ss] too) then those lyrics should be shown for any song that exactly matches its Title, Artist and Length values - regardless of where the actual audio files are stored. Andre Are these headers necessary?, none of my lyrics files have them and they seem to work when they're together locally. I've tried to do as you're advising, just to have folder with lyrics [on the phone] but Poweramp doesn't seem to pick them up. This would be a solution I could live with since I could just sync them with syncthing between devices. Link to comment Share on other sites More sharing options...
andrewilley Posted May 20 Share Posted May 20 4 hours ago, Voyl said: Are these headers necessary? Yes, if you need to read LRC files from somewhere other than the exact same local folder which contains the matched audio file. It's the headers that are used to connect the LRC file to an associated audio file. Without them, there would only be the filename to go on, and with potentially hundreds of assorted LRC files they could very easily be ambiguously linked to the wrong audio content. e.g. "Lyrics/Voulez-Vous.lrc" could be intended to provide synced text for "ABBA/Voulez-Vous/Voulez-Vous.mp3" or "ABBA/Mamma Mia - Original London Cast Musical/Voulez-Vous.mp3" or "Erasure/Abba-esque/Voulez-Vous.mp3". Hence PA uses the Artist header to match the files up, and the length would be helpful to avoid ambiguity between different versions by the same artist too. Andre Link to comment Share on other sites More sharing options...
Voyl Posted May 21 Author Share Posted May 21 (edited) 2 hours ago, andrewilley said: Yes, if you need to read LRC files from somewhere other than the exact same local folder which contains the matched audio file. It's the headers that are used to connect the LRC file to an associated audio file. Without them, there would only be the filename to go on, and with potentially hundreds of assorted LRC files they could very easily be ambiguously linked to the wrong audio content. e.g. "Lyrics/Voulez-Vous.lrc" could be intended to provide synced text for "ABBA/Voulez-Vous/Voulez-Vous.mp3" or "ABBA/Mamma Mia - Original London Cast Musical/Voulez-Vous.mp3" or "Erasure/Abba-esque/Voulez-Vous.mp3". Hence PA uses the Artist header to match the files up, and the length would be helpful to avoid ambiguity between different versions by the same artist too. Andre Do you have an example of such proper file perhaps [the header part mostly]? Imma experiment. Edited May 21 by Voyl clarifications Link to comment Share on other sites More sharing options...
andrewilley Posted May 21 Share Posted May 21 @Voyl To use the example above, if I had all three of those Voulez-Vous tracks in my music library, the start of the three LRC files could look like the following. You only need enough fields to create a unique match though, so even just Title and Artist might be sufficient. The matching logic for length is a bit flexible, to allow for audio rips with longer or shorter fade out or trailing silence for example: [ti:Voulez-Vous] [ar:ABBA] [al:Voulez-Vous] [Length:05:03] [00:21.80]People everywhere [00:23.30]A sense of expectation hanging in the air ... [ti:Voulez-Vous] [ar:Original Mamma Mia London Cast] [al:Mamma Mia The Musical] [Length:03:29] [00:11.40]People everywhere [00:13.50]A sense of expectation hanging in the air ... [ti:Voulez-Vous] [ar:Erasure] [al:Abba-esque] [Length:05:31] [00:40.20]People everywhere [00:42.90]A sense of expectation hanging in the air ... There are lots of other possible header options, such as offset, etc. For more info, see https://en.wikipedia.org/wiki/LRC_(file_format) Andre Link to comment Share on other sites More sharing options...
Voyl Posted May 21 Author Share Posted May 21 (edited) 7 hours ago, andrewilley said: @Voyl To use the example above, if I had all three of those Voulez-Vous tracks in my music library, the start of the three LRC files could look like the following. You only need enough fields to create a unique match though, so even just Title and Artist might be sufficient. The matching logic for length is a bit flexible, to allow for audio rips with longer or shorter fade out or trailing silence for example: [ti:Voulez-Vous] [ar:ABBA] [al:Voulez-Vous] [Length:05:03] [00:21.80]People everywhere [00:23.30]A sense of expectation hanging in the air ... [ti:Voulez-Vous] [ar:Original Mamma Mia London Cast] [al:Mamma Mia The Musical] [Length:03:29] [00:11.40]People everywhere [00:13.50]A sense of expectation hanging in the air ... [ti:Voulez-Vous] [ar:Erasure] [al:Abba-esque] [Length:05:31] [00:40.20]People everywhere [00:42.90]A sense of expectation hanging in the air ... There are lots of other possible header options, such as offset, etc. For more info, see https://en.wikipedia.org/wiki/LRC_(file_format) Andre Probably the easiest way to around this is to just rescrape them with something that provides them... I'll try tonight. Thanks P.S. Now I have an earworm thanks to you.. Edited May 21 by Voyl P.S. 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