It's linked above— https://people.xiph.org/~greg/opus-tools.zip
C:\opus-tools>opusenc.exeUsage: opusenc [options] input_file output_file.opusEncodes input_file using Opus. It can read the WAV, AIFF, or raw files.General options: -h, --help This help -v, --version Version information --quiet Quiet modeinput_file can be: filename.wav file - stdinoutput_file can be: filename.opus compressed file - stdoutEncoding options: --speech Optimize for speech --music Optimize for music --bitrate n.nnn Encoding bitrate in kbit/sec (6-256 per channel) --vbr Use variable bitrate encoding (default) --cvbr Use constrained variable bitrate encoding --hard-cbr Use hard constant bitrate encoding --comp n Encoding complexity (0-10, default: 10) --framesize n Maximum frame size in milliseconds (2.5, 5, 10, 20, 40, 60, default: 20) --expect-loss Percentage packet loss to expect (default: 0) --downmix-mono Downmix to mono --downmix-stereo Downmix to stereo (if >2 channels) --max-delay n Maximum container delay in milliseconds (0-1000, default: 1000)Diagnostic options: --save-range file Saves check values for every frame to a file --set-ctl-int x=y Pass the encoder control x with value y (advanced) Preface with s: to direct the ctl to multistream s This may be used multiple times --uncoupled Use one mono stream per channelMetadata options: --comment Add the given string as an extra comment This may be used multiple times --artist Author of this track --title Title for this trackInput options: --raw Raw input --raw-bits n Set bits/sample for raw input (default: 16) --raw-rate n Set sampling rate for raw input (default: 48000) --raw-chan n Set number of channels for raw input (default: 2) --raw-endianness n 1 for bigendian, 0 for little (defaults to 0)
I can't seem to playback an encoded opus file with Foobar2000. I have changed the extension from opus to ogg and then to celt without it working. I have also download the foo_input_celt.dll but not managed to playback it successfully. What am I missing? Regards.
foobar2000 Opus support seems to be on the todo list:OPUS TODO
Thank you for the help but do you know any player that can play it in realtime?
Options: --bitrate n Encoding bit-rate in kbit/sec --cbr Use constant bitrate encoding
Already found a sort of bug sample with a loud distortion on a kick, even with 128 kbps/framesize 60.Audio Link
Opus operates with 48000 internally. But the result is resampled back after encoding to the original rate so people don't get confused. Someone disagreed with that reasoning in the IRC channel and I agree with that someone.
Quote from: Gainless on 01 June, 2012, 06:31:24 PMAlready found a sort of bug sample with a loud distortion on a kick, even with 128 kbps/framesize 60.Audio LinkFWIW, If you resample to 48000 with sox before encoding. The problem will go away.Opus operates with 48000 internally. But the result is resampled back after encoding to the original rate so people don't get confused. Someone disagreed with that reasoning in the IRC channel and I agree with that someone.P.S. Acording to the devs, 60ms frames are not supposed to help. Not at those bitrates anyway.
Ok, I've set the "raw-rate" to 44100 now, sounds better but there are still pre-echos. I Hope I won't have to resample everything before encoding...
Based on your description I was guessing that you're just clipping, which might come or go if you were right on the edge and you changed the offset— but your sample isn't that loud and I'm actually unable to reproduce your results.I don't think I can ABX these files, I'm certainly not hearing an obvious artifact.
Quote from: Gainless on 01 June, 2012, 07:16:29 PMOk, I've set the "raw-rate" to 44100 now, sounds better but there are still pre-echos. I Hope I won't have to resample everything before encoding...All setting raw-rate would do is switch it from interpreting your input as a wav file and instead interpret it as raw PCM, so the wav header becomes a dozen junk samples at the beginning and your audio is all slid down that many samples.Based on your description I was guessing that you're just clipping, which might come or go if you were right on the edge and you changed the offset— but your sample isn't that loud and I'm actually unable to reproduce your results./opusenc --bitrate 128 --framesize 60 Frozen\ Babylon\ \(Sample\).wav - | ./opusdec - coded.wav I don't think I can ABX these files, I'm certainly not hearing an obvious artifact.
Maybe a stupid question, but can someone say, what Latency has for relevance on Audio Codec?I understand, low latency is good for speech, but what i don´t get it, where is the latency coming from, is it the decoding latency or what?Thanks:)
upper channel: opusenc --bitrate 128 --framesize 60 + opusdec (bug between 0.950 and 0.955)lower channel: opusenc --bitrate 128 + opusdec (bug between 0.990 and 0.995)
Quote from: zerowalker on 02 June, 2012, 09:19:19 PMMaybe a stupid question, but can someone say, what Latency has for relevance on Audio Codec?I understand, low latency is good for speech, but what i don´t get it, where is the latency coming from, is it the decoding latency or what?Thanks:)In order to get useful compression codecs work with multiple samples at a time. They read in some samples enough to fill a code frame plus potentially some more for psycho-acoustic analysis 'lookahead', then they process it and emit a packet of compressed data. On the far end the decoder reverses the process.So even if your computer is infinitely fast a codec must have a least a frame size worth of delay and more if the frames overlap or the encoder needs lookahead for analysis (e.g. for transient switching). Popular music codec like Vorbis and AAC have delays of hundreds of milliseconds which makes them not very suitable for interactive/communication uses. Larger frames are generally better for compression because they enable higher coding gain and more precise psycho-acoustic models, though they also tend to have more pre-echo liability. Opus has basic frame frame sizes from 2.5 to 20ms and and lows as 2.5ms, so 5-22.5ms codec latency (there are larger frame sizes, but they only pack multiple smaller frames to save a few bytes of header space/entropy coder overhead). Through a lot of hard work and a little luck it can get quality competitive with high latency coders at mid to high rates. Though at low bitrates (e.g. <=48 for music) I still expect high latency codecs to do better (except for speech).
Ah so for example Skype, if i speak, it will collect some voice data in a framesieze, then send it, and the lower that framesize is, the faster it goes, but the less Accurate it will be?
But for Vorbis etc, does it even needa frame size, can´t it be unlimited?If it´s better i mean?But don´t you think Opus will dominate Vorbis at all?Cause it would be lovely if Vorbis and AAC got knocked down from the throne letting new codecs and probably pushing the lossy codecs even more.
Okay, the fix for the click on the opusdec 44.1kHz output is up!The fix is in opusdec with the version string "opus-tools 0.1.0-9-gac7490c (based on libopus 0.9.11-75-gc64f4a4)"http://git.xiph.org/?p=opus-tools.git;a=co...c8518af24336091Sorry about that, and thanks so much for testing and reporting!New windows binaries are at:http://people.xiph.org/~greg/opus-tools.zip
I:\>opusdec.exe 05.opusDecoding 44100 Hz audio (2 channels)Cannot open output: No such file or directory
Decoding 44100 Hz audio (1 channel)Cannot open output: No error