Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Opus 1.3 is out! (Read 62458 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Opus 1.3 is out!

I'm happy to announce that Opus 1.3 was just released. This major release again brings quality improvements, new features, and bug fixes. You can read all the details in this release demo page.

Changes since 1.2.x include:
  • Improvements to the VAD and speech/music classification using an RNN
  • Support for ambisonics coding using channel mapping families 2 and 3
  • Improvements to stereo speech coding at low bitrate
  • Using wideband encoding down to 9 kb/s
  • Making it possible to use SILK down to bitrates around 5 kb/s
  • Minor quality improvement on tones
  • Enabling the spec fixes in RFC 8251 by default
  • Security/hardening improvements

Notable bug fixes include:
  • Fixes to the CELT PLC
  • Bandwidth detection fixes

Source code: opus-1.3.tar.gz
Win32 binaries: opus-tools-0.2-opus-1.3.zip

Please report any problem you encounter. Enjoy!

Re: Opus 1.3 is out!

Reply #1
Thanx, 64 bit binaries please?

Re: Opus 1.3 is out!

Reply #2
Thanx, 64 bit binaries please?

Here's my x64 build, with the added bonus of resample quality of 10 in both opusenc and opusdec ;)


Re: Opus 1.3 is out!

Reply #4
I have been waiting on this (the x64 build) so I can re-rip my entire collection from FLAC to Opus @ 64kbps or 96kbps etc.

Thanks.
For music I suggest (using Foobar2000)... MP3 (LAME) @ V5 (130kbps). NOTE: using on AGPTEK-U3 as of Mar 18th 2021. I use 'fatsort' (on Linux) so MP3's are listed in proper order on AGPTEK-U3.

Re: Opus 1.3 is out!

Reply #5
The improved stereo speech + new speech/music detection helped a lot with encoding ASMR, thank you very much!

Re: Opus 1.3 is out!

Reply #6
Playing around with my Klipsch Pro-Media speakers on the PC with the 'release demo page' (the OP linked to) I can notice differences on the speech samples (like while the audio file is playing I switch back and fourth between Opus versions at the following rates)...

-9kbps = noticeable difference between v1.2 and v1.3 as it's a bit less muffled/more clear in v1.3. between v1.1 and v1.2 I don't notice any difference on this 9kbps setting.

-12kbps = noticeable difference between v1.1 and v1.2 but nothing between v1.2 and v1.3 as far as I can tell. NOTE: I would say this one is harder to spot a difference between v1.1 and v1.2 vs the 9kbps and 16kbps settings I mentioned which are easier to spot.

-16kbps = noticeable difference between v1.1 and v1.2 (basically less muffled and a bit more clear sounding) but I don't notice anything between v1.2 and v1.3.

-20kbps = things start to get harder to notice between the versions but I think I can spot some difference between v1.1 and v1.2.

-24kbps = I can 'maybe' notice a difference between v1.1 to v1.2.

-32kbps/40kbps = I can notice some change in sound between v1.2 and v1.3. basically a bit more clarity I guess I could say.

-48kbps = I can't say I notice anything here between Opus versions.


NOTE: from what I have noticed so far in general with my limited testing with my speech files... I prefer no lower than 13kbps with Opus v1.3 and 14kbps with Opus v1.2.1 for general speech at the minimum.

NOTE: I know headphones are optimal but I just thought I would list the above info for whatever it's worth ;)
For music I suggest (using Foobar2000)... MP3 (LAME) @ V5 (130kbps). NOTE: using on AGPTEK-U3 as of Mar 18th 2021. I use 'fatsort' (on Linux) so MP3's are listed in proper order on AGPTEK-U3.

Re: Opus 1.3 is out!

Reply #7
opusdec.exe was 206KB in the previous release, and now it is 1264KB. What is the cause of this significant increase of size?


Re: Opus 1.3 is out!

Reply #9
Today I was testing Opus 1.3 and find something strange.
I was testing two builds, first from opus-codec.org, and second from foobar Encoder Pack.
They gave two slightly different streams.
I encode .flac to .opus and again to .flac, and final files have different audio MD5 checksum.
I attach a spectrogram of a difference between two streams (Clash, London Calling for example).
Does anyone have any idea why is that so?

Re: Opus 1.3 is out!

Reply #10
Different compilers and possibly different optimization settings. The encoder pack one is compiled with Visual Studio 2017 and Xiph's one is most likely with GCC.

Re: Opus 1.3 is out!

Reply #11
Different compilers - i understand, different optimization - i understand less. But doesn't it all describe how codec do his work, instead of what he do. I mean, I understand if compiler / optimization can increase the speed of the program, compatibility with new CPU instructions, etc. But i really don't understand how it can impact on the result of the program (opus algorithm in this case).

Re: Opus 1.3 is out!

Reply #12
I see using Foobar2000's 'Encoders Pack', which is 32bit, vs the the 64bit one the OP linked to...

-Encoders Pack version (which is 32bit) reports as... "opusenc from opus-tools 0.2"
-The x64 one the OP linked to reports as... "opusenc from opus-tools 0.2-3-gf5f571b"

but for 'Tool' they both report as... "libopus 1.3, libopusenc 0.2.1"

I assume this is a non-issue? ; I am using Foobar2000 to do the encodes. there is a 1byte difference in file size.

p.s. the Foobar2000 Encoder Pack version, which is 32bit, encodes a 64kbps Opus v1.3 file at 66-67x. the 64bit one the OP linked to does that same file encoded at 64kbps at 80x speed. I got a i3-2120 CPU. NOTE: I converted from the same FLAC level 8 file to Opus v1.3 for this quick speed test of the 32bit vs 64kbps versions I mentioned.
For music I suggest (using Foobar2000)... MP3 (LAME) @ V5 (130kbps). NOTE: using on AGPTEK-U3 as of Mar 18th 2021. I use 'fatsort' (on Linux) so MP3's are listed in proper order on AGPTEK-U3.

Re: Opus 1.3 is out!

Reply #13
Great news!

Gonna encode to ~85-96kpbs and listen for improvements.
Listen to the music, not the media it's on.
União e reconstrução

Re: Opus 1.3 is out!

Reply #14
But i really don't understand how it can impact on the result of the program (opus algorithm in this case).

Different optimizations -> different order of floating-point instructions -> different results.
For example, (a+b)+c usually is not the same as a+(b+c).

Re: Opus 1.3 is out!

Reply #15
Different optimizations -> different order of floating-point instructions -> different results.
For example, (a+b)+c usually is not the same as a+(b+c).

Actually, that's one of the few things compilers are *not* allowed to do when optimizing. OTOH, the compiler *is* allowed to use more bits than required by the program (especially on old x87 FPUs that had 80-bit float, but I think even for 32->64 bit float). Also, Opus uses transcendental math functions (sin, exp, log, ...) that are not required by the relevant standards to be accurate down to the LSB rounding. I suspect there may be a few other details that can cause differences, but the order of operations definitely must be preserved, otherwise overflows and underflows could cause massively wrong results.

Re: Opus 1.3 is out!

Reply #16
Actually, that's one of the few things compilers are *not* allowed to do when optimizing.
You mean, to replace (a+b)+c with a+(b+c)?  Well, Visual Studio Opus project has FloatingPointModel==Fast in Release configuration.

According to MSDN,
Quote
The compiler may reorder operations or perform algebraic transforms—for example, by following associative and distributive rules—without regard to the effect on finite precision results.

Re: Opus 1.3 is out!

Reply #17
Actually, that's one of the few things compilers are *not* allowed to do when optimizing.
You mean, to replace (a+b)+c with a+(b+c)?  Well, Visual Studio Opus project has FloatingPointModel==Fast in Release configuration.

According to MSDN,
Quote
The compiler may reorder operations or perform algebraic transforms—for example, by following associative and distributive rules—without regard to the effect on finite precision results.


Yes, Visual Studio projects are set to compile by default with FloatingPointModel==Fast. My own builds are done using FloatingPointModel==Strict or FloatingPointModel==Precise if Strict fails. This of couse will cause floating point differences due to the way each mode is handled.

Re: Opus 1.3 is out!

Reply #18
You mean, to replace (a+b)+c with a+(b+c)?  Well, Visual Studio Opus project has FloatingPointModel==Fast in Release configuration.

I actually recommend against enabling that for Opus without very careful testing. gcc --fast-math used to cause problems until we added code specifically to address it (mostly NaN-related).

 

Re: Opus 1.3 is out!

Reply #19
Just skimmed through several  speech,music and mixed materials without finding anything wrong. New detector works really great.

Thank You  for a new version and demo.  :)

Re: Opus 1.3 is out!

Reply #20
You mean, to replace (a+b)+c with a+(b+c)?  Well, Visual Studio Opus project has FloatingPointModel==Fast in Release configuration.

I actually recommend against enabling that for Opus without very careful testing.
Hm, that wasn't entirely clear to me... Do you mean that fast math hasn't been tested with Visual Studio builds? That's how I read it, but as lvqcl says, the Release configuration for the Opus project does use FloatingPointModel==Fast (though the ReleaseDLL configuration uses Precise). See https://git.xiph.org/?p=opus.git;a=blob;f=win32/VS2015/common.props

(Also, any particular reason to set StructMemberAlignment to 16 bytes? Just curious.)

Re: Opus 1.3 is out!

Reply #21
so... is 1.3 now the recommended version to use?

Re: Opus 1.3 is out!

Reply #22
so... is 1.3 now the recommended version to use?
Why wouldn't the last version of anything be the recommended version to use?

Re: Opus 1.3 is out!

Reply #23
as far as i remember there were some "problems" during the beta test. means, some people reported it actually sounded *worse* on some samples than 1.2.1

i might be wrong though, i am not a "heavy reader" here.

Re: Opus 1.3 is out!

Reply #24
I am sure they released a stable version after they addressed those "problems" and tested it.