|
Post by toonie on Sept 9, 2012 3:26:01 GMT -5
Hi, I've just started evaluating GoneMAD Music Player, and liking it so far. Mainly I like the UI. However, there is one issue which I've found which I really hope can be fixed, and that is with Gapless support. I have my music mainly ripped to Ogg Vorbis, as I have several albums which need proper gapless support to play without hicups, IE they are not comprised of 3 minute songs. When played in GMMP, there is still a 'tick' at the track transition, and no playing about with the settings seems to fix it. I have gappless support enabled, and I've tried bumping priorities for playback etc up to highest, to no avail. The tracks are ripped fine, and play back good in other players such as Poweramp. BTW, I'm trying to move away from Poweramp, as the UI is a real pain, which is why I'm evaluating GMMP. My phone is a Samsung Galaxy S2 running Gingerbread, and seems quite stable. I really hope you can help with this Best Wishes, Toonie.
|
|
|
Post by GoneMAD on Sept 9, 2012 11:42:48 GMT -5
Hi.. could you post 2 of the consecutive files that give you this issue? Ogg is gapless by default so gapless its as simple as just adding the audio data from the 2nd one immediately after the first. Mp3 and aac are the difficult ones.
Can you verify in the settings (prefs -> audio -> compatibility) and check to make sure everything is marked as yes for ogg.
Also are you running a custom rom on the s2?
|
|
|
Post by toonie on Sept 10, 2012 14:07:23 GMT -5
Hi, and thanks for the quick response! Yes indeed Ogg Vorbis is truly gapless, which is why I like to use it. The tick occurs on every track transition for me, though it seems more noticeable on quieter pieces. And yes, in the compatibility list, everything for all formats, Including Ogg is marked as 'Yes. I am using the stock ROM which my phone comes with. I have attached a zip archive of 2 sample files, which are edited to make them short, for posting here, and have included a FLAC of a PC grab of the audio output from my phone, so that you can hear what I hear. I hope this helps. Best Wishes, Toonie. Attachments:
|
|
|
Post by GoneMAD on Sept 10, 2012 15:56:20 GMT -5
thanks i'll take a look at it.. one other setting i forgot to mention was to make sure Audio -> Preload Next Track is set to something other than 0 (it defaults to 10)
|
|
|
Post by toonie on Sept 11, 2012 1:13:37 GMT -5
Currently it is set to 10, but have had it on 20 with not noticeable effect.
BTW, I have tried JetAudio Basic, and the gapless support in that player works well, just like Poweramp. I really hope you manage to sort this out, as the UI in your player really is a good match for my needs.
Best Wishes, Toonie.
|
|
|
Post by GoneMAD on Sept 11, 2012 10:12:51 GMT -5
okay.. yea that setting is just telling gmmp at what point of the song to start loading the next track.. the preload takes very little time so anything other than 0 is good.
Have you tried any other formats to see if the gapless works? Like mp3 or flac
gmmp has a bunch of different "decoders" underneath the hood: one that handles mp3/aac, one that handles flac, one that handles mpc, and one that handles wma, ogg, tta, wv, and ape. So if gapless works fine in flac or mp3, that would help it narrow down where the issue is.
|
|
|
Post by GoneMAD on Sept 11, 2012 17:58:59 GMT -5
k well i can hear it on a galaxy s running ICS... i also noticed the pop while listening to an ogg album on my galaxy s3.. this is quite interesting
|
|
|
Post by toonie on Sept 12, 2012 15:55:29 GMT -5
Well, good news in that you've been able to re-create the problem for yourself. I have been having trouble finding some gapless MP3s in my collection to test, so have resolved to creating samples. On the PC using XMPlay, my default audio player, they play fine. However in GMMP there is a very short 'tick' rather than the short gap as with the Ogg Vorbis files. Interestingly though, I also get this tick when playing in Poweramp. Best of Luck!
Regards, Toonie.
|
|
|
Post by GoneMAD on Sept 12, 2012 16:10:07 GMT -5
dont worry about trying to reproduce it yourself.. since it happens on a few of the devices I know it at least isnt a device specific issue.
There are a few ways that players handle gapless for mp3/aac.. only 1 being the "correct way".
The correct way is to read the metadata in the file (has to be properly encoded) that says how many audio samples to skip at the beginning and end of the file. The "hacky" way is something called silence detection which will try to detect silence at the beginning and end of the file and cut that. It is a cheap way to do gapless and many times cuts out samples that were actually part of the track.
If poweramp and gmmp both had skips on the mp3 and xmplay did not.. most likely xmplay is using the silence detection method.
Another possibility would be the mp3 header doesnt follow the spec and is storing the gapless data somewhere else in the file. I have a few files that do this and am still trying to figure out how to properly read it (winamp on the pc can do it so its possible)
anyway fixing the ogg gapless is the last bug i need to fix before the next update so hopefully i'll get that figured out soon
|
|
|
Post by toonie on Sept 12, 2012 16:46:59 GMT -5
I'm pretty sure XMPlay gets it right, IE uses the metadata. I actually went through the steps in this guide: wiki.hydrogenaudio.org/index.php?title=Gapless_playbackto create a series of tracks gapless. Quite tedious but I'm sure I got them right. Also before I went through the steps in the guide to put in the correct metadata, I could hear the track changes in XMPlay. Best Wishes, Toonie.
|
|
|
Post by GoneMAD on Sept 12, 2012 17:47:43 GMT -5
the easiest way is to just rip a cd with LAME or itunes.
The way digital audio works is quite fascinating.. you can incorrectly cut or leave audio samples and still get the gapless transition (it all depends on the garbage data and the audio data around it)
Depending on the decoder, different values end up in the garbage zone.. so lets say the audio is pretty quiet.. not much going on.. the samples may look something like this with all the garbage data properly cut: -1 -2 -1 2 1 0 1 2 -1 2 [start of next song] 1 0 -1 0
you of course would get a clean transition
without the garbage data cut it might look like this: -1 -2 -1 2 1 0 1 2 -1 2 12323 7878 4636 [start of next song] -90 57 2 1 0 -1 0
you would here a click since the wave form spikes
a different decoder look like this -1 -2 -1 2 1 0 1 2 -1 2 0 0 0 [start of next song] 0 0 0 1 0 -1 0
the garbage data are zeros and you would not here a click
anyway I may try running through the manual way suggested in that link and see if gmmp can read it
|
|
|
Post by GoneMAD on Sept 12, 2012 22:59:07 GMT -5
okay so after doing some investigation... i cannot see anything wrong with the gmmp code that is causing the skip.. i've tested countless of my other ogg files and they all transition perfectly (the album i thought skipped actually didnt.. that was part of the song.. was supposed to sound like vinyl static)..
gmmp uses ffmpeg to decode ogg.... alac is also decoded by ffmpeg and I tested an alac version of pink floyd - darkside of the moon and it transitioned perfectly.. so that pretty much narrows down the issue to ffmpeg decoding it
I tried updating ffmpeg to get some more bug fixes on the 0.6.x line that GMMP uses but that didnt help either.
So I unfortunately do not have any immediate solution for those skips.. i will try out a much newer version of ffmpeg and perhaps look into making a decoder using libvorbis (the official ogg vorbis decoder provided by xiph) but that will most likely take awhile.
I am interested in how both poweramp and jetaudio play it smooothly (along with the pc version of winamp).. i know poweramp is based off of ffmpeg as well but also has the silence detection / clipping.. which in at least the files you sent.. would fix the issue.. the end of the file according to the debugging output i did was all values between -5 and 7 which would have been removed using silence detection
during my investigation i did notice on usually thing about the 2 files you sent seemed to be encoded with some non official ogg encoder. The "vendor tag" shows: "AO; aoTuV b5d [20090301] (based on Xiph.Org's libVorbis)"
files encoded using the official version have something like this in that vendor tag "Xiph.Org libVorbis I 20020717".. so do you know what program you used to encode those ogg files?
|
|
|
Post by toonie on Sept 13, 2012 13:50:19 GMT -5
Well, I downloaded the aoTuV tuned version of Oggdrop from here: www.rarewares.org/ogg-oggdropxpd.phpI use this because it is recognised as being a finely tuned version of the Vorbis encoder. IE it gives better perceived sound quality for a given bitrate, but still generates fully compliant Vorbis files. For the record, I did encode the same tracks with the reference encoder, and got the same results. Also, regarding the MP3 tick, I tried again using LAMEdrop, encoding 2 tracks in the same session. Exactly the same findings as before, though this is far less of an issue as Ogg Vorbis, which most of my music is encoded with. With regards to iTunes, I wouldn't want to wreck my computer with that garbage! Best Wishes, Toonie.
|
|
|
Post by GoneMAD on Sept 13, 2012 14:31:46 GMT -5
could you send the mp3 files you encoded? email it to gonemadsoftware@gmail.com (send the ogg file ripped with the official encoder and i can look at that too)
mp3 gapless has been tested like crazy and should work for anything containing readable gapless metadata (i mentioned before that there are some files that seemed to hide the gapless metadata in the tags somewhere that I have not been able to find yet.. so i'd like to see if that is what is happening here)
when trying to debug the ogg file last night I had printed out every single audio sample and understood why the pop was happening.. the last 256 samples or so were all near silence (right around 0) and then the start of the second track jumped straight up to numbers around 20000.. so it didnt look like a clean transition at all.. cutting out the last 500 or so samples actually did make it transition without a click. I just have no idea why the decoder is having issues with it. You said this happens with almost all your ogg files? What is the source of the audio you are ripping?
|
|
|
Post by GoneMAD on Sept 13, 2012 15:01:03 GMT -5
one thing i will try.. that might give me a better idea of what the output is supposed to look like.. is decode the ogg files using winamp on my pc.. then encode to flac.. that should at least show me what the audio looks like when decoded properly
I could also add in silence detection and removal at the end of tracks for the next version.. that would most likely fix the clicks.. although it would just be a hacky work around instead of a true fix
|
|