Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Audio encoding

Reply
 
Thread Tools Search this Thread Display Modes
Old 1st January 2018, 16:19   #161  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
Gravitator,

As I can see the issue was corrected. You can try this build https://hydrogenaud.io/index.php/top...html#msg950387

The issue was present when native built-in resampler was used.
IgorC is offline   Reply With Quote
Old 1st January 2018, 19:48   #162  |  Link
Gravitator
Registered User
 
Join Date: May 2014
Posts: 292
Quote:
Originally Posted by IgorC View Post
Gravitator,

As I can see the issue was corrected. You can try this build https://hydrogenaud.io/index.php/top...html#msg950387
It's already better for the music
I decided to get dusty Opus 1.1 vs 1.3b-0.1.1-2-gcc5a249 on the tones. The old one has two defects at 12 and 16 seconds (12kHz and 16kHz), while the new one has 16 seconds (16kHz).
> Download
Gravitator is offline   Reply With Quote
Old 2nd January 2018, 02:30   #163  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
You should stop to consider sweep tones as test sample. Nobody cares ( even less developers) about pure tone samples.

Tones aren't a real scenario. Nobody listens pure tones as it was music.

You can have awful codec on pure tones but at the same time it will be the best for music/speech overall (and Opus is just this sort of codecs).
IgorC is offline   Reply With Quote
Old 2nd January 2018, 14:50   #164  |  Link
Gravitator
Registered User
 
Join Date: May 2014
Posts: 292
In the file OPUS:
OPUS 1.1 - Big conflict 16kHz&17kHz&20kHz (perceived as quantization noise with 20sec), generated 20kHz (in the original it does not) - why spend the bitrate on the non-existent and not audible range!
OPUS 1.2 - 16kHz is shifted to 17kHz (from the beginning), a parasitic 20kHz is generated.
OPUS 1.3b - 16kHz is shifted to 17kHz (from the beginning), a parasitic 20kHz is generated.
> Download
Gravitator is offline   Reply With Quote
Old 14th January 2018, 18:54   #165  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
Gravitator,
You shouldn’t watch spectrograms but rather actually listen files by your own ears.

Tha same way You don’t watch spectrograms of videocodecs like H.264/H.265/VP9 codecs.
You will be horrified of what You can see there.

Rather try ABX in foobar2000 player to compare audio files.

Quote:
Originally Posted by Gravitator View Post
In the file OPUS:
OPUS 1.1 - Big conflict 16kHz&17kHz&20kHz...
It’s perfectly normal and its how psychoacoustics works. Human ear is far from being perfect and would hardly (if at all) perceive such differences in 16-20 kHz range in real music.

Quote:
Originally Posted by Gravitator View Post
why spend the bitrate on the non-existent and not audible range!
Opus allocates less than 1 kbps for frequencies >15.6 kHz (at overall bitrate 64 -80kbps). It’s very efficient.
And it gradually increases bitrate for higher frequencies when there is enough bits to spend with rate increasing.

Young people don’t like lowpassed audio (and tests confirm it) but even they can’t distinguish a lot of “details” there in HF (16kHz+) so a raw/approximate presentation (just energy) is already enough to make a good job. And that is what Opus does.

There are people behind Opus development who know how to do audio codecs.

Quote:
Originally Posted by Gravitator View Post
Any particular reason for hard-CBR? VBR is recommended as it always provides both at the same time: better quality and/or smaller size.
Also Opus ABR = AAC CBR

Last edited by IgorC; 14th January 2018 at 19:00.
IgorC is offline   Reply With Quote
Old 27th January 2018, 14:35   #166  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
Quote:
Originally Posted by Motenai Yoda View Post
bit per sample and bitdepth are different things, as LoRd_MuldeR said bitpersample is ambigue as it should be derived from bitperframe aka framesize.
Thank you to clarify it. I have interpreted the discussion about bitspersample wrong way.


Also if somebody want to try and report some quality changes between these two builds https://hydrogenaud.io/index.php/top...html#msg951485
IgorC is offline   Reply With Quote
Old 4th February 2018, 15:48   #167  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
FWIW, here is opus-tools 0.1.10-12 [Feb 4 2018] (using libopus 1.3-beta-2):
https://sourceforge.net/projects/mul...4.zip/download
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 7th February 2018, 19:43   #168  |  Link
Atak_Snajpera
RipBot264 author
 
Atak_Snajpera's Avatar
 
Join Date: May 2006
Location: Poland
Posts: 7,810
Quote:
Originally Posted by LoRd_MuldeR View Post
FWIW, here is opus-tools 0.1.10-12 [Feb 4 2018] (using libopus 1.3-beta-2):
https://sourceforge.net/projects/mul...4.zip/download
Why so many variants? I doubt that AVX2 will be faster than plain SSE2. Have you done any speed tests?
Atak_Snajpera is offline   Reply With Quote
Old 7th February 2018, 21:06   #169  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by Atak_Snajpera View Post
Why so many variants? I doubt that AVX2 will be faster than plain SSE2. Have you done any speed tests?
Yes, in my experience “higher” instruction set extensions are consistently faster:

Code:
Encoding using libopus 1.3-beta-2-g8299edfc IA32 [Feb  4 2018] (audio)

===============================================================================
TEST COMPLETED SUCCESSFULLY AFTER 5 METERING PASSES
-------------------------------------------------------------------------------
Mean Execution Time     : 5.272 seconds
90% Confidence Interval : +/- 0.023 (0.431%) = [5.250, 5.295] seconds
95% Confidence Interval : +/- 0.027 (0.514%) = [5.245, 5.299] seconds
99% Confidence Interval : +/- 0.036 (0.675%) = [5.237, 5.308] seconds
Standard Deviation      : 0.028 seconds
Standard Error          : 0.014 seconds
Fastest / Slowest Pass  : 5.245 / 5.310 seconds
===============================================================================
Code:
Encoding using libopus 1.3-beta-2-g8299edfc SSE2 [Feb  4 2018] (audio)

===============================================================================
TEST COMPLETED SUCCESSFULLY AFTER 5 METERING PASSES
-------------------------------------------------------------------------------
Mean Execution Time     : 3.188 seconds
90% Confidence Interval : +/- 0.016 (0.514%) = [3.172, 3.204] seconds
95% Confidence Interval : +/- 0.020 (0.613%) = [3.168, 3.207] seconds
99% Confidence Interval : +/- 0.026 (0.805%) = [3.162, 3.214] seconds
Standard Deviation      : 0.020 seconds
Standard Error          : 0.010 seconds
Fastest / Slowest Pass  : 3.162 / 3.218 seconds
===============================================================================
Code:
Encoding using libopus 1.3-beta-2-g8299edfc AVX1 [Feb  4 2018] (audio)

===============================================================================
TEST COMPLETED SUCCESSFULLY AFTER 5 METERING PASSES
-------------------------------------------------------------------------------
Mean Execution Time     : 2.903 seconds
90% Confidence Interval : +/- 0.019 (0.668%) = [2.884, 2.923] seconds
95% Confidence Interval : +/- 0.023 (0.796%) = [2.880, 2.927] seconds
99% Confidence Interval : +/- 0.030 (1.046%) = [2.873, 2.934] seconds
Standard Deviation      : 0.024 seconds
Standard Error          : 0.012 seconds
Fastest / Slowest Pass  : 2.874 / 2.936 seconds
===============================================================================
Code:
Encoding using libopus 1.3-beta-2-g8299edfc AVX2 [Feb  4 2018] (audio)

===============================================================================
TEST COMPLETED SUCCESSFULLY AFTER 5 METERING PASSES
-------------------------------------------------------------------------------
Mean Execution Time     : 2.854 seconds
90% Confidence Interval : +/- 0.015 (0.519%) = [2.839, 2.869] seconds
95% Confidence Interval : +/- 0.018 (0.619%) = [2.836, 2.872] seconds
99% Confidence Interval : +/- 0.023 (0.813%) = [2.831, 2.877] seconds
Standard Deviation      : 0.018 seconds
Standard Error          : 0.009 seconds
Fastest / Slowest Pass  : 2.839 / 2.884 seconds
===============================================================================
Note: The "SSE2" builds additionally have AVX runtime-detection enabled, the "AVX" builds additionally have AVX2 runtime-detection enabled, and the "AVX2" builds additionally have AVX512 runtime-detection enabled. The "IA32" builds are pure i686 builds without runtime-detection, because runtime-detection reproducibly crashes the binary on any CPU that lacks SSE2 support (i.e. SSE2 seems to be the minimum requirement for runtime-detection to work). Since my system supports SSE2, obviously, I can not give you "pure" SSE2 results - the "SSE2" build effectively uses AVX. However, since even going from AVX to AVX2 gives a nice little speed-up, I supposed that going from IA32 to SSE2 as well as going from SSE2 to AVX gives a noteworthy speed-up too. Also, since my system does not support AVX512, it is not much of a surprise that "AVX" and "AVX2" builds are on par, as both effectively use AVX2...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 7th February 2018 at 21:23.
LoRd_MuldeR is offline   Reply With Quote
Old 7th February 2018, 21:48   #170  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,346
If there is the ability for runtime detection, why is there a need for AVX/AVX2 builds anyway, instead of just one build that uses as much as is available in the CPU (plus one that doesnt use anything, if its somehow broken otherwise)?
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel is offline   Reply With Quote
Old 7th February 2018, 21:59   #171  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
Quote:
Originally Posted by nevcairiel View Post
If there is the ability for runtime detection, why is there a need for AVX/AVX2 builds anyway, instead of just one build that uses as much as is available in the CPU (plus one that doesnt use anything, if its somehow broken otherwise)?
Well, I can select the target CPU arch for the “base” execution path, and I can select the target CPU arch for the “optimized” execution path. The latter will be selected or not, at runtime, depending on the CPU's actual capabilities. Also, allowing the “higher” instruction set extension to be used in the base path (instead of allowing it only to be used in the optimized path) should give some extra speed-up. That's because runtime CPU dispatching has some overhead, and the compiler decides for each function whether the potential speed-up of an optimized path outweighs that overhead or not. So, not every function gets an optimized path, but all functions benefit from “higher” instruction set extension in the base path...
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 7th February 2018 at 22:02.
LoRd_MuldeR is offline   Reply With Quote
Old 8th February 2018, 02:50   #172  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
Reminder.

1.3 beta is only for tests and to report bugs.
1.2.1 well tested and recommended version.
IgorC is offline   Reply With Quote
Old 24th February 2018, 20:37   #173  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
opusenc opus-tools 0.1.10-49
libopus 1.3-beta-15 | libopusenc 0.1.1-39 | libopusfile v0.10-7
opus-tools.2018-02-25.zip (mirror)

This is the revamped version of opus-tools, based on libopusenc and libopusfile – “which means opusenc is finally able to make use of the Opus delayed-decision feature to make better speech/music transitions.”

(Includes a custom patch to show progress in 'opusdec' tool)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 26th February 2018 at 13:12.
LoRd_MuldeR is offline   Reply With Quote
Old 27th February 2018, 10:10   #174  |  Link
foxyshadis
ангел смерти
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Lost
Posts: 9,558
Since my system crashed and I haven't had time to set up Visual Studio again, I guess I'll be using your builds again, Mulder. Thanks for still making them available! Have to stay on the bleeding edge somehow....
foxyshadis is offline   Reply With Quote
Old 7th April 2018, 19:50   #175  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
opus-tools 0.1.10-51
libopus 1.3-beta-31 | libopusenc 0.1.1-43 | libopusfile v0.10-7
opus-tools.2018-04-07.zip (mirror)

(Includes a custom patch to show progress in 'opusdec' tool)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Old 2nd June 2018, 11:44   #176  |  Link
hajj_3
Registered User
 
Join Date: Mar 2004
Posts: 1,125
Opus 1.3 RC1 released: https://www.opus-codec.org/release/d...us-1_3_rc.html

Changelog:
  • Making it possible to use SILK down to bitrates around 5 kb/s
  • Using wideband encoding down to 9 kb/s
  • Improving security (including a new –enable-hardening option)
  • Minor quality improvement on tones
  • Improving Ambisonics support (still experimental)
  • Minor bug fixes
hajj_3 is offline   Reply With Quote
Old 3rd June 2018, 13:28   #177  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
opus-tools 0.1.10-71
libopus 1.3-rc-1 | libopusenc 0.1.1-47 | libopusfile v0.10-7
opus-tools.2018-06-03.zip (mirror)

(Includes a custom patch to show progress in 'opusdec' tool)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊

Last edited by LoRd_MuldeR; 3rd June 2018 at 13:30.
LoRd_MuldeR is offline   Reply With Quote
Old 19th September 2018, 15:44   #178  |  Link
hajj_3
Registered User
 
Join Date: Mar 2004
Posts: 1,125
Opus 1.3 RC2 is out: http://opus-codec.org/release/dev/20...s-1_3_rc2.html
hajj_3 is offline   Reply With Quote
Old 19th September 2018, 18:36   #179  |  Link
IgorC
Registered User
 
Join Date: Apr 2004
Posts: 1,315
https://hydrogenaud.io/index.php/top...topicseen.html

Source code: opus-1.3-rc2.tar.gz
Win32 binaries: https://archive.mozilla.org/pub/opus...-0.2-win32.zip
Win64 binaries: https://archive.mozilla.org/pub/opus...-0.2-win64.zip

Quote:
This is a second release candidate for the upcoming Opus 1.3. Changes include:
Fixing an issue with bandwidth detection
Enabling Ambisonics support by default
Using mapping families 2 and 3 for Ambisonics (instead of experimental families 253 and 254)
Enabling hardening by default

This release also comes with three other releases:
libopusenc 0.2
opusfile 0.11
opus-tools 0.2

With these releases, opus-tools now depends on both libopusenc for encoding and on opusfile for decoding. The main difference is that opusenc is now able to use look-ahead, which helps when encoding speech and music at low-ish bitrates. Please give all of these a try and report any problems.

Source code: opus-1.3-rc2.tar.gz
Win32 binaries: opus-tools-0.2-win32.zip
Win64 binaries: opus-tools-0.2-win64.zip

Edit: Add win64 binaries
IgorC is offline   Reply With Quote
Old 3rd October 2018, 14:57   #180  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,248
opus v1.3-rc2+2
opus-tools v0.2+2 | libopusenc v0.2+2 | libopusfile v0.11+4
opus-tools.2018-10-03.zip (mirror)

(Includes a custom patch to show progress in 'opusdec' tool!)
__________________
Go to https://standforukraine.com/ to find legitimate Ukrainian Charities 🇺🇦✊
LoRd_MuldeR is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:51.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.