Today, I bring you a new version of opusenc.exe, using libopus 1.3-rc2-2-ga8e2a2b1-dirty:
opusenc.exe
This version brings the changes performed up to today’s commit, but I also upped the Speex Resampler quality from 5 to 10, as you can see in the following image:
Speex Quality changed from 5 to 10
As usual, I’m encoding my files using the latest commit.
Also, I’ve updated Opus GUI to include this build:
Today, I fixed a bug in my opusenc code regarding the output filename when it is not provided.
The issue was that if a file didn’t had an extension, then the output string would be empty, so in reality, the encoded file would not be stored. This has been fixed in my latest commits still awaiting approval to be merged into the official opusenc GitHub repository.
The new updated code is the following:
There are now two “if” conditions that will check if the extension dot (.) was found or if it’s already at a directory level. If we get to a / or \, it means an extension was not found. We break the loop and copy the original file name back. Then, we append the .opus extension. In the “else if”, if the dot (.) is found, then we make “foundExt” equal 1 and break the loop.
The “foundExt” is used to know if we need to copy the whole file path or not. Because the extension was found, we skip the “if (!foundExt)” loop and proceed to contatenate the “.opus” extension to the file path.
Today, I’d like to show you the steps to rip your Audio CD to Opus using Exact Audio Copy and my latest opusenc.exe build.
Why use my opusenc.exe build?
First, it includes the newly added –tracknumber argument which enables you to easily pass the track number to the opus file.
Second, it is not needed to specify the output filename, as it will use the same input name. For Exact Audio Copy, this means that you only need to add the source and not the destination.
Third, it includes all of the latest commits performed to the opus, libopusenc, and opus-tools, so the build is up to date.
This build brings an option to enable or disable multithreading and also allows you to encode files to the same input folder by leaving the output textbox blank. This is in part, thanks to a few commits I’ve performed today and currently awaiting a Pull Request approval to merge these commits into the opus-tools repo.
Yesterday, I got my first Pull Request approved which added an argument called “–tracknumber”. This allows you to pass a track number to opusenc so that it is saved in the .opus file metadata.
This is the initial code I wrote:
I then proceeded to update the opusenc documentation to add this argument:
I was told by the code maintainers to fix my indentation, so I did it. ~I was also told to move the –tracknumber argument below the –album argument. The documentation was also updated. Here’s the result:
With these changes done, my Pull Request got accepted and now we have an extra argument included in opusenc, which is very useful for tools like Exact Audio Copy:
To add a track number to a file during encoding, use opusenc.exe like this:
This will add a “1” to the metadata track field. You can use any integer number for this argument.
The other Pull Request that I’ve made today is about having the output filename autogenerated if it’s skipped by using the input name as the base and changing its extension to .opus. This is awaiting acceptance.
I’m not an expert C programmer, but here you can see the progress I did with this:
Initially, the code was large. I was able to update it to the following:
But it still could be improved and here’s the final commit I’ve done up to this point:
As you can see, the code got smaller with every commit. Here’s hoping that this gets merged!
To use the new opusenc without specifying the output filename, you just have to use it like this:
opusenc.exe file.wav
or
opusenc.exe file.flac
These will generate the output file “file.opus”. The base name is maintained, and the extension is changed to “.opus”.
of course, you can also use it with arguments. See the help by running opusenc.exe.
I hope these changes are very useful to all of you!
Today, I provide you a build of opusenc.exe from the opus-tools package. This version includes libopus-1.3-rc-19 which includes the opus commits up to commit eb55ebf
opusenc.exe
This version of opusenc.exe was compiled using Visual Studio 2017 and was compiled for 64-bit systems.
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptRead More
Privacy & Cookies Policy
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.