I believe the pre-roll is essential because of the SILK layer's predictors needing time to converge based on previous samples, but wouldn't matter in CELT-only (MDCT only) mode. Without this, excessive volume bursts may occur if SILK is active, so the BEST solution is a PreRoll (decoding but not playing 80 ms of audio or more to make it converge). Presumably if the PreRoll isn't accessible it should be acceptable (and mandatory) to mute the audio for 80ms (or follow a suitable fade-in curve).

MDCT needs pre-roll too. Somewhat less in the insane worse case because the maximum inter-frame predictive gain is lower, but 80ms doesn't get you convergence in the insane worse case anyways, it gets you convergence that should be quite good on average, and at least not break speakers (or the listener) in the worst case. There is also the matter of initial skip.

These sorts of issues aren't entirely unique to Opus. Video codecs with rolling intra have this problem too (e.g. h264 can be encoded this way). The solution of the mkv container and common applications is to get it wrong and display corrupted output, both for cropped files and seeking. This is even less acceptable for Opus because the corruption could potentially damage equipment or hurt the users hearing (at least for some insane inputs) and because it will be at least a small issue on almost all files. The Matroska developers seemed uninterested before in doing anything about it. There also appears to be no general mechanism for making sample accurate files with Matroska, or at no tools I can find implement it with Vorbis, so it seems true gaplessness would require cross-fades.

Between those concerns, the general lack of Matroska support in audio tools (as opposed to A+V) and devices (for a long time the only complete MKV libraries had lots of dependencies and were C++ only, both contraindicated for embedded devices), and the lack of any substantial material benefit otherwise... it hasn't really been a priority, at least not mine. Google has already nixed using Opus with "WEBM' because they, rightfully, don't want to complicate compatibility. Though people interested in muxing opus with VP8— e.g. to seralize webrtc streams— will surely get it worked out eventually.

I have to admit I was a little stunned by the bitrate options they provide.. 24Kbps or 128Kbps.. At 128Kbps they can pretty much use any modern codec and no one could really tell.. I figured they would shoot for at least 32kbps or 48kbps.. They're trying to encode full band music at 24kbps, and while I was impressed with what opus accomplishes there, to the non-technically inclined they'll just think it sounds bad and not appreciate how good it sounds in relation to how low that bitrate is. We're talking about piping it over a 28.8kbps modem connection in real time here!!

I would assume they may get better results with one of the experimental psychoacoustic tunings discussed here.

If they were to use 48 to 64 kbps (or maybe 80 to 96 kbps), possibly the experimental psy tunings would help, as I believe they're focused on the CELT mode, and the full-range bass would also be welcome.

It seems likely that 128 kbps is going to be pretty excellent / near transparent in either mode and hard to distinguish between main or experimental branch in normal listening.

The 24 kbps stream (Super Wideband at 24 kHz sampling rate, I think) is below the level where CELT dominates (I think most of the experimental psychoacoustic tunings have been developed for the CELT layer) and instead I believe Opus always uses Hybrid mode with SILK encoding the signal up to 8kHz and CELT encoding the spectrum between 8-12 kHz, I believe, so I don't expect there would be much difference between main and experimental there either.

I guess the modes chosen are based on use-cases. Unlikely to include a PSTN modem, but maybe includes cellular streaming to mobile devices at sporadic and variable rates of GPRS, which is often about 28 kbps in rural areas of the UK on some networks.

Absolute Radio labs' 128kbps Opus stream sounds excellent but at times the 24 kbps Opus was really lacking in bass, I believe - I compared to their AAC+SBR 24kbps stream. On the other hand, at times Opus sounded like it had less high-frequency harshness than the AAC+SBR version but also at times it had less HF sparkle due to its presumably 12kHz lowpass. For a speech-oriented encoder setting, Opus24 is very music-friendly. I'd probably pick the AAC+SBR at 24kbps, but the artificial-sounding nature of it might grate with me eventually and I might choose Opus instead. I know there's an adaptable HF filter in the SILK layer, so presumably its effect will vary with the audio source.

It would be lovely if bass could be preserved by Opus when music is detected at 24 kbps without losing too much fidelity due to the bits used there.

As Opus is defined by the decoder, which seems to simply add the SILK and CELT decodes, I'm not sure if there might be scope in hybrid mode to choose to use CELT to encode the area below the high-pass filter that removes non-speech background noise from the SILK layer but might be amenable to encoding using longish blocks.

I would assume they may get better results with one of the experimental psychoacoustic tunings discussed here.

If they were to use 48 to 64 kbps (or maybe 80 to 96 kbps), possibly the experimental psy tunings would help, as I believe they're focused on the CELT mode, and the full-range bass would also be welcome.

It seems likely that 128 kbps is going to be pretty excellent / near transparent in either mode and hard to distinguish between main or experimental branch in normal listening.

The 24 kbps stream (Super Wideband at 24 kHz sampling rate, I think) is below the level where CELT dominates (I think most of the experimental psychoacoustic tunings have been developed for the CELT layer) and instead I believe Opus always uses Hybrid mode with SILK encoding the signal up to 8kHz and CELT encoding the spectrum between 8-12 kHz, I believe, so I don't expect there would be much difference between main and experimental there either.

I guess the modes chosen are based on use-cases. Unlikely to include a PSTN modem, but maybe includes cellular streaming to mobile devices at sporadic and variable rates of GPRS, which is often about 28 kbps in rural areas of the UK on some networks.

Absolute Radio labs' 128kbps Opus stream sounds excellent but at times the 24 kbps Opus was really lacking in bass, I believe - I compared to their AAC+SBR 24kbps stream. On the other hand, at times Opus sounded like it had less high-frequency harshness than the AAC+SBR version but also at times it had less HF sparkle due to its presumably 12kHz lowpass. For a speech-oriented encoder setting, Opus24 is very music-friendly. I'd probably pick the AAC+SBR at 24kbps, but the artificial-sounding nature of it might grate with me eventually and I might choose Opus instead. I know there's an adaptable HF filter in the SILK layer, so presumably its effect will vary with the audio source.

It would be lovely if bass could be preserved by Opus when music is detected at 24 kbps without losing too much fidelity due to the bits used there.

As Opus is defined by the decoder, which seems to simply add the SILK and CELT decodes, I'm not sure if there might be scope in hybrid mode to choose to use CELT to encode the area below the high-pass filter that removes non-speech background noise from the SILK layer but might be amenable to encoding using longish blocks.

I think the only way to Opus be competitive on HE-AACv2 with less than 32Kbps is using either mono or intesity stereo. Opus has something similar to Spectral Band Replication from AAC (it's called Band Folding and it's more efficient since it uses the unique design of the codec to reconstructed higher frequencies; see more here: http://people.xiph.org/~xiphmont/demo/celt/demo.html), so the bitrate range where HE-AAC sounds good (32~64Kbps) Opus will probably sound even better (a.k.a. less artifacts), but Opus doesn't have anything special on spatial encoding to compete with Parametrical Stereo, except maybe the intensity stereo mode. I don't know if Opus automatically switch to intensity stereo on such low bitrates, so maybe mono will be better.

Anyway, we shouldn't forget that HE-AAC and HE-AACv2 (well, even AAC-LC) has much more delay than Opus (it's orders of magnitude), so it still has it's on merits unless USAC comes with a low delay mode that still uses SBR+PS.

I think they did read my email, they took off 128kbps and add 64kbps and 96kbps

Just installed Firefox 15 on my Mum's PC and noticed the same thing. Absolute describe 24 kbps (mono) as Low Bitrate, 64kbps as Standard Bitrate and 96 kbps as High Bitrate, which in the context of Opus seems appropriate.

Both 64 and 96 kbps streams sound great, though I'd love to be able to listen through fb2k as well because the Classic Rock station there in particular plays a few songs with hard-panned instruments that sound like they're inside my ears on headphones so a crossfeed or speakers simulation plugin would help.

BTW, I also notice that the Examples pages of opus-codec.org now includes a cool demo of bitrate-scalability, with visual dials & readouts to show the changing bitrate, stereo mode and audio bandwidth of the seamlessly changing Opus stream (and I checked the source, it is playing Opus, and uses scripting to coordinate the readouts). I believe this was the 8-64kbps bitrate sweep demo of the Dave Matthews Band codec killer excerpt played part-way through Jean-Marc Valin's Linuxconf Australia presentation "The Swiss Army Knife of audio codecs", but now you can hear it in native Opus, being handled properly by Firefox.

Thanks. Had been getting unsupported format or corrupt error. Must have somehow got two version of fb2k installed, and was using wrong one (v1.1.12), possibly on different User Accounts. Works perfectly now.

Hi all Today foobar2k released the free encoder pack containing opusenc already which made me try out this.As I don't understand too much spectral graphs I see the high cutoff range is set to 20kHz by 96kbps which makes me think the codec's ambitions are really high, and I'm really impressed about the sound I have several more questions:Is the average vbr mode fixed to 96kbps or can it be increased yet higher?What does the complexity option affect when not the bitrate (what's the advantage of complexity <10)?What bitrates of Vorbis, AAC and MP3 (all in VBR modes) are counterparts to Opus at complexity 10 (approximately) as for sound quality?Are Opus's chances to become more standard supported by wide range of hardware players higher than Voirbis's?Keep on developing this great codec

Opus is designed with realtime communications in mind. The main targets are VoIP (phone calls, player communication in multiplayer games) and even realtime networked audio over internet (if there is enough low latency).

But due to the way it is designed, it scales very well from very low bitrate for voice communication, to full bandwith music, at bitrates that compete and even surpass Vorbis. As such, it is also interesting to use it for audio storage.

As for the specific questions you make about the encoder binary/settings, the opusenc help page might help.

Finally, being an RFC means that it is in a position to become an internet standard (and, for example, Mozilla Firefox already supports it)

As I don't understand too much spectral graphs I see the high cutoff range is set to 20kHz by 96kbps which makes me think the codec's ambitions are really high, and I'm really impressed about the sound