HydrogenAudio

Lossy Audio Compression => Opus => Topic started by: Anakunda on 2016-11-04 07:08:35

Title: Opus 1.2 alpha
Post by: Anakunda on 2016-11-04 07:08:35
Hiyas,

New version is available for testing - alot of improvements:

Quote
This Opus 1.2-alpha alpha release of the upcoming Opus 1.2 brings many quality improvements, new features, and bug fixes, including:

  • Speech quality improvements especially in the 12-20 kbit/s range
  • Improved VBR encoding for hybrid mode
  • More aggressive use of wider speech bandwidth, including fullband speech starting at 14 kbit/s
  • Music quality improvements in the 32-48 kb/s range
  • Generic and SSE CELT optimizations
  • Support for directly encoding packets up to 120 ms
  • DTX support for CELT mode
  • SILK CBR
  • Support for all of the fixes in draft-ietf-codec-opus-update-04 (the mono downmix and the folding fixes need –enable-update-draft)
  • Many bug fixes, including integer overflows discovered through fuzzing (no security implications)

For testing:   :D

Title: Re: Opus 1.2 alpha
Post by: Funkstar De Luxe on 2016-11-04 08:27:43
Still hoping for a quality push at 96kbps :-D
Title: Re: Opus 1.2 alpha
Post by: Brazil2 on 2016-11-04 10:21:38
opus-tools.2016-11-02.zip
That's Lord Mulder's builds he has originally posted here:
http://forum.doom9.org/showthread.php?p=1784666#post1784666

Just to give him the credit he deserves.
Title: Re: Opus 1.2 alpha
Post by: Anakunda on 2016-11-04 10:54:27
Sure, props to Lord Mulder. That build is based on GIT sources, the other is built on sources from opus-codec.org announced yesterday, don't know if there's difference.
Title: Re: Opus 1.2 alpha
Post by: butrus on 2016-11-04 17:53:03
Just for completeness:

annoucement: https://www.opus-codec.org/release/dev/2016/11/03/libopus-1_2_alpha.html (https://www.opus-codec.org/release/dev/2016/11/03/libopus-1_2_alpha.html)
source code: http://downloads.xiph.org/releases/opus/opus-1.2-alpha.tar.gz (http://downloads.xiph.org/releases/opus/opus-1.2-alpha.tar.gz) (for those using a real OS  ;)  )
Title: Re: Opus 1.2 alpha
Post by: Seren on 2016-11-05 05:13:26
Is opus-1.2-alpha.rar an AVX2 compile? Doesn't work for me.
Title: Re: Opus 1.2 alpha
Post by: Anakunda on 2016-11-05 05:40:06
Yes using AVX2 (selectively)
Should work on any configuration
QaxSSE2,SSE3,SSSE3,SSE4.2,AVX,CORE-AVX2,CORE-AVX-I,MIC-AVX512,CORE-AVX512

A new Lord Mulder's tools for updated git master.
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2016-11-05 17:44:53
My own Opus-tools compile made through media-autobuild_suite.

Opus-tools v0.1.9-35-g49c5f27 (using libopus 1.2-alpha-3-g132ed59)
Title: Re: Opus 1.2 alpha
Post by: Anakunda on 2016-11-06 16:47:42
I've just made an attempt to build libraries for phone.
What I've got are files lib/libopus.so.0.5.3 and lib64/libopus.so.0.5.3.
How can I test if they work and can I replace libopus.so in /system/lib and /system/lib64 ?
The OS seems not to use them anyway.
Title: Re: Opus 1.2 alpha
Post by: Seren on 2016-11-06 22:21:14
Yes using AVX2 (selectively)
Should work on any configuration
QaxSSE2,SSE3,SSSE3,SSE4.2,AVX,CORE-AVX2,CORE-AVX-I,MIC-AVX512,CORE-AVX512

A new Lord Mulder's tools for updated git master.

Thanks, the AVX build from that one works for me. I'm using an AMD 8320 btw so it has AVX but not AVX2.

EDIT: I want to one day do my own compiles (just for testing) but couldn't seem to work out how to get it working in VS2015 :/
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2016-11-07 13:24:20
Opus-tools v0.1.9-35-g49c5f27 (using libopus 1.2-alpha-5-gd73c5a9)
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2016-11-12 18:38:18
Opus-tools 0.1.9-36-gbd7489f (using libopus 1.2-alpha-10-gab14848)
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2016-11-21 12:05:55
Opus-tools 0.1.9-36-gbd7489f (using libopus 1.2-alpha-12-g8fe210f)
Title: Re: Opus 1.2 alpha
Post by: AliceWonderMiscreations on 2016-12-08 15:24:16
I've been using 1.2 alpha on CentOS 7 for about a week now and so far have not had any problems with it. I can't verify the improvements, I'm not set up for A/B tests, but I have not noticed any breakage as a result of updating to this version.
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2016-12-26 16:11:52
Opus-tools 0.1.9-36-gbd7489f (using libopus 1.2-alpha-18-gefcdeb9)
Code: [Select]
http://www38.zippyshare.com/v/WDkvD8fI/file.html
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-01-02 17:01:28
Opus-tools 0.1.9-37-g3862c10 (using libopus 1.2-alpha-18-gefcdeb9)
Code: [Select]
http://www5.zippyshare.com/v/2swk6lW1/file.html
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-01-10 06:58:07
Opus-tools-0.1.9-37-g3862c10_(using libopus 1.2-alpha-19-gec11c82)
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-01-13 22:24:55
Opus-tools-0.1.9-37-g3862c10_(using libopus 1.2-alpha-21-gc9ba552)
Title: Re: Opus 1.2 alpha
Post by: mzso on 2017-01-20 13:55:00
Was a constant quality mode ever considered for opus tools?
It'd be nice if I could just set a parameter and get audio with a predictable quality.
Though wiki claims 192kbps for transparency, I expect that 96kbps*channel-numbers doesn't make much.
Which brings up the question: What to set for 5.1/7.1, etc?
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-01-23 14:29:12
Opus-tools 0.1.9-56-g5aecfed (using libopus 1.2-alpha2)
h**ps://git.xiph.org/?p=opus.git;a=summary
h**ps://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-01-24 13:18:52
Opus-tools v0.1.10 (using libopus 1.2-alpha2-2-g32b302c)
h**ps://git.xiph.org/?p=opus.git;a=summary
h**ps://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: Gyulank on 2017-01-27 01:50:12
I tried, but if I choose more than 60 ms, just closing the program.
Title: Re: Opus 1.2 alpha
Post by: jmvalin on 2017-01-27 02:49:58
  • Support for directly encoding packets up to 120 ms
I tried, but if I choose more than 60 ms, just closing the program.
What program? Also, note that support for 120-ms packets was added only to the Opus library, not necessarily to all the software using Opus. Last thing... are you sure you actually want to use 120-ms frames? If you're encoding files, then you'll get better results with the default (20 ms). The only reason to use 120-ms packets is when you're doing VoIP over RTP and your bitrate is so low that you need to save on the RTP headers.
Title: Re: Opus 1.2 alpha
Post by: Gyulank on 2017-01-27 06:48:51
These programs. Opusenc in
Opus-tools-0.1.9-37-g3862c10_(using libopus 1.2-alpha-21-gc9ba552)_x86_x64_gcc630;
Opus-tools-0.1.9-56-g5aecfed_(using libopus 1.2-alpha2)_x86_x64_gcc630;
Opus-tools-0.1.10_(using libopus 1.2-alpha2-2-g32b302c)_x86_x64_gcc630

I try the 120ms because the
not enough fine for me, but I trying minimal filesize.
Title: Re: Opus 1.2 alpha
Post by: jmvalin on 2017-01-27 08:36:22
I try the 120ms because the
  • Music quality improvements in the 32-48 kb/s range
not enough fine for me, but I trying minimal filesize.
If you want smaller files for the same quality, use the default. 120ms will give you *bigger* files. If 120 ms (or 60 ms before that) was the best option, we would have made it the default. We don't hide good options behind flags, we try to have the best quality by default. Almost any option you can use with opusenc (except for --bitrate of course) means "I'm willing to get slightly worse quality/bigger files to get this particular feature".
Title: Re: Opus 1.2 alpha
Post by: Gyulank on 2017-01-27 09:30:54
About half year ago I tried to compare mp3 and opus formats. I think that the 64kbps opus = with the 320kbps mp3.
I didn't hear different in stereo separate, or quality when I used bigger framerate. But I don't know what version was it, because I maked those files with Goldwave. My full result was:
320 mp3 64 opus   stereo
---------------
256 mp3 48 opus   less stereo
160 mp3 32 opus   even less stereo
---------------
96  mp3  24 opus   it's been almost mono
48-64 mp3  16 opus
32  mp3 12 opus
My question that my result is correct, and concern to all version? (The best is 64 VBR?) And that the quality change when I using VBR, CVBR, CBR, or just the filesize?
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-01-28 18:01:11
Opus-tools v0.1.10 (using libopus 1.2-alpha2-3-g68afa490)
h**ps://git.xiph.org/?p=opus.git;a=summary
h**ps://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: darkbyte on 2017-02-06 20:52:40
Is there anyone building the libopus.dll variant of this? I would like to try this with foo_streamer.
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-02-07 17:59:20
Opus-tools v0.1.10 (using libopus 1.2-alpha2-4-gcfdaf365)
h**ps://git.xiph.org/?p=opus.git;a=summary
h**ps://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-02-16 18:53:03
Opus-tools v0.1.10 (using libopus 1.2-alpha2-15-g3c9b4d61)
h**ps://git.xiph.org/?p=opus.git;a=summary
h**ps://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: Seymour on 2017-02-25 18:28:53
Hi!
I was spectating here as a guest for a while. =)
And also have downloaded some binaries from here (love this place because it lets guests to download attachments).
Just now listened to some (trance) music encoded from lossless with Opus different versions, VBR 32kbps.

libopus 1.2-alpha2-15 improvement compared to libopus 1.1.3
Result: Great! Stereo is retained much, much better this time! Of course, this tuning has changed overall quality perception. Artifacts are more perceptible now. High frequency instruments spectrum suffer more. It's time to notice that 32kbps is very low bitrate. ;-)
From my experience, stereo coding is the primary weak spot of current release version (libopus 1.1.3). At higher bitrates (my choice is 96kbps) too. I hope you will update the release soon! I see the great potential in the Opus audio codec, and in you, developers!
And I hope this improvement has effect not only on 32kbps bitrate. ;-)  (have not checked yet)
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-02-25 22:35:56
Opus-tools v0.1.10-1-gd0dc36b (using libopus_1.2-alpha2-25-g8056706f)
h**ps://git.xiph.org/?p=opus.git;a=summary
h**ps://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-03-04 19:46:20
Opus-tools v0.1.10-1-gd0dc36b (using libopus 1.2-alpha2-29-gc293dede)
h**ps://git.xiph.org/?p=opus.git;a=summary
h**ps://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: soundping on 2017-03-05 07:57:54
Thanks, NR
Title: Re: Opus 1.2 alpha
Post by: darkbyte on 2017-03-17 10:34:50
I'm testing 1.2 Alpha @ 44kbps (ABR) for music streaming (with a dense multiband compressor preset, CHR radio like sound) and have to say, quiet surprised by the results. On speakers for background listening it's not bad at all. I can notice some roughness >10kHz, and the alternation of stereo image, but comparing it to 64kbps HE-AAC i still prefer these artifacts to SBR's. Previous versions of Opus produced some kind of metallic warbling in this bitrate range on the kind of electronic music I'm listening to.

Good job guys! :) I wonder if there's still any room for improvement.
Title: Re: Opus 1.2 alpha
Post by: ziemek.z on 2017-03-21 22:19:12
Good job guys! :) I wonder if there's still any room for improvement.
Of course :) Have you tried encoding speech at 12-20 kbps? Fullband speech starts from 14 kbps!
Encode something @16kbps with Opus 1.1, then... just let Opus 1.2 alpha blow you away (at the same bitrate).
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-04-02 11:42:08
Opus-tools v0.1.10-1-gd0dc36b (using libopus 1.2-alpha2-30-gc43633d1)
https://git.xiph.org/?p=opus.git;a=summary
https://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: alter4 on 2017-04-09 18:58:42
Should I expect any music quality improvements at ~200 kbps bitrate?
Title: Re: Opus 1.2 alpha
Post by: jmvalin on 2017-04-09 22:44:08
Should I expect any music quality improvements at ~200 kbps bitrate?
Would you be able to hear it if there were?
Title: Opus is great! Some thoughts on potential improvements
Post by: Lumitopia on 2017-04-15 00:47:17
I've fully switched over to Opus at 116kbps VBR, for sound quality indistinguishable from the original FLAC. Great job!

I've also proposed an idea for further improvements to Opus at sub-80kbps bitrates here:
https://hydrogenaud.io/index.php/topic,113941.0.html

I think Ogg Vorbis still has the edge in bitrates around 75 to 85kbps due to it's more accurate rendering of high frequency detail (-q0.85, lowpass filter lifted to 20kHz). A more aggressive VBR mode targeting higher temporary bitrate boosts, specifically to help render transients above 15kHz, could really help provide that extra level of clarity while still keeping the average bitrate low.
Title: Re: Opus 1.2 alpha
Post by: Phoenix1 on 2017-04-15 05:33:30

I think Ogg Vorbis still has the edge in bitrates around 75 to 85kbps due to it's more accurate rendering of high frequency detail (-q0.85, lowpass filter lifted to 20kHz). A more aggressive VBR mode targeting higher temporary bitrate boosts, specifically to help render transients above 15kHz, could really help provide that extra level of clarity while still keeping the average bitrate low.

That's very interesting, it would explain why Vorbis performed better here: https://hydrogenaud.io/index.php/topic,112486.0.html
Title: Re: Opus 1.2 alpha
Post by: Lumitopia on 2017-04-16 06:41:05

I think Ogg Vorbis still has the edge in bitrates around 75 to 85kbps due to it's more accurate rendering of high frequency detail (-q0.85, lowpass filter lifted to 20kHz). A more aggressive VBR mode targeting higher temporary bitrate boosts, specifically to help render transients above 15kHz, could really help provide that extra level of clarity while still keeping the average bitrate low.

That's very interesting, it would explain why Vorbis performed better here: https://hydrogenaud.io/index.php/topic,112486.0.html

That makes sense, the most obvious artifacts with Opus happen when there's lots happening in the high end - high frequency details tend to smear and distort much more easily when competing with other high frequency noise (a tail of a cymbal crash in your case). I'm surprised you can hear it at 128kbps (VBR?) but I've definitely noticed that the attack on rides and hi-hats can sound softer in busier tracks even at 112kbps, but moving up by 4kbps seems to provide just enough bits to fool my ears (in my case at least). I might have to do more tests at my current bitrate to see if I can trip it up. But you can imagine how obvious the difference becomes when you compare Opus and Vorbis at below 80kbps. I was surprised by the results because I kept hearing that Vorbis was basically made obsolete by Opus - I really don't think that's quite true, yet - but with some tweaks I think it can be achieved. Apart from inaccurate treble, everything else already sounds great.
Title: Re: Opus 1.2 alpha
Post by: Lumitopia on 2017-04-16 08:03:19
Having said that, there are plenty of scenarios where Opus clearly sounds better than Vorbis at lower bitrates, especially electronic music (cleaner rendering of upper-mid detail / transients, a more convincing stereo image, and a lack of any of the pre-echo that Vorbis suffers from - which results in better attack and impact on things like snares and kicks). Artists like Infected Mushroom and Savant have music with lots of upper-midrange detail that really play to Opus' strengths, whereas Vorbis often sounds like a poorly encoded 112kbps MP3 at the same bitrate (~75kbps). It's cases like these where the difference really is night and day.

So Opus is already excellent at clean sounding reproduction - it really just needs a couple of extra VBR options that more aggressively assigns bits to high freq detail like I mentioned previously. Especially useful would be a new VBR mode based on the current "Constrained VBR" option - keeping the bitrate within a small range in most cases, but liberally assigning extra bits only when it detects high frequency detail. CVBR behaviour for everything under 15kHz, unrestrained VBR for detail above 15kHz.
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-04-16 13:20:48
Opus-tools v0.1.10-1-gd0dc36b (using libopus 1.2-alpha2-31-g8e19536b)
https://git.xiph.org/?p=opus.git;a=summary
https://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: soundping on 2017-04-16 20:04:02
The x86 files : 4/16/2017
The X64 files: 4/2/2017

Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-04-16 20:46:11
The x86 files : 4/16/2017
The X64 files: 4/2/2017

Sorry about that. Will try and fix it tomorrow evening/night. Im not home
Title: Re: Opus 1.2 alpha
Post by: Lumitopia on 2017-04-17 14:50:58
Good job guys! :) I wonder if there's still any room for improvement.
Of course :) Have you tried encoding speech at 12-20 kbps? Fullband speech starts from 14 kbps!
Encode something @16kbps with Opus 1.1, then... just let Opus 1.2 alpha blow you away (at the same bitrate).
I have been converting podcasts and similar content to VBR 18kbps, and the results are remarkably clear - even musical interludes sound listenable (albeit in mono). It actually sounds better than many of the FM radio stations here in the UK! I'm using the latest experimental build (1.2-alpha2-31-g8e19536b) - very impressive. A huge improvement on whatever version of Opus is bundled with "Switch Audio File Converter v5.19".
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-04-18 14:48:48
Opus-tools v0.1.10-1-gd0dc36b (using libopus 1.2-alpha2-31-g8e19536b)
https://git.xiph.org/?p=opus.git;a=summary
https://git.xiph.org/?p=opus-tools.git;a=summary
Title: Re: Opus 1.2 alpha
Post by: OrthographicCube on 2017-04-22 16:02:27
Opus-tools v0.1.10-1-gd0dc36b (using libopus 1.2-alpha2-31-g8e19536b)
https://git.xiph.org/?p=opus.git;a=summary
https://git.xiph.org/?p=opus-tools.git;a=summary

I would just like to thank you for taking the time to provide updated binaries here. I'm a fan of Opus, and audio compression codecs, and music in general, so it's a big deal for me to be able to follow the latest updates to Opus. Thanks!

(As an aside, when will Opus 1.2 ever get out of alpha stage? XD )
Title: Re: Opus 1.2 alpha
Post by: darkbyte on 2017-04-28 22:18:35
I wonder which codec is being used with --bitrate 32 --framesize 60 --cvbr --downmix-mono setting right now in 1.2-alpha. Seems like a nice spot for very low bitrate generic music. It's still noticable not transparent, but artifacts are not utterly annoying (at least compared to HE-AACv1 mono at this bitrate). For me it's even listenable with headphones on. But it sounds a bit different, like it was using SILK instead of CELT. 

Not closely related, but is there any algorithm which can more gracefully downmix stereo to mono in order to avoid phase cancelation as much as possible? Does Opus involves anything like that with --downmix-mono, or it's just using a simple downmix algorithm? Imo below 48kbps Opus is not capable enought to represent stereo without nasty artifacts at the moment (especially bad when played back on single speaker devices, like mobile phones), so I'm preferring the mono downmix. But that's just my 2 cents. Maybe reducing the stereo width and phase significantly before encoding could help, but then again, you can just downmix to mono then.
Title: Re: Opus 1.2 alpha
Post by: jmvalin on 2017-04-28 23:24:25
I wonder which codec is being used with --bitrate 32 --framesize 60 --cvbr --downmix-mono setting right now in 1.2-alpha. Seems like a nice spot for very low bitrate generic music. It's still noticable not transparent, but artifacts are not utterly annoying (at least compared to HE-AACv1 mono at this bitrate). For me it's even listenable with headphones on. But it sounds a bit different, like it was using SILK instead of CELT. 
I could be using either SILK or CELT, depending on whether it thinks it's speech or music. Also, don't use --framesize 60 and --cvbr. They make things worse.
Title: Re: Opus 1.2 alpha
Post by: darkbyte on 2017-04-29 00:12:51
Oh, it's interesting you say those. I thought framesize 60 improves compression a bit (while reducing transient representation as a tradeoff). Other codecs like HE-AAC and USAC seems to make a benefit from 100ms+ delay in those extreme low bitrates. I'm surprised it's not the case with Opus.

CVBR was used because I'm testing for mobile broadcasting so bitrates shouldn't fluctuate too much. But hard-cbr seemed too aggressive.
Title: Re: Opus 1.2 alpha
Post by: jmvalin on 2017-04-29 04:03:45
Oh, it's interesting you say those. I thought framesize 60 improves compression a bit (while reducing transient representation as a tradeoff). Other codecs like HE-AAC and USAC seems to make a benefit from 100ms+ delay in those extreme low bitrates. I'm surprised it's not the case with Opus.
In Opus, frames of 60 ms are just a concatenation of 3 20-ms frames, except that the encoder's decisions are slightly worse (not a big deal, but it's definitely not an improvement).

CVBR was used because I'm testing for mobile broadcasting so bitrates shouldn't fluctuate too much. But hard-cbr seemed too aggressive.
FYI, Opus CVBR is the same as what other codecs call CBR. That's because what codecs like MP3 and AAC call "CBR" in in fact constrained VBR hidden behind a bit reservoir. What Opus calls CBR is hard CBR with no bit reservoir.
Title: Re: Opus 1.2 alpha
Post by: darkbyte on 2017-04-29 08:04:13
Thank you for the explanation! :)
Title: Re: Opus 1.2 alpha
Post by: bstrobl on 2017-05-01 14:51:30
Hmm, just tested BuildC from the other listening tests forum thread and wanted to provide some (hopefully useful) input. The guitar sounds at the very beginning of Shiga Lin's song "Once Said" is still causing some big difficulties for the codec. The HE-AAC output from iTunes seems to handle things a bit more gracefully (quite possibly at the loss of transparency, but I don't have the ears for that). Both are at 64 kbps. Other than that, great work on the improvements!
Title: Re: Opus 1.2 alpha
Post by: NetRanger on 2017-05-25 18:02:36
Opus-tools v0.1.10-9-gbd65450 (using libopus 1.2-beta-6-g92422f6e)
Built on May 25, 2017, GCC 6.3.0

https://git.xiph.org/?p=opus.git;a=summary
https://git.xiph.org/?p=opus-tools.git;a=summary