|
Post by calestyo on Feb 14, 2016 18:02:23 GMT -5
Hey. Not sure what you're actually using to play back opus files,.. ffmpeg? Anyway... gapless playback doesn't work :-( If ffmpeg is used, it may be the same what I describe here upsteam: trac.ffmpeg.org/ticket/5238If not,... well you can still use the ticket there for a description what I did.. I hear a similar small gap or some clicks/pops when GMMP moves on from one to the other track... However, if you don't use ffmpeg, the whole "proof" with audacity obviously doesn't apply to GMMP. Any ideas? Chris.
|
|
|
Post by GoneMAD on Feb 15, 2016 7:07:18 GMT -5
Hey. Not sure what you're actually using to play back opus files,.. ffmpeg? Anyway... gapless playback doesn't work :-( If ffmpeg is used, it may be the same what I describe here upsteam: trac.ffmpeg.org/ticket/5238If not,... well you can still use the ticket there for a description what I did.. I hear a similar small gap or some clicks/pops when GMMP moves on from one to the other track... However, if you don't use ffmpeg, the whole "proof" with audacity obviously doesn't apply to GMMP. Any ideas? Chris. gmmp uses ffmpeg for opus. ffmpeg does seem to have gapless issues with some formats
|
|
|
Post by calestyo on Feb 18, 2016 22:33:06 GMT -5
Yeah... unfortunately... and upstream doesn't seem all to open towards fixing those.
Do you see any chances to directly use libopus for playback?
|
|
|
Post by GoneMAD on Feb 20, 2016 21:56:10 GMT -5
Yeah... unfortunately... and upstream doesn't seem all to open towards fixing those. Do you see any chances to directly use libopus for playback? its possible but i dont think anything i'll have the time to do. I spent WAY too much time upgrading the audioengine with codec updates and moving some codecs over to ffmpeg. I still have plenty more to do. I really dont plan on making more changes with the codecs until i have the engine where i want it to be and the additional planned 2.1 features finished. At my rate of development thats going to be a long time from now (i essentially only get time to work on the app on monday and tuesday nights)
|
|
|
Post by calestyo on Feb 21, 2016 0:11:58 GMT -5
I see... well I hope one can get all these gapless issues fixed at upstream... even though ffmpeg devs rather seem to play bureaucracy than do-o-cracy.
|
|
|
Post by calestyo on Apr 3, 2019 20:42:45 GMT -5
Hey. Coming back on gapless playback of Opus files in GMMP. Back then you've said ffmpeg was used for Opus playback. Well it seems they finally fixed this at least in their git master branch. trac.ffmpeg.org/ticket/5238#comment:18 names the commit which probably fixed the issue. In trac.ffmpeg.org/ticket/7828 I make an extensive set of tests for gapless "playback" (respectively decoding) in ffmpeg with different formats, MP3, Opus, AAC. Long story short, MP3 and Opus work (Opus only with more recent code in git, probably not yet released)... and AAC is fully broken. In the 7828 ticket I also link to a number of testfiles I've created, namely there: drive.google.com/drive/folders/1SIt1z3FtlYa-zMEDzF-m8jsMCe2PFsyzOf interest for GMMP would be especially: 01.split-track01.wav 01.split-track02.wav 02.split-track01.mp3 02.split-track02.mp3 03.split-track01.opus 03.split-track02.opus These should all playback gaplessly (I mean each pair)... they do in ffmpeg or e.g. mpv (which also uses ffmpeg), but don't GMMP. Maybe it's as simple as upgrading to the most recent ffmpeg from git which you ship with GMMP? Thanks, Chris.
|
|
|
Post by GoneMAD on Apr 4, 2019 9:31:34 GMT -5
i dont really have plans to update ffmpeg until 3.0 is finished but i guess i can look into getting it into 3.0 assuming the ffmpeg update doesnt have any api breaking changes. I think gmmp is currently using 2.7.3 and the latest is 4.1.x, so that might not be a simple upgrade. Also this fix would have to get into one of the ffmpeg releases (i imagine it will eventually) as will not just update to whatever is on master
|
|
|
Post by GoneMAD on Apr 4, 2019 9:35:42 GMT -5
also for the record i know ogg vorbis has gapless issues in ffmpeg as well. I specially had to write my own decoder using libtremor (vorbis library) for the engine to get around that. I'd definitely love to just use ffmpeg for everything. Would certainly simplify the engine code
|
|
|
Post by calestyo on Apr 4, 2019 15:07:18 GMT -5
Phew... 2.7x... that's extremely old and probably a huge collection of security holes...
Not sure about Vorbis... it's a great format but I'd say now simply outdated by Opus... the only reason for me to have looked into MP3 and AAC was simply because many music stores use these legacy formats for their stuff... and it's never good to re-encode.
|
|
|
Post by GoneMAD on Apr 4, 2019 16:07:33 GMT -5
2.7.x is from like 2016 which in ffmpeg terms is not very old (ive been using it since like 0.4 10+ years ago.. ffmpeg is 18 years old). But yea i dont see much about vorbis nowadays as opus seems to have taken it over. It was great back in the day when it was first introduced
|
|
|
Post by calestyo on Apr 4, 2019 23:22:29 GMT -5
Well... since 2.7.2 I count at least 42 CVEs...
|
|
|
Post by GoneMAD on Apr 5, 2019 9:44:04 GMT -5
Well... since 2.7.2 I count at least 42 CVEs... which really have no impact on pure decoding use in a sandboxed environment (every android app runs in its own sandbox)
|
|
|
Post by ForSerious on Apr 11, 2019 10:53:07 GMT -5
Not sure about Vorbis... it's a great format but I'd say now simply outdated by Opus... Personally, using a lossless 48kHz base song, I was able to ABX opus at the highest quality setting with a reasonable amount of accuracy, but not vorbis at a much lower quality setting. Even without my ABX results, opus doesn't store any information over 18kHz (or 19, I don't remember off the top of my head.). I like to apply different sound processing effects to my music sometimes, and I feel more information (compressed or not) helps the processing.
To me, Vorbis beats Opus.
|
|
cak3
New Member
Posts: 1
|
Post by cak3 on May 5, 2019 23:55:09 GMT -5
Personally, using a lossless 48kHz base song, I was able to ABX opus at the highest quality setting with a reasonable amount of accuracy, but not vorbis at a much lower quality setting.
Even without my ABX results, opus doesn't store any information over 18kHz (or 19, I don't remember off the top of my head.). I like to apply different sound processing effects to my music sometimes, and I feel more information (compressed or not) helps the processing.
To me, Vorbis beats Opus. You could hear the difference between Opus at max quality and lossless? Either you have golden ears, or something else is happening. The people in this listening test and I seem to find Opus pretty much transparent at 96kbps, and at the top of other lossy formats; it's extremely hard for me to pick out differences even at this low of a bitrate. As for the cutoff at 20kHz, there are multiple opinions on that...though since you are processing music, I'd lean towards the idea that more information (even when you can't hear it) will indeed benefit quality, especially with pitch shifting. Anyways, this issue was something that did bother me for a while, but I wasn't sure what was causing it. I don't have many gapless albums, so by the time I noticed it too many variables changed in my listening environment (including my switch from MP3 to Opus). One interesting thing to note was that when I tried the demo for Poweramp a few weeks ago, it seemed to play gapless Opus perfectly. So I'm assuming they either use a newer version of ffmpeg, or a different/custom decoder. GMMP's features are too good for me to consider switching though.
|
|
|
Post by GoneMAD on May 7, 2019 8:38:37 GMT -5
fyi i'll try to do an ffmpeg update at some point in the 3.0 alpha/beta. Due to the changes google is making in android Q/R (scoped storage access.. its awful) i'll have to do a new audioengine build sooner than i was originally planning, so updating ffmpeg in the process makes sense.
|
|