<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dynamic</id>
	<title>Hydrogenaudio Knowledgebase - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dynamic"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/Dynamic"/>
	<updated>2026-04-28T17:50:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27645</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27645"/>
		<updated>2018-02-22T15:47:09Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Speech encoding quality */ Mention of VOIP mode signal modification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.2.1&lt;br /&gt;
| preview_release = 1.2 rc1&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps] and [http://listening-test.coresv.net/results.htm also at 96 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 14 kbps in encoder version 1.2 (was 21 kbps in v1.1, 29 kbps in v1.0). Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz. Encoder version 1.2 includes great improvements to music encoding in the 32-64 kbps range, allowing full-band stereo at 32 kbps and providing acceptable quality at 48 kbps where artifacts are audible but rarely annoying. Version 1.3 is expected to further improve quality in this range.&lt;br /&gt;
&lt;br /&gt;
Multi-format stereo music listening tests have demonstrated the superiority of Opus at 64 kbps and 96 kbps compared to the best AAC-LC, HE-AAC and Ogg Vorbis encoders, and at 96 kbps also to 128 kbps MP3 encoded using LAME -V 5.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The tables below give illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In encoder version 1.1 automatic detection of speech/music and bandwidth detection were introduced to improve mode decisions and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff, and these improvements are further enhanced in version 1.2 and the forthcoming 1.3. These tables are likely to require updates as the encoder is improved, especially in low-bitrate regions.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed. Note that the selection of &#039;&#039;VOIP&#039;&#039; mode will deliberately modify the sound with a High Pass Filter and emphasis of formants and harmonics to improve intelligibility of speech especially in noisy environments much as telephones do. &#039;&#039;Auto&#039;&#039; mode will not modify the sound prior to encoding so is usually better for high quality speech recordings or mixed speech and music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate Target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!Typical Mode Used&lt;br /&gt;
!Speech Quality&lt;br /&gt;
!Use Cases / Competitive Codecs&lt;br /&gt;
|-&lt;br /&gt;
!Less than 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| Bitrates lower than 6 kbps not supported by Opus&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 0.7-3.2 kbps mono speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, [[Speex]] also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. [[Speex]] competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good stereo music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps or more&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fairly poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Moderately good stereo, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, may have problems with cymbals&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Beat LC-AAC, Vorbis, MP3 in [http://listening-test.coresv.net/results.htm listening test]&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!160 to 192 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1.3 ==== &lt;br /&gt;
Released July 15th, 2016. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%&lt;br /&gt;
&lt;br /&gt;
-Fixes some issues with 16-bit platforms (e.g. TI C55x)&lt;br /&gt;
&lt;br /&gt;
-Fixes to comfort noise generation (CNG)&lt;br /&gt;
&lt;br /&gt;
-Documenting that PLC packets can also be 2 bytes&lt;br /&gt;
&lt;br /&gt;
-Includes experimental ambisonics work (--enable-ambisonics)&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.2.1 ==== &lt;br /&gt;
Released June 26th, 2017. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Speech quality improvements especially in the 12-20 kbit/s range&lt;br /&gt;
&lt;br /&gt;
-Improved VBR encoding for hybrid mode&lt;br /&gt;
&lt;br /&gt;
-More aggressive use of wider speech bandwidth, including fullband speech starting at 14 kbit/s&lt;br /&gt;
&lt;br /&gt;
-Music quality improvements in the 32-48 kb/s range&lt;br /&gt;
&lt;br /&gt;
-Generic and SSE CELT optimizations&lt;br /&gt;
&lt;br /&gt;
-Support for directly encoding packets up to 120 ms&lt;br /&gt;
&lt;br /&gt;
-DTX support for CELT mode&lt;br /&gt;
&lt;br /&gt;
-SILK CBR improvements&lt;br /&gt;
&lt;br /&gt;
-Support for all of the fixes in draft-ietf-codec-opus-update-06 (the mono downmix and the folding fixes need --enable-update-draft)&lt;br /&gt;
&lt;br /&gt;
-Many bug fixes, including integer wrap-arounds discovered through fuzzing (no security implications)&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
==== Concentus ====&lt;br /&gt;
&lt;br /&gt;
The libopus reference library (fixed-point variant) has successfully been ported to both &#039;&#039;&#039;C#&#039;&#039;&#039; and &#039;&#039;&#039;Java&#039;&#039;&#039;, as part of a project called &#039;&#039;&#039;Concentus&#039;&#039;&#039;. The aim of the project is specifically to target cross-platform applications where native C interop is relatively difficult. The code is available on [https://github.com/lostromb/concentus Github] and distributed via standard package managers.&lt;br /&gt;
&lt;br /&gt;
==== Emscripten ports ====&lt;br /&gt;
&lt;br /&gt;
At least one implementation of opus in Javascript has been made using the automated tool [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Emscripten emscripten]. See [https://blog.rillke.com/opusenc.js/ here], [https://github.com/kazuki/opus.js-sample here] and [https://github.com/audiocogs/opus.js here].&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The open source virtual PBX Freeswitch supports Opus transcoding.&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
* Android 5.0 and above supports Opus natively if encapsulated in the Ogg container, but .opus filename extension is not recognized by Android, so the use of double filename extension .opus.ogg is recommended as a workaround to allow apps to recognize files as playable audio.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
*# Clementine has Opus support&lt;br /&gt;
*# Audacious player&lt;br /&gt;
*# [[MPD]] as of version 0.18 if compiled against libopus (supports both encoding for http streams and decoding) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
*# MPC-HC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
*#foobar2000 [https://itunes.apple.com/us/app/foobar2000/id1072807669?mt=8 iOS]/[https://play.google.com/store/apps/details?id=com.foobar2000.foobar2000&amp;amp;hl=en Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.acmeandroid.listen Listen Audiobook Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.mxtech.videoplayer.ad MX Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=org.tomahawk.tomahawk_android Tomahawk Player Beta]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.maxmpz.audioplayer&amp;amp;hl=en Poweramp Music Player]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
* [http://www.xdlab.ru/en/ TagScanner]&lt;br /&gt;
* [http://www.xmedia-recode.de/ XMedia Recode]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27641</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27641"/>
		<updated>2018-02-05T12:22:42Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Speech encoding quality */ Updated codec2 bitrate range&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.2.1&lt;br /&gt;
| preview_release = 1.2 rc1&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps] and [http://listening-test.coresv.net/results.htm also at 96 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 14 kbps in encoder version 1.2 (was 21 kbps in v1.1, 29 kbps in v1.0). Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz. Encoder version 1.2 includes great improvements to music encoding in the 32-64 kbps range, allowing full-band stereo at 32 kbps and providing acceptable quality at 48 kbps where artifacts are audible but rarely annoying. Version 1.3 is expected to further improve quality in this range.&lt;br /&gt;
&lt;br /&gt;
Multi-format stereo music listening tests have demonstrated the superiority of Opus at 64 kbps and 96 kbps compared to the best AAC-LC, HE-AAC and Ogg Vorbis encoders, and at 96 kbps also to 128 kbps MP3 encoded using LAME -V 5.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The tables below give illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In encoder version 1.1 automatic detection of speech/music and bandwidth detection were introduced to improve mode decisions and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff, and these improvements are further enhanced in version 1.2 and the forthcoming 1.3. These tables are likely to require updates as the encoder is improved, especially in low-bitrate regions.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate Target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!Typical Mode Used&lt;br /&gt;
!Speech Quality&lt;br /&gt;
!Use Cases / Competitive Codecs&lt;br /&gt;
|-&lt;br /&gt;
!Less than 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| Bitrates lower than 6 kbps not supported by Opus&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 0.7-3.2 kbps mono speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, [[Speex]] also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. [[Speex]] competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good stereo music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps or more&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fairly poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Moderately good stereo, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, may have problems with cymbals&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Beat LC-AAC, Vorbis, MP3 in [http://listening-test.coresv.net/results.htm listening test]&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!160 to 192 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1.3 ==== &lt;br /&gt;
Released July 15th, 2016. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%&lt;br /&gt;
&lt;br /&gt;
-Fixes some issues with 16-bit platforms (e.g. TI C55x)&lt;br /&gt;
&lt;br /&gt;
-Fixes to comfort noise generation (CNG)&lt;br /&gt;
&lt;br /&gt;
-Documenting that PLC packets can also be 2 bytes&lt;br /&gt;
&lt;br /&gt;
-Includes experimental ambisonics work (--enable-ambisonics)&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.2.1 ==== &lt;br /&gt;
Released June 26th, 2017. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Speech quality improvements especially in the 12-20 kbit/s range&lt;br /&gt;
&lt;br /&gt;
-Improved VBR encoding for hybrid mode&lt;br /&gt;
&lt;br /&gt;
-More aggressive use of wider speech bandwidth, including fullband speech starting at 14 kbit/s&lt;br /&gt;
&lt;br /&gt;
-Music quality improvements in the 32-48 kb/s range&lt;br /&gt;
&lt;br /&gt;
-Generic and SSE CELT optimizations&lt;br /&gt;
&lt;br /&gt;
-Support for directly encoding packets up to 120 ms&lt;br /&gt;
&lt;br /&gt;
-DTX support for CELT mode&lt;br /&gt;
&lt;br /&gt;
-SILK CBR improvements&lt;br /&gt;
&lt;br /&gt;
-Support for all of the fixes in draft-ietf-codec-opus-update-06 (the mono downmix and the folding fixes need --enable-update-draft)&lt;br /&gt;
&lt;br /&gt;
-Many bug fixes, including integer wrap-arounds discovered through fuzzing (no security implications)&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
==== Concentus ====&lt;br /&gt;
&lt;br /&gt;
The libopus reference library (fixed-point variant) has successfully been ported to both &#039;&#039;&#039;C#&#039;&#039;&#039; and &#039;&#039;&#039;Java&#039;&#039;&#039;, as part of a project called &#039;&#039;&#039;Concentus&#039;&#039;&#039;. The aim of the project is specifically to target cross-platform applications where native C interop is relatively difficult. The code is available on [https://github.com/lostromb/concentus Github] and distributed via standard package managers.&lt;br /&gt;
&lt;br /&gt;
==== Emscripten ports ====&lt;br /&gt;
&lt;br /&gt;
At least one implementation of opus in Javascript has been made using the automated tool [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Emscripten emscripten]. See [https://blog.rillke.com/opusenc.js/ here], [https://github.com/kazuki/opus.js-sample here] and [https://github.com/audiocogs/opus.js here].&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The open source virtual PBX Freeswitch supports Opus transcoding.&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
* Android 5.0 and above supports Opus natively if encapsulated in the Ogg container, but .opus filename extension is not recognized by Android, so the use of double filename extension .opus.ogg is recommended as a workaround to allow apps to recognize files as playable audio.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
*# Clementine has Opus support&lt;br /&gt;
*# Audacious player&lt;br /&gt;
*# [[MPD]] as of version 0.18 if compiled against libopus (supports both encoding for http streams and decoding) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
*# MPC-HC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
*#foobar2000 [https://itunes.apple.com/us/app/foobar2000/id1072807669?mt=8 iOS]/[https://play.google.com/store/apps/details?id=com.foobar2000.foobar2000&amp;amp;hl=en Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.acmeandroid.listen Listen Audiobook Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.mxtech.videoplayer.ad MX Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=org.tomahawk.tomahawk_android Tomahawk Player Beta]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.maxmpz.audioplayer&amp;amp;hl=en Poweramp Music Player]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
* [http://www.xdlab.ru/en/ TagScanner]&lt;br /&gt;
* [http://www.xmedia-recode.de/ XMedia Recode]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27636</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27636"/>
		<updated>2018-01-31T15:55:31Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Indicative bitrate and quality */ In preamble, noted improvements from later encoders at low-bitrates, but have yet to update tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.2.1&lt;br /&gt;
| preview_release = 1.2 rc1&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps] and [http://listening-test.coresv.net/results.htm also at 96 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 14 kbps in encoder version 1.2 (was 21 kbps in v1.1, 29 kbps in v1.0). Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz. Encoder version 1.2 includes great improvements to music encoding in the 32-64 kbps range, allowing full-band stereo at 32 kbps and providing acceptable quality at 48 kbps where artifacts are audible but rarely annoying. Version 1.3 is expected to further improve quality in this range.&lt;br /&gt;
&lt;br /&gt;
Multi-format stereo music listening tests have demonstrated the superiority of Opus at 64 kbps and 96 kbps compared to the best AAC-LC, HE-AAC and Ogg Vorbis encoders, and at 96 kbps also to 128 kbps MP3 encoded using LAME -V 5.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The tables below give illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In encoder version 1.1 automatic detection of speech/music and bandwidth detection were introduced to improve mode decisions and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff, and these improvements are further enhanced in version 1.2 and the forthcoming 1.3. These tables are likely to require updates as the encoder is improved, especially in low-bitrate regions.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate Target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!Typical Mode Used&lt;br /&gt;
!Speech Quality&lt;br /&gt;
!Use Cases / Competitive Codecs&lt;br /&gt;
|-&lt;br /&gt;
!Less than 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| Bitrates lower than 6 kbps not supported by Opus&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, [[Speex]] also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. [[Speex]] competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good stereo music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps or more&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fairly poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Moderately good stereo, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, may have problems with cymbals&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Beat LC-AAC, Vorbis, MP3 in [http://listening-test.coresv.net/results.htm listening test]&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!160 to 192 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1.3 ==== &lt;br /&gt;
Released July 15th, 2016. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%&lt;br /&gt;
&lt;br /&gt;
-Fixes some issues with 16-bit platforms (e.g. TI C55x)&lt;br /&gt;
&lt;br /&gt;
-Fixes to comfort noise generation (CNG)&lt;br /&gt;
&lt;br /&gt;
-Documenting that PLC packets can also be 2 bytes&lt;br /&gt;
&lt;br /&gt;
-Includes experimental ambisonics work (--enable-ambisonics)&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.2.1 ==== &lt;br /&gt;
Released June 26th, 2017. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Speech quality improvements especially in the 12-20 kbit/s range&lt;br /&gt;
&lt;br /&gt;
-Improved VBR encoding for hybrid mode&lt;br /&gt;
&lt;br /&gt;
-More aggressive use of wider speech bandwidth, including fullband speech starting at 14 kbit/s&lt;br /&gt;
&lt;br /&gt;
-Music quality improvements in the 32-48 kb/s range&lt;br /&gt;
&lt;br /&gt;
-Generic and SSE CELT optimizations&lt;br /&gt;
&lt;br /&gt;
-Support for directly encoding packets up to 120 ms&lt;br /&gt;
&lt;br /&gt;
-DTX support for CELT mode&lt;br /&gt;
&lt;br /&gt;
-SILK CBR improvements&lt;br /&gt;
&lt;br /&gt;
-Support for all of the fixes in draft-ietf-codec-opus-update-06 (the mono downmix and the folding fixes need --enable-update-draft)&lt;br /&gt;
&lt;br /&gt;
-Many bug fixes, including integer wrap-arounds discovered through fuzzing (no security implications)&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
==== Concentus ====&lt;br /&gt;
&lt;br /&gt;
The libopus reference library (fixed-point variant) has successfully been ported to both &#039;&#039;&#039;C#&#039;&#039;&#039; and &#039;&#039;&#039;Java&#039;&#039;&#039;, as part of a project called &#039;&#039;&#039;Concentus&#039;&#039;&#039;. The aim of the project is specifically to target cross-platform applications where native C interop is relatively difficult. The code is available on [https://github.com/lostromb/concentus Github] and distributed via standard package managers.&lt;br /&gt;
&lt;br /&gt;
==== Emscripten ports ====&lt;br /&gt;
&lt;br /&gt;
At least one implementation of opus in Javascript has been made using the automated tool [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Emscripten emscripten]. See [https://blog.rillke.com/opusenc.js/ here], [https://github.com/kazuki/opus.js-sample here] and [https://github.com/audiocogs/opus.js here].&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The open source virtual PBX Freeswitch supports Opus transcoding.&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
* Android 5.0 and above supports Opus natively if encapsulated in the Ogg container, but .opus filename extension is not recognized by Android, so the use of double filename extension .opus.ogg is recommended as a workaround to allow apps to recognize files as playable audio.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
*# Clementine has Opus support&lt;br /&gt;
*# Audacious player&lt;br /&gt;
*# [[MPD]] as of version 0.18 if compiled against libopus (supports both encoding for http streams and decoding) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
*# MPC-HC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
*#foobar2000 [https://itunes.apple.com/us/app/foobar2000/id1072807669?mt=8 iOS]/[https://play.google.com/store/apps/details?id=com.foobar2000.foobar2000&amp;amp;hl=en Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.acmeandroid.listen Listen Audiobook Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.mxtech.videoplayer.ad MX Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=org.tomahawk.tomahawk_android Tomahawk Player Beta]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.maxmpz.audioplayer&amp;amp;hl=en Poweramp Music Player]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
* [http://www.xdlab.ru/en/ TagScanner]&lt;br /&gt;
* [http://www.xmedia-recode.de/ XMedia Recode]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27635</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27635"/>
		<updated>2018-01-31T14:37:36Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Bitrate performance */ Modified full-band speech bitrates and stereo music range in light of v1.2 improvements and mentioned listening tests.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.2.1&lt;br /&gt;
| preview_release = 1.2 rc1&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps] and [http://listening-test.coresv.net/results.htm also at 96 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 14 kbps in encoder version 1.2 (was 21 kbps in v1.1, 29 kbps in v1.0). Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz. Encoder version 1.2 includes great improvements to music encoding in the 32-64 kbps range, allowing full-band stereo at 32 kbps and providing acceptable quality at 48 kbps where artifacts are audible but rarely annoying. Version 1.3 is expected to further improve quality in this range.&lt;br /&gt;
&lt;br /&gt;
Multi-format stereo music listening tests have demonstrated the superiority of Opus at 64 kbps and 96 kbps compared to the best AAC-LC, HE-AAC and Ogg Vorbis encoders, and at 96 kbps also to 128 kbps MP3 encoded using LAME -V 5.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate Target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!Typical Mode Used&lt;br /&gt;
!Speech Quality&lt;br /&gt;
!Use Cases / Competitive Codecs&lt;br /&gt;
|-&lt;br /&gt;
!Less than 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| Bitrates lower than 6 kbps not supported by Opus&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, [[Speex]] also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. [[Speex]] competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good stereo music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps or more&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fairly poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Moderately good stereo, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, may have problems with cymbals&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Beat LC-AAC, Vorbis, MP3 in [http://listening-test.coresv.net/results.htm listening test]&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!160 to 192 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1.3 ==== &lt;br /&gt;
Released July 15th, 2016. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%&lt;br /&gt;
&lt;br /&gt;
-Fixes some issues with 16-bit platforms (e.g. TI C55x)&lt;br /&gt;
&lt;br /&gt;
-Fixes to comfort noise generation (CNG)&lt;br /&gt;
&lt;br /&gt;
-Documenting that PLC packets can also be 2 bytes&lt;br /&gt;
&lt;br /&gt;
-Includes experimental ambisonics work (--enable-ambisonics)&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.2.1 ==== &lt;br /&gt;
Released June 26th, 2017. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Speech quality improvements especially in the 12-20 kbit/s range&lt;br /&gt;
&lt;br /&gt;
-Improved VBR encoding for hybrid mode&lt;br /&gt;
&lt;br /&gt;
-More aggressive use of wider speech bandwidth, including fullband speech starting at 14 kbit/s&lt;br /&gt;
&lt;br /&gt;
-Music quality improvements in the 32-48 kb/s range&lt;br /&gt;
&lt;br /&gt;
-Generic and SSE CELT optimizations&lt;br /&gt;
&lt;br /&gt;
-Support for directly encoding packets up to 120 ms&lt;br /&gt;
&lt;br /&gt;
-DTX support for CELT mode&lt;br /&gt;
&lt;br /&gt;
-SILK CBR improvements&lt;br /&gt;
&lt;br /&gt;
-Support for all of the fixes in draft-ietf-codec-opus-update-06 (the mono downmix and the folding fixes need --enable-update-draft)&lt;br /&gt;
&lt;br /&gt;
-Many bug fixes, including integer wrap-arounds discovered through fuzzing (no security implications)&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
==== Concentus ====&lt;br /&gt;
&lt;br /&gt;
The libopus reference library (fixed-point variant) has successfully been ported to both &#039;&#039;&#039;C#&#039;&#039;&#039; and &#039;&#039;&#039;Java&#039;&#039;&#039;, as part of a project called &#039;&#039;&#039;Concentus&#039;&#039;&#039;. The aim of the project is specifically to target cross-platform applications where native C interop is relatively difficult. The code is available on [https://github.com/lostromb/concentus Github] and distributed via standard package managers.&lt;br /&gt;
&lt;br /&gt;
==== Emscripten ports ====&lt;br /&gt;
&lt;br /&gt;
At least one implementation of opus in Javascript has been made using the automated tool [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Emscripten emscripten]. See [https://blog.rillke.com/opusenc.js/ here], [https://github.com/kazuki/opus.js-sample here] and [https://github.com/audiocogs/opus.js here].&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The open source virtual PBX Freeswitch supports Opus transcoding.&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
* Android 5.0 and above supports Opus natively if encapsulated in the Ogg container, but .opus filename extension is not recognized by Android, so the use of double filename extension .opus.ogg is recommended as a workaround to allow apps to recognize files as playable audio.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
*# Clementine has Opus support&lt;br /&gt;
*# Audacious player&lt;br /&gt;
*# [[MPD]] as of version 0.18 if compiled against libopus (supports both encoding for http streams and decoding) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
*# MPC-HC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
*#foobar2000 [https://itunes.apple.com/us/app/foobar2000/id1072807669?mt=8 iOS]/[https://play.google.com/store/apps/details?id=com.foobar2000.foobar2000&amp;amp;hl=en Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.acmeandroid.listen Listen Audiobook Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.mxtech.videoplayer.ad MX Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=org.tomahawk.tomahawk_android Tomahawk Player Beta]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.maxmpz.audioplayer&amp;amp;hl=en Poweramp Music Player]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
* [http://www.xdlab.ru/en/ TagScanner]&lt;br /&gt;
* [http://www.xmedia-recode.de/ XMedia Recode]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27634</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27634"/>
		<updated>2018-01-31T14:24:07Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Bitrate performance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.2.1&lt;br /&gt;
| preview_release = 1.2 rc1&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps] and [http://listening-test.coresv.net/results.htm also at 96 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 16 kbps (for encoder version 1.2 and later, nearer to 32 kbps in prior versions). Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate Target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!Typical Mode Used&lt;br /&gt;
!Speech Quality&lt;br /&gt;
!Use Cases / Competitive Codecs&lt;br /&gt;
|-&lt;br /&gt;
!Less than 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| Bitrates lower than 6 kbps not supported by Opus&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, [[Speex]] also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. [[Speex]] competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good stereo music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps or more&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fairly poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Moderately good stereo, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, may have problems with cymbals&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Beat LC-AAC, Vorbis, MP3 in [http://listening-test.coresv.net/results.htm listening test]&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!160 to 192 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1.3 ==== &lt;br /&gt;
Released July 15th, 2016. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%&lt;br /&gt;
&lt;br /&gt;
-Fixes some issues with 16-bit platforms (e.g. TI C55x)&lt;br /&gt;
&lt;br /&gt;
-Fixes to comfort noise generation (CNG)&lt;br /&gt;
&lt;br /&gt;
-Documenting that PLC packets can also be 2 bytes&lt;br /&gt;
&lt;br /&gt;
-Includes experimental ambisonics work (--enable-ambisonics)&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.2.1 ==== &lt;br /&gt;
Released June 26th, 2017. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Speech quality improvements especially in the 12-20 kbit/s range&lt;br /&gt;
&lt;br /&gt;
-Improved VBR encoding for hybrid mode&lt;br /&gt;
&lt;br /&gt;
-More aggressive use of wider speech bandwidth, including fullband speech starting at 14 kbit/s&lt;br /&gt;
&lt;br /&gt;
-Music quality improvements in the 32-48 kb/s range&lt;br /&gt;
&lt;br /&gt;
-Generic and SSE CELT optimizations&lt;br /&gt;
&lt;br /&gt;
-Support for directly encoding packets up to 120 ms&lt;br /&gt;
&lt;br /&gt;
-DTX support for CELT mode&lt;br /&gt;
&lt;br /&gt;
-SILK CBR improvements&lt;br /&gt;
&lt;br /&gt;
-Support for all of the fixes in draft-ietf-codec-opus-update-06 (the mono downmix and the folding fixes need --enable-update-draft)&lt;br /&gt;
&lt;br /&gt;
-Many bug fixes, including integer wrap-arounds discovered through fuzzing (no security implications)&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
==== Concentus ====&lt;br /&gt;
&lt;br /&gt;
The libopus reference library (fixed-point variant) has successfully been ported to both &#039;&#039;&#039;C#&#039;&#039;&#039; and &#039;&#039;&#039;Java&#039;&#039;&#039;, as part of a project called &#039;&#039;&#039;Concentus&#039;&#039;&#039;. The aim of the project is specifically to target cross-platform applications where native C interop is relatively difficult. The code is available on [https://github.com/lostromb/concentus Github] and distributed via standard package managers.&lt;br /&gt;
&lt;br /&gt;
==== Emscripten ports ====&lt;br /&gt;
&lt;br /&gt;
At least one implementation of opus in Javascript has been made using the automated tool [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Emscripten emscripten]. See [https://blog.rillke.com/opusenc.js/ here], [https://github.com/kazuki/opus.js-sample here] and [https://github.com/audiocogs/opus.js here].&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The open source virtual PBX Freeswitch supports Opus transcoding.&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
* Android 5.0 and above supports Opus natively if encapsulated in the Ogg container, but .opus filename extension is not recognized by Android, so the use of double filename extension .opus.ogg is recommended as a workaround to allow apps to recognize files as playable audio.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
*# Clementine has Opus support&lt;br /&gt;
*# Audacious player&lt;br /&gt;
*# [[MPD]] as of version 0.18 if compiled against libopus (supports both encoding for http streams and decoding) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
*# MPC-HC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
*#foobar2000 [https://itunes.apple.com/us/app/foobar2000/id1072807669?mt=8 iOS]/[https://play.google.com/store/apps/details?id=com.foobar2000.foobar2000&amp;amp;hl=en Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.acmeandroid.listen Listen Audiobook Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.mxtech.videoplayer.ad MX Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=org.tomahawk.tomahawk_android Tomahawk Player Beta]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.maxmpz.audioplayer&amp;amp;hl=en Poweramp Music Player]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
* [http://www.xdlab.ru/en/ TagScanner]&lt;br /&gt;
* [http://www.xmedia-recode.de/ XMedia Recode]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27056</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=27056"/>
		<updated>2016-09-27T16:17:52Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Operating systems and desktop multimedia frameworks */ mention support in Android 5.0 and above and .opus.ogg extension workaround&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.1.3&lt;br /&gt;
| preview_release = 1.1.1-rc&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps] and [http://listening-test.coresv.net/results.htm also at 96 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate Target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!Typical Mode Used&lt;br /&gt;
!Speech Quality&lt;br /&gt;
!Use Cases / Competitive Codecs&lt;br /&gt;
|-&lt;br /&gt;
!Less than 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| Bitrates lower than 6 kbps not supported by Opus&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, [[Speex]] also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. [[Speex]] competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps or more&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!36 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Beat LC-AAC, Vorbis, MP3 in [http://listening-test.coresv.net/results.htm listening test]&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!192 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1.3 ==== &lt;br /&gt;
Released July 15th, 2016. This version contains:&lt;br /&gt;
&lt;br /&gt;
-Neon optimizations improving performance on ARMv7 and ARMv8 by up to 15%&lt;br /&gt;
&lt;br /&gt;
-Fixes some issues with 16-bit platforms (e.g. TI C55x)&lt;br /&gt;
&lt;br /&gt;
-Fixes to comfort noise generation (CNG)&lt;br /&gt;
&lt;br /&gt;
-Documenting that PLC packets can also be 2 bytes&lt;br /&gt;
&lt;br /&gt;
-Includes experimental ambisonics work (--enable-ambisonics)&lt;br /&gt;
&lt;br /&gt;
=== Ports ===&lt;br /&gt;
&lt;br /&gt;
==== Concentus ====&lt;br /&gt;
&lt;br /&gt;
A project called &#039;&#039;&#039;Concentus&#039;&#039;&#039; was started with the aim of porting the libopus reference library to managed languages such as C# and Java. As of June 2016 it has succeeded in creating an Opus encoder/decoder in pure managed C#, though with significantly slower speed than the C library. A Java port is also planned in the future. It is available on [https://github.com/lostromb/concentus Github]&lt;br /&gt;
&lt;br /&gt;
==== Emscripten ports ====&lt;br /&gt;
&lt;br /&gt;
At least one implementation of opus in Javascript has been made using the automated tool [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Emscripten emscripten]. See [https://blog.rillke.com/opusenc.js/ here], [https://github.com/kazuki/opus.js-sample here] and [https://github.com/audiocogs/opus.js here].&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The open source virtual PBX Freeswitch supports Opus transcoding.&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
* Android 5.0 and above supports Opus natively if encapsulated in the Ogg container, but .opus filename extension is not recognized by Android, so the use of double filename extension .opus.ogg is recommended as a workaround to allow apps to recognize files as playable audio.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
*# Clementine has Opus support&lt;br /&gt;
*# Audacious player&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
*# MPC-HC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.acmeandroid.listen Listen Audiobook Player]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.mxtech.videoplayer.ad MX Player]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
* [http://www.xdlab.ru/en/ TagScanner]&lt;br /&gt;
* [http://www.xmedia-recode.de/ XMedia Recode]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LAME&amp;diff=26648</id>
		<title>LAME</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LAME&amp;diff=26648"/>
		<updated>2016-06-16T14:52:57Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Maximum quality and archiving */ &amp;quot;other&amp;quot; -&amp;gt; &amp;quot;higher&amp;quot;. Clearly, significantly &amp;quot;lower bitrate&amp;quot; settings can affect perceived quality.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = LAME&lt;br /&gt;
| logo = [[Image:Lamelogo.png|250px|LAME official logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = LAME ain&#039;t an MP3 encoder&lt;br /&gt;
| maintainer = The LAME project&lt;br /&gt;
| stable_release = 3.99&lt;br /&gt;
| preview_release = 3.100&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = LGPL&lt;br /&gt;
| website = [http://lame.sourceforge.net/ LAME website], Download site: [http://www.rarewares.org/mp3-lame-bundle.php Rarewares LAME-bundle]&lt;br /&gt;
}}{{featured}}&lt;br /&gt;
&#039;&#039;&#039;LAME&#039;&#039;&#039; (Lame Ain&#039;t an MP3 Encoder) is the [[Hydrogenaudio]] recommended [[MP3]] encoder. It has been developed by the open-source community since 1998, and has become the highest quality MP3 encoder for most purposes.&lt;br /&gt;
&lt;br /&gt;
Some benefits of using LAME:&lt;br /&gt;
* Highly optimised presets&lt;br /&gt;
* Fast encoding&lt;br /&gt;
* [[CBR]], [[ABR]] and quality-optimized [[VBR]] encoding methods&lt;br /&gt;
* [[Gapless]] playback with LAME-header compliant decoders&lt;br /&gt;
* Supported by recommended CD rippers [[Exact Audio Copy]] and [[CDex]]&lt;br /&gt;
* Highly tunable&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--extra whitespace here to provide a margin for the Table of Contents--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
LAME development began around mid-1998. Mike Cheng started it as a patch against the 8hz-MP3 encoder sources. After some quality concerns raised by others, he decided to start from scratch based on the dist10 sources.&amp;lt;ref&amp;gt;dist10 is the rudimentary &amp;quot;demonstration&amp;quot; MP3 encoder described in the MPEG-2 standard, ISO/IEC 13818.&amp;lt;/ref&amp;gt; That branch (a patch against the reference sources) became LAME 2.0. By the release of LAME 3.81, all dist10 code was removed, making LAME a completely new program, not a mere patch of an existing encoder.&lt;br /&gt;
&lt;br /&gt;
The project quickly became a team effort. Mike Cheng eventually left leadership and started working on [http://toolame.sourceforge.net/ tooLAME], an [[MP2]] encoder. Mark Taylor became leader and released version 3.0 featuring gpsycho, a new psychoacoustic model developed by him.&lt;br /&gt;
&lt;br /&gt;
Nowadays LAME is considered the best MP3 encoder at mid &amp;amp; high bitrates, and features the best VBR model among MP3 implementations, mostly thanks to the dedicated work of talented developers Takehiro Tominaga, Naoki Shibata, Darin Morrison, Gabriel Bouvigne, Robert Hegemann, and others. Development is ongoing.&lt;br /&gt;
&lt;br /&gt;
Although LAME is generally considered to be an encoder, according to the LAME technical FAQ, it&#039;s technically not an encoder, but rather is officially just &amp;quot;a development project which uses the open source model to improve MP3 technology.&amp;quot; This improved technology is only released in source code form in order to minimize the risk of violating patents. When the source code is compiled and distributed, it &#039;&#039;may&#039;&#039; require a license from Thomson, depending on where and how it&#039;s to be used. The LAME project&#039;s position is &amp;quot;Source code is considered as speech, which may contain descriptions of patented technology. Descriptions of patents are in the public domain.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
LAME source code is maintained in a CVS repository, and the only official codebase for public use is the trunk code tagged &amp;quot;MAIN&amp;quot;. There are also numerous experimental branches of this code in which the developers test new ideas. One of these branches was started after the release of LAME 3.92 in 2002. To keep it from being confused with LAME 3.93 alpha versions, the code was made to self-identify as LAME 4.0 alpha 1 (in late 2002) through 4.0 alpha 14 (since 2005). This code is mainly for the developers to test optimizations and architectural changes in LAME&#039;s foundational code, ideas that may eventually be used in the main branch if and when development actually begins on LAME 4.0. However, some members of the public used this code to build working copies of &amp;quot;LAME 4.0&amp;quot; alpha versions in 2003-2005. These should not be considered actual LAME 4.0 releases and the developers do not want public feedback on them, nor do they want any more public builds to be made from this branch.&lt;br /&gt;
&lt;br /&gt;
==Recommended encoder compiles and source code==&lt;br /&gt;
&lt;br /&gt;
Unless noted otherwise, the recommended LAME compile for optimal quality is always the &#039;&#039;&#039;latest stable version&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Download the latest LAME from these links:&#039;&#039;&#039;&lt;br /&gt;
* [http://www.rarewares.org/mp3.php RareWares MP3 Page] - Compiles for Win32, Mac OS X universal binary, Linux etc.&lt;br /&gt;
* [http://sourceforge.net/project/showfiles.php?group_id=290&amp;amp;package_id=309 LAME source code on SourceForge]&lt;br /&gt;
&lt;br /&gt;
Avoid using alpha versions of LAME. These versions have &amp;quot;a&amp;quot; in their version string and are usually only for testing changes and new features, and may result in lower quality MP3s. Use them only if you want to help the developers and provide feedback.&lt;br /&gt;
&lt;br /&gt;
==Recommended encoder settings==&lt;br /&gt;
This section describes the [[Hydrogenaudio]] recommended settings to be used with LAME for highest quality MP3 encoding. These settings require LAME 3.98 or later (the latest stable version is recommended).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #F0F0F0; color: black; border: 1px solid black; margin: 1em; padding: 1em 2em 1em 2em;&amp;quot;&amp;gt;&lt;br /&gt;
====Maximum quality and archiving====&lt;br /&gt;
&lt;br /&gt;
Maximum quality is achieved when, regardless of listening conditions, you are unable to detect a difference between the MP3 and the original. As demonstrated by blind [[ABX]] tests, LAME-encoded MP3s typically achieve this level of [[transparency]] when encoded with the default settings, at bitrates well below maximum. Encoding with higher-bitrate settings will have no effect on the perceived quality.&lt;br /&gt;
&lt;br /&gt;
For archiving, only [[lossless]] formats like [[WavPack]], [[FLAC]], etc. are ideal; they will preserve the audio with no changes, sample-for-sample, regardless of encoder settings. In contrast, lossy formats like MP3 are designed to save space by changing the audio in subtle, often imperceptible ways, even at the encoder&#039;s maximum settings.&lt;br /&gt;
&lt;br /&gt;
====Very high quality: &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;HiFi, home, or quiet listening, with best file size&amp;lt;/font&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;-V0&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; (~245 kbps), &amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;-V1&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; (~225 kbps), &amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;-V2&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; (~190 kbps) or &amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:green&amp;quot;&amp;gt;-V3&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; (~175 kbps) are recommended.&lt;br /&gt;
&lt;br /&gt;
These [[VBR]] settings will normally produce [[transparency|transparent]] results. Audible differences between these presets may exist, but are rare.&lt;br /&gt;
&lt;br /&gt;
====Very high quality: &amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;HiFi, home, or quiet listening, with maximum file size&amp;lt;/font&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:red&amp;quot;&amp;gt;-b 320&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; is an alternative to the VBR settings above.&lt;br /&gt;
&lt;br /&gt;
This [[CBR]] mode will maximize the MP3&#039;s bitrate and overall file size. The extra space may allow for some parts of the audio to be compressed with fewer sacrifices, but to date, no one has produced ABX test results demonstrating that perceived quality is ever better than the highest VBR profiles described above.&amp;lt;ref&amp;gt;Prior to version 3.99, CBR and VBR modes were encoded differently by LAME. In some unusual problem samples, these differences were sometimes audible, even at very high bitrates. Current versions of LAME encode CBR and VBR with the same psychoacoustic model, so such differences shouldn&#039;t arise from normal use.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Portable: &amp;lt;font style=&amp;quot;color:purple&amp;quot;&amp;gt;listening in noisy conditions, lower bitrate, smaller file size&amp;lt;/font&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:purple&amp;quot;&amp;gt;-V4&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; (~165 kbps), &amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:purple&amp;quot;&amp;gt;-V5&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; (~130 kbps) or &amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:purple&amp;quot;&amp;gt;-V6&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; (~115 kbps) are recommended.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:purple&amp;quot;&amp;gt;-V6&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; produces an &amp;quot;acceptable&amp;quot; quality, while &amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:purple&amp;quot;&amp;gt;-V4&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; should be close to perceptual [[transparency]].&lt;br /&gt;
&lt;br /&gt;
====Very low bitrate, small sizes: &amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;eg. for voice, radio, [[mono]] encoding etc.&amp;lt;/font&amp;gt;====&lt;br /&gt;
&lt;br /&gt;
For very low bitrates, up to 100kbps, [[ABR]] is most often the best solution. &lt;br /&gt;
Use &amp;lt;code&amp;gt;&amp;lt;font style=&amp;quot;color:blue&amp;quot;&amp;gt;--abr &amp;lt;bitrate&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/code&amp;gt; (e.g. --abr 80).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;--preset voice&#039;&#039;&#039; is only available in the command line front-end, and is there for compatibility.&lt;br /&gt;
It is currently mapped to &#039;&#039;&#039;&#039;&#039;--abr 56 -mm&#039;&#039;&#039;&#039;&#039;, so that means that the recommendation would be to encode in mono, and use ABR.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Understanding the bitrate settings==&lt;br /&gt;
MP3s are divided into frames, each frame being a particular size, expressed as a [[bitrate]]. If the bitrate of every frame is the same throughout the file, then the file is considered to be &#039;&#039;constant bit rate&#039;&#039; ([[CBR]]). Otherwise, it is &#039;&#039;variable bit rate&#039;&#039; ([[VBR]]). LAME offers CBR and VBR encoding modes, as well as a special VBR encoding mode called [[ABR]] (&#039;&#039;average bit rate&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
===VBR (variable bitrate) settings===&lt;br /&gt;
&#039;&#039;&#039;[[VBR]]:&#039;&#039;&#039; &#039;&#039;variable bitrate mode. Use variable bitrate modes when the goal is to achieve a fixed level of quality using the lowest possible bitrate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
VBR is best used to target a specific quality level, instead of a specific bitrate. The final file size of a VBR encode is less predictable than with [[ABR]], but the quality is usually better.&lt;br /&gt;
&lt;br /&gt;
Unlike other MP3 encoders which do VBR encoding based on predictions of output quality, LAME&#039;s default VBR method tests the &#039;&#039;actual&#039;&#039; output quality to ensure the desired quality level is always achieved.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Usage:&#039;&#039;&#039; &amp;lt;code&amp;gt;-V &amp;amp;lt;number&amp;gt;&amp;lt;/code&amp;gt; where &amp;amp;lt;number&amp;gt; is between 0 and 9, 0 being highest quality, 9 being the lowest. (Note: The &amp;quot;V&amp;quot; has to be a capital letter.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; &amp;lt;code&amp;gt;-V 2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fractional values are also accepted, with 9.999 being the absolute lowest quality.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; &amp;lt;code&amp;gt;-V 2.75&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The switch &amp;lt;code&amp;gt;--vbr-new&amp;lt;/code&amp;gt;, which enabled a superior VBR mode in LAME 3.97 and some previous versions, is no longer needed with LAME 3.98 and higher, as it is now the default VBR mode. However, if you&#039;re still using LAME 3.97 or older, you have to add &amp;lt;code&amp;gt;--vbr-new&amp;lt;/code&amp;gt; to your command line to use that mode.&lt;br /&gt;
&lt;br /&gt;
The target bitrate and actual typical bitrate for each VBR quality level is shown in the [[#Technical information|Technical details for recommended LAME settings]] section below.&lt;br /&gt;
&lt;br /&gt;
If you need a predictable bitrate (in a streaming application, for example), use ABR or CBR modes, described below.&lt;br /&gt;
&lt;br /&gt;
===ABR (average bitrate) settings===&lt;br /&gt;
&#039;&#039;&#039;[[ABR]]:&#039;&#039;&#039; &#039;&#039;average bitrate mode. A compromise between VBR and CBR modes, ABR encoding varies bits around a specified target bitrate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use ABR when you need to know the final size of the file but still want to allow the encoder some flexibility to decide which passages need more bits. The output is an ordinary VBR file compatible with all MP3 players that support VBR; ABR is not a special type of file, just a LAME-specific strategy for producing VBR.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Usage:&#039;&#039;&#039; &amp;lt;code&amp;gt;--preset &amp;amp;lt;bitrate&amp;gt;&amp;lt;/code&amp;gt; where &amp;amp;lt;bitrate&amp;gt; (desired averaged bitrate in kbit/s) is a value between 8 and 320.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; &amp;lt;code&amp;gt;--preset 200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; &#039;&#039;ABR setting is tuned from 320 kbit/s down to 80 kbit/s.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===CBR (constant bitrate) settings===&lt;br /&gt;
&#039;&#039;&#039;[[CBR]]:&#039;&#039;&#039; &#039;&#039;constant bitrate mode. CBR encoding is not efficient. Whereas VBR and ABR modes can supply more bits to complex music passages and save bits on simpler ones, CBR encodes every frame at the same bitrate.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
CBR is only recommended for usage in streaming situations where the upper bitrate must be strictly enforced. There is still some variability in bitrate behind the scenes, through LAME&#039;s use of the [[bit reservoir]] feature of the MP3 format, but it is much less flexible than actual VBR.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Usage:&#039;&#039;&#039; &amp;lt;code&amp;gt;-b &amp;lt;bitrate&amp;gt;&amp;lt;/code&amp;gt; where &amp;lt;bitrate&amp;gt; (bitrate in kbit/s) must be chosen from the following values: 8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256, or 320.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039; &amp;lt;code&amp;gt;-b 192&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; &#039;&#039;CBR setting is tuned from 320 kbit/s down to 80 kbit/s.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Remarks===&lt;br /&gt;
* The rule of thumb when considering encoding options: at a given bitrate, [[VBR]] is higher quality than [[ABR]], which is higher quality than [[CBR]] (VBR &amp;gt; ABR &amp;gt; CBR in terms of quality). However, [[ABX]] tests demonstrate that as bitrate increases, the perceptual differences diminish, with all modes generally reaching [[transparency]] well before their maximum settings; when you can&#039;t tell the difference, the modes are qualitatively the same.&lt;br /&gt;
&lt;br /&gt;
* In terms of filesize [[VBR]] tends to produce the smallest files down to -V7. For lower quality (e.g. for non-music audio such as speech) [[ABR]] will produce smaller files than [[VBR]], starting from --abr 115.&lt;br /&gt;
&lt;br /&gt;
* All modes and settings mentioned in this topic belong to the specifications of the MP3 standard, and the resulting MP3s should be playable by every MP3 decoder that conforms with the standard. If your decoder or device does not play MP3s produced by LAME, blame the manufacturer or developer, not LAME.&lt;br /&gt;
&lt;br /&gt;
* Prior to LAME 3.98, the &amp;lt;code&amp;gt;--vbr-new&amp;lt;/code&amp;gt; switch enabled the new VBR mode. This is now the default VBR mode, with the old mode being available via &amp;lt;code&amp;gt;--vbr-old&amp;lt;/code&amp;gt;. In terms of quality, the new mode appears to be better than the old, but reports of artifacts when using the new mode do exist. Despite these possible issues, the new mode is currently recommended due to both the speed and quality increases afforded by the new algorithm.&lt;br /&gt;
&lt;br /&gt;
==Technical information==&lt;br /&gt;
===Recommended settings details===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto;&amp;quot;&lt;br /&gt;
|+&#039;&#039;&#039;Technical details of the recommended settings&#039;&#039;&#039;&lt;br /&gt;
! style=&amp;quot;vertical-align: bottom&amp;quot; | Switch !! style=&amp;quot;vertical-align: bottom&amp;quot; | Preset !! style=&amp;quot;width: 4em; vertical-align: bottom&amp;quot; | Target Kbps !! style=&amp;quot;width: 4em; vertical-align: bottom&amp;quot; | Typical Kbps&amp;lt;ref&amp;gt;Typical bitrates are mostly based on the results of testing with LAME 3.98.2.&amp;lt;/ref&amp;gt; !! style=&amp;quot;width: 4em; vertical-align: bottom&amp;quot; | [[LAME Y switch|Y Switch]] !! style=&amp;quot;vertical-align: bottom&amp;quot; | Lowpass&amp;lt;ref&amp;gt;This range is the transition band of the lowpass filter. Signal components are at full intensity at the lower frequency. Higher frequencies are attenuated on a slope which reaches zero at (and beyond) the high end of the given range. Further info can be found [http://www.hydrogenaud.io/forums/index.php?s=&amp;amp;showtopic=106868&amp;amp;view=findpost&amp;amp;p=874354 in the HA forum].&amp;lt;/ref&amp;gt; !! style=&amp;quot;vertical-align: bottom&amp;quot; | Resample&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-b 320&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;--preset insane&amp;lt;/code&amp;gt; || style=&amp;quot;text-align: right&amp;quot; | 320 || style=&amp;quot;text-align: center&amp;quot; | 320 || style=&amp;quot;text-align: center&amp;quot; | Y&amp;lt;ref&amp;gt;CBR mode uses &amp;lt;code&amp;gt;-Y&amp;lt;/code&amp;gt; in effect; see the [[LAME Y switch]] article.&amp;lt;/ref&amp;gt; || ||&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 0&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;--preset extreme&amp;lt;/code&amp;gt; || style=&amp;quot;text-align: right&amp;quot; | ~240 || style=&amp;quot;text-align: center&amp;quot; | 220–260 || || ||&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 1&amp;lt;/code&amp;gt; || || style=&amp;quot;text-align: right&amp;quot; | ~220 || style=&amp;quot;text-align: center&amp;quot; | 190–250 || || style=&amp;quot;text-align: center&amp;quot; | 19383 Hz – 19916 Hz ||&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 2&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;--preset standard&amp;lt;/code&amp;gt; || style=&amp;quot;text-align: right&amp;quot; | ~190 || style=&amp;quot;text-align: center&amp;quot; | 170–210 || || style=&amp;quot;text-align: center&amp;quot; | 18671 Hz – 19205 Hz ||&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 3&amp;lt;/code&amp;gt; || || style=&amp;quot;text-align: right&amp;quot; | ~170 || style=&amp;quot;text-align: center&amp;quot; | 150–195 || style=&amp;quot;text-align: center&amp;quot; | Y || style=&amp;quot;text-align: center&amp;quot; | 17960 Hz – 18494 Hz ||&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 4&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;--preset medium&amp;lt;/code&amp;gt; || style=&amp;quot;text-align: right&amp;quot; | ~160 || style=&amp;quot;text-align: center&amp;quot; | 140–185 || style=&amp;quot;text-align: center&amp;quot; | Y || style=&amp;quot;text-align: center&amp;quot; | 17249 Hz – 17782 Hz ||&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 5&amp;lt;/code&amp;gt; || || style=&amp;quot;text-align: right&amp;quot; | ~130 || style=&amp;quot;text-align: center&amp;quot; | 120–150 || style=&amp;quot;text-align: center&amp;quot; | Y || style=&amp;quot;text-align: center&amp;quot; | 16538 Hz – 17071 Hz ||&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 6&amp;lt;/code&amp;gt; || || style=&amp;quot;text-align: right&amp;quot; | ~120 || style=&amp;quot;text-align: center&amp;quot; | 100–130 || style=&amp;quot;text-align: center&amp;quot; | Y || style=&amp;quot;text-align: center&amp;quot; | 15115 Hz – 15648 Hz ||&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 7&amp;lt;/code&amp;gt; || || style=&amp;quot;text-align: right&amp;quot; | ~100 || style=&amp;quot;text-align: center&amp;quot; | 80–120 || style=&amp;quot;text-align: center&amp;quot; | Y || style=&amp;quot;text-align: center&amp;quot; | 14581 Hz – 14968 Hz || style=&amp;quot;text-align: right&amp;quot; | 32000 Hz&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 8&amp;lt;/code&amp;gt; || || style=&amp;quot;text-align: right&amp;quot; | ~80 || style=&amp;quot;text-align: center&amp;quot; | 70–105 || style=&amp;quot;text-align: center&amp;quot; | Y || style=&amp;quot;text-align: center&amp;quot; | 12516 Hz – 12903 Hz || style=&amp;quot;text-align: right&amp;quot; | 32000 Hz&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;background:white;color:black&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align: center&amp;quot; | &amp;lt;code&amp;gt;-V 9&amp;lt;/code&amp;gt; || || style=&amp;quot;text-align: right&amp;quot; | ~70 || style=&amp;quot;text-align: center&amp;quot; | 45–85 || style=&amp;quot;text-align: center&amp;quot; | Y || style=&amp;quot;text-align: center&amp;quot; | 9336 Hz – 9602 Hz || style=&amp;quot;text-align: right&amp;quot; | 24000 Hz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The default lowpass settings were not chosen at random; for general use, they are as high as they can be without putting quality at risk. Raising the the cutoff via command-line options is not recommended. See the [[high-frequency content in MP3s]] article for more info.&lt;br /&gt;
&lt;br /&gt;
===Fraunhofer decoder incompatibility===&lt;br /&gt;
Differing interpretations of an unclear portion of the MP3 spec led to a Windows-specific version of the Fraunhofer IIS MP3 decoder being unable to properly play certain MP3s created with certain versions of LAME.&lt;br /&gt;
&lt;br /&gt;
In order to demonstrate the problem, the problematic MP3 must have been created with LAME 3.97 or earlier, and must contain a frame with certain parameters and a very large amount of data, such as a 320-kbps frame which makes heavy use of the [[bit reservoir]]. The decoder must be the DirectShow filter &amp;lt;code&amp;gt;l3codecx.ax&amp;lt;/code&amp;gt; version 1.5.0 or lower, as used by Windows Media Player on versions of Windows prior to Windows Vista. An [http://support.microsoft.com/kb/2115168/en-us August 2010 security update] for Windows XP and Server 2003 upgraded this filter to version 1.6.0, which can play the problematic MP3s. Windows Vista shipped with the older version but Windows Media Player uses a different filter, and later versions of Windows don&#039;t have the old filter at all.&lt;br /&gt;
&lt;br /&gt;
A workaround was implemented in LAME 3.98.0 beta 1 through LAME 3.98.2, and in LAME 3.99 alpha 1, whereby 320-kbps frames were limited in how much of the bit reservoir they could use. This resulted in wasted space when the bit reservoir would grow beyond the limit. In LAME 3.98.3 and beyond, and in LAME 3.99 alpha 2 and beyond, the method was changed such that the bit reservoir can&#039;t grow beyond the limit.&lt;br /&gt;
&lt;br /&gt;
Related discussion threads:&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=40308 LAME high bitrate files in l3codeca.ax]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=78114 Lame 3.98 wastes bits]&lt;br /&gt;
&lt;br /&gt;
===VBR header and LAME tag===&lt;br /&gt;
&lt;br /&gt;
LAME supports the &#039;&#039;de facto&#039;&#039; standard of adding an extra frame of silence to the beginning of MP3 files. This &amp;quot;VBR header&amp;quot; or &amp;quot;Info tag&amp;quot; provides a home for precise info about the audio duration and a table of seek points. It is mainly for the benefit of players working with VBR files. Decoders usually treat the frame as informational, rather than playing the audio.&lt;br /&gt;
&lt;br /&gt;
LAME uses the Xing format for this header, and extends it by embedding a 20-byte &amp;quot;LAME tag&amp;quot; with additional info:&lt;br /&gt;
* a short version string (9 ASCII bytes; see [[LAME version string]])&lt;br /&gt;
* audio and info tag CRCs (since LAME 3.90)&lt;br /&gt;
* separate delay &amp;amp; padding values for gapless playback (since LAME 3.90)&lt;br /&gt;
* various encoder settings (since LAME 3.90, expanded in 3.94 to include presets)&lt;br /&gt;
&lt;br /&gt;
Prior to LAME 3.94, the VBR header was only written in VBR files. Since 3.94, it is written to CBR files, too, with &amp;quot;Info&amp;quot; instead of &amp;quot;XING&amp;quot; at the beginning.&lt;br /&gt;
&lt;br /&gt;
Details are in this wiki&#039;s [[MP3#VBRI, XING, and LAME headers|MP3 article]] and [[LAME version string]] article, and in LAME developer Gabriel Bouvigne&#039;s [http://gabriel.mp3-tech.org/mp3infotag.html MP3 Info Tag] documentation.&lt;br /&gt;
&lt;br /&gt;
===Hey! What happened to &amp;quot;--alt-preset&amp;quot;?===&lt;br /&gt;
&lt;br /&gt;
The revolutionary &amp;lt;code&amp;gt;--alt-preset&amp;lt;/code&amp;gt; system was introduced in LAME 3.90. It was replaced by the &amp;lt;code&amp;gt;--preset&amp;lt;/code&amp;gt; flags in later versions.&lt;br /&gt;
&lt;br /&gt;
Starting with version 3.94, the &amp;lt;code&amp;gt;-Vx&amp;lt;/code&amp;gt; quality system was introduced, allowing finer control over the desired quality level and bitrate. The &amp;lt;code&amp;gt;--preset&amp;lt;/code&amp;gt; switches were made into aliases to the corresponding &amp;lt;code&amp;gt;-V&amp;lt;/code&amp;gt; flags for the sake of backward compatibility. &#039;&#039;&#039;There is no difference between the output you get if you use &amp;lt;code&amp;gt;-V2&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--alt-preset standard&amp;lt;/code&amp;gt;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Recent LAME versions feature more streamlined command-line options, and it&#039;s recommended to stick to one of the values described in the text or shown in the table above.&lt;br /&gt;
&lt;br /&gt;
For example, the following command-line options will all produce the same output:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--alt-preset insane&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--preset insane&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-b 320&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--preset 320&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;--preset cbr 320&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[LAME Y switch|The -Y switch]]&lt;br /&gt;
* [[MP3]]&lt;br /&gt;
* [[CBR]]&lt;br /&gt;
* [[VBR]]&lt;br /&gt;
* [[ABR]]&lt;br /&gt;
* [[Exact Audio Copy]]&lt;br /&gt;
* [[EAC and Lame | Configuring EAC and LAME]]&lt;br /&gt;
&lt;br /&gt;
==Notes and references==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://lame.sourceforge.net LAME official homepage]&lt;br /&gt;
&amp;lt;!--ReallyRarewares and the rest of rjamorim.com is gone. If the content is back online, please restore &amp;amp; update these links.&lt;br /&gt;
*[http://www.rjamorim.com/rrw/lame.html Historical versions of LAME] at ReallyRareWares&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;br /&gt;
[[Category:MP3]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=26160</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=26160"/>
		<updated>2014-10-22T10:34:02Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Music encoding quality */ Add 96kbps listening test to music quality table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = 1.1 beta&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps] and [http://listening-test.coresv.net/results.htm also at 96 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!36 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Beat LC-AAC, Vorbis, MP3 in [http://listening-test.coresv.net/results.htm listening test]&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 (recommended latest stable release) ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The open source virtual PBX Freeswitch supports Opus transcoding.&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
*# Clementine has Opus support&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
* [http://www.xdlab.ru/en/ TagScanner]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=26159</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=26159"/>
		<updated>2014-10-22T10:31:17Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Added link to 96k listening test in Lead Section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = 1.1 beta&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps] and [http://listening-test.coresv.net/results.htm also at 96 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!36 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 (recommended latest stable release) ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The open source virtual PBX Freeswitch supports Opus transcoding.&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
*# Clementine has Opus support&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
* [http://www.xdlab.ru/en/ TagScanner]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Hydrogenaudio&amp;diff=26083</id>
		<title>Hydrogenaudio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Hydrogenaudio&amp;diff=26083"/>
		<updated>2014-09-11T09:11:13Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hydrogenaudio is an internet community designed to be a focal point for information related to all facets of audio technology.&lt;br /&gt;
Hydrogenaudio features several [http://www.hydrogenaudio.org/forums/index.php?act=idx forums] for many audio related topic, a [http://www.hydrogenaudio.org/forums/index.php forum portal] and this [[Main Page|Knowledgebase]]&lt;br /&gt;
&lt;br /&gt;
In mid 2014 the original hydrogenaudio.org domain was due to expire and the forums, wiki and other features were duplicated at the new domain hydrogenaud.io allowing links and citations on other sites to be updated using a simple search &amp;amp; replace.&lt;br /&gt;
&lt;br /&gt;
== Logo ==&lt;br /&gt;
Here you can find various versions of the logo for linking on your own page or for any other use you might have for the Hydrogenaudio logo.&lt;br /&gt;
&lt;br /&gt;
Standard Hydrogenaudio logo as seen on at the forum:&lt;br /&gt;
[[Image:Logo2b.png|frame|center|Normal HA logo]]&lt;br /&gt;
&lt;br /&gt;
===Meaning===&lt;br /&gt;
&#039;&#039;Taken from [http://www.hydrogenaud.io/forums/index.php?showtopic=15916 this HA thread].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The logo symbolizes the spreading of information as well as expanding sound waves. It&#039;s easily recognizable and can also be modified to a smaller logo for sites that want to link to HA. The text is simple and non-distracting. It was decided not to have headphones in the logo, as it wouldn&#039;t be individual and original enough.&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
&lt;br /&gt;
; Adobe Illustrator version of the Logo&lt;br /&gt;
:  [[Media:Logo AI.zip|Download]] (205kB).&lt;br /&gt;
: This is the original vector version of the logo. This will render correctly in Adobe illustrator.&lt;br /&gt;
&lt;br /&gt;
; EPS version of the Logo&lt;br /&gt;
: [[Media:Logo eps.zip|Download]] (245kB).&lt;br /&gt;
: Alternate vector version. Might not render correctly.&lt;br /&gt;
&lt;br /&gt;
; SVG version of the Logo&lt;br /&gt;
: [[Media:Logo svg.zip|Download]] (2kB).&lt;br /&gt;
: Alternate vector version. Might not render correctly.&lt;br /&gt;
&lt;br /&gt;
; Oversized PNG version of the Logo&lt;br /&gt;
: If you don&#039;t have a vector program you can still get a decent resolution with [[Media:Logo_large.png|this oversized version]].&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Hydrogenaudio&amp;diff=26082</id>
		<title>Hydrogenaudio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Hydrogenaudio&amp;diff=26082"/>
		<updated>2014-09-11T09:10:18Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Mentioned domain name migration in 2014&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hydrogenaudio is an internet community designed to be a focal point for information related to all facets of audio technology.&lt;br /&gt;
Hydrogenaudio features several [http://www.hydrogenaudio.org/forums/index.php?act=idx forums] for many audio related topic, a [http://www.hydrogenaudio.org/forums/index.php forum portal] and this [[Main Page|Knowledgebase]]&lt;br /&gt;
&lt;br /&gt;
In mid 2014 the original hydrogenaudio.org domain was due to expire and the forum, wiki and other features were duplicated at the new domain hydrogenaud.io allowing links and citations on other sites to be updated using a simple search &amp;amp; replace.&lt;br /&gt;
&lt;br /&gt;
== Logo ==&lt;br /&gt;
Here you can find various versions of the logo for linking on your own page or for any other use you might have for the Hydrogenaudio logo.&lt;br /&gt;
&lt;br /&gt;
Standard Hydrogenaudio logo as seen on at the forum:&lt;br /&gt;
[[Image:Logo2b.png|frame|center|Normal HA logo]]&lt;br /&gt;
&lt;br /&gt;
===Meaning===&lt;br /&gt;
&#039;&#039;Taken from [http://www.hydrogenaud.io/forums/index.php?showtopic=15916 this HA thread].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The logo symbolizes the spreading of information as well as expanding sound waves. It&#039;s easily recognizable and can also be modified to a smaller logo for sites that want to link to HA. The text is simple and non-distracting. It was decided not to have headphones in the logo, as it wouldn&#039;t be individual and original enough.&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
&lt;br /&gt;
; Adobe Illustrator version of the Logo&lt;br /&gt;
:  [[Media:Logo AI.zip|Download]] (205kB).&lt;br /&gt;
: This is the original vector version of the logo. This will render correctly in Adobe illustrator.&lt;br /&gt;
&lt;br /&gt;
; EPS version of the Logo&lt;br /&gt;
: [[Media:Logo eps.zip|Download]] (245kB).&lt;br /&gt;
: Alternate vector version. Might not render correctly.&lt;br /&gt;
&lt;br /&gt;
; SVG version of the Logo&lt;br /&gt;
: [[Media:Logo svg.zip|Download]] (2kB).&lt;br /&gt;
: Alternate vector version. Might not render correctly.&lt;br /&gt;
&lt;br /&gt;
; Oversized PNG version of the Logo&lt;br /&gt;
: If you don&#039;t have a vector program you can still get a decent resolution with [[Media:Logo_large.png|this oversized version]].&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=25889</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=25889"/>
		<updated>2014-07-20T06:38:39Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* libopus v1.1 (recommended latest stable release) */ Tidied up. mentioned surround improvements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = 1.1 beta&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 (recommended latest stable release) ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead is not perfect but usually is undecided in audio where either mode will work well.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Surround sound improvements&#039;&#039;&#039; were introduced since the beta release with considerable advances in coding efficiency, bitrate allocation and quality.&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=25888</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=25888"/>
		<updated>2014-07-20T06:27:48Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Commandline binaries &amp;amp; libopus versions */ Changed recommended version to 1.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = 1.1 beta&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server], plus in the foobar2000 free encoders pack and some alternative compiles through the hydrogenaud.io opus forum. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of mid 2014 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1 (recommended latest stable release) ==== &lt;br /&gt;
&lt;br /&gt;
The alpha source code released 21 Dec 2012 for testing &amp;amp; user feedback and following a beta release and testing, the stable 1.1 version was released on 5 December 2013, considered well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead, takes a second or two typically and will some&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies, and while easier to implement, developers would also been keen to know of any failure of this feature (potentially caused by aliasing, quantization and dithering/noise-shaping in source material).&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome have audio support as of version 33.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
&lt;br /&gt;
* Windows/Mac/Linux (Cross-Platform)&lt;br /&gt;
*# [[VLC]] (media player supports Opus as of version 2.0.4 &lt;br /&gt;
*#[[Amarok]] 2.8 has transcoding support for Opus codec if ffmpeg is compiled with support for the libopus library &amp;amp; support for playback of Opus encoded files if Amarok is compiled against TagLib (newer than V1.8)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Windows Exclusive&lt;br /&gt;
*# AIMP supports Opus natively as of version 3.20 build 1125 beta 1&lt;br /&gt;
*# [[foobar2000]] supports Opus natively as of v1.1.14 beta 1&lt;br /&gt;
*# Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
*# [[Winamp]] supports Opus using a [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* iOS/Android (Cross-Platform)&lt;br /&gt;
*#Capriccio [https://itunes.apple.com/us/app/capriccio-free-ultimate-music/id434829018?mt=8 iOS]/[https://play.google.com/store/apps/details?id=me.ideariboso.capriccio Android]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Android Exclusive&lt;br /&gt;
*# [http://gonemadmusicplayer.blogspot.com/ GoneMAD Music Player]&lt;br /&gt;
*# [http://neutronmp.com/ Neutron Music Player]&lt;br /&gt;
*# [http://www.videolan.org/vlc/download-android.html VLC Media Player for Android]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=ru.recoilme.freeamp FreeMP]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=net.mderezynski.youki3 Youki]&lt;br /&gt;
*# [https://play.google.com/store/apps/details?id=com.aimp.player AIMP for Android]&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=25226</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=25226"/>
		<updated>2013-07-19T20:43:40Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Changed preview release to 1.1 beta&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = 1.1 beta&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server]. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of early 2013 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 (recommended latest stable release) ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1-alpha ====&lt;br /&gt;
Source code released 21 Dec 2012 for testing &amp;amp; user feedback ([https://ftp.mozilla.org/pub/mozilla.org/opus/win32/opus-tools-0.1.6-opus-1.1-alpha-win32.zip win32 binaries]), but not yet considered stable and well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead, takes a second or two typically and will sometimes make incorrect decisions. The developers would be keen to know of examples of its failure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies, and while easier to implement, developers would also been keen to know of any failure of this feature (potentially caused by aliasing, quantization and dithering/noise-shaping in source material).&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
* [[Winamp]] supports for Opus via [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in].&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=25215</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=25215"/>
		<updated>2013-07-12T07:44:18Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Streaming audio */  Icecast directory now filtered by Opus format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server]. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of early 2013 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 (recommended latest stable release) ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1-alpha ====&lt;br /&gt;
Source code released 21 Dec 2012 for testing &amp;amp; user feedback ([https://ftp.mozilla.org/pub/mozilla.org/opus/win32/opus-tools-0.1.6-opus-1.1-alpha-win32.zip win32 binaries]), but not yet considered stable and well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead, takes a second or two typically and will sometimes make incorrect decisions. The developers would be keen to know of examples of its failure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies, and while easier to implement, developers would also been keen to know of any failure of this feature (potentially caused by aliasing, quantization and dithering/noise-shaping in source material).&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/by_format/Opus Stream directory by format Opus], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
* [[Winamp]] supports for Opus via [http://forums.winamp.com/showthread.php?p=2925154#post2925154 3rd party plug-in].&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
* [[MP3tag|MP3tag]]&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=25126</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=25126"/>
		<updated>2013-05-12T15:57:52Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Codec compatibility */ Added --merge-blocks switch to recommended Wavpack parameters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| logo =&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.3.0&lt;br /&gt;
| preview_release = &amp;lt;none&amp;gt;&lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 1.3.0 release thread]&amp;lt;br /&amp;gt;[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 1.3.0 development thread]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a [[Wikipedia:Free software|free]], [[lossy]] pre-processor for [[PCM]] audio contained in the [[RIFF_WAVE|WAV]] file format. Proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson], it reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression.&lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of (blocks of) samples which will then allow the FLAC lossless encoder to make use of its wasted bits feature. The aim is to transparently reduce audio bit depth (by making some lower significant bits ([[Wikipedia:Least_significant_bit|lsb]]&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David&#039;s original method, the method itself still very much belongs to its author.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 &amp;amp; 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds noise to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. The added noise is adaptively shaped by default, however the user can select parameters to make the added noise fixed shaped or simply [[Wikipedia:white noise|white noise]]. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al. is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set (16 bit / 44.1kHz)&lt;br /&gt;
!Codec&lt;br /&gt;
!lossless&lt;br /&gt;
!--insane&lt;br /&gt;
!--extreme&lt;br /&gt;
!--high&lt;br /&gt;
!--standard&lt;br /&gt;
!--economic&lt;br /&gt;
!--portable&lt;br /&gt;
!--extraportable&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| FLAC&lt;br /&gt;
| 854 kbit/s&lt;br /&gt;
| 627 kbit/s&lt;br /&gt;
| 548 kbit/s&lt;br /&gt;
| 477 kbit/s&lt;br /&gt;
| 442 kbit/s&lt;br /&gt;
| 407 kbit/s&lt;br /&gt;
| 353 kbit/s&lt;br /&gt;
| 311 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!Nick.C&#039;s Full Collection&lt;br /&gt;
| FLAC&lt;br /&gt;
| 882 kbit/s&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 307 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length &#039;fact&#039; chunk into the WAV file immediately after the &#039;fmt &#039; chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV &#039;fact&#039; chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The --check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*--quality insane: (-q I or -q 10) Highest quality preset, generally considered to be excessive;&lt;br /&gt;
*--quality extreme: (-q E or -q 7.5) Higher quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*--quality high: (-q H or -q 5.0) High quality preset, midway between extreme and standard;&lt;br /&gt;
*--quality standard: (-q S or -q 2.5) Default preset, generally accepted to be transparent;&lt;br /&gt;
*--quality economic: (-q C or -q 0.0) Intermediate preset midway between standard and portable;&lt;br /&gt;
*--quality portable: (-q P or -q -2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
*--quality extraportable: (-q X or -q -5.0) Lowest quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
&lt;br /&gt;
All tuning for version 1.0.0 was performed on quality preset --standard with higher presets being more conservative. For versions 1.1.0, 1.2.0 and 1.3.0, tuning effort has been focused on the lowest quality preset in an effort to achieve an effective compromise between resultant bitrate and perceived quality. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
The upper frequency limit used in the calculation of minimum signal power varies, dependent on quality preset, in the range 15.159kHz to 16.682kHz&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512 --&#039;&#039;&#039;merge-blocks&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders. At least one [http://www.hydrogenaudio.org/forums/index.php?showtopic=98609&amp;amp;hl= commercial DVD-A] uses constant bit-depth reduction with lower bit-depth on rear channels.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
===Important note===&lt;br /&gt;
&#039;&#039;&#039;NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the &amp;quot;Encoder Parameters&amp;quot; in the table above to the command line of the lossless codec in question.&#039;&#039;&#039;&lt;br /&gt;
===Bonus feature===&lt;br /&gt;
Another, possibly not obvious, feature of lossyWAV is that the processed output can be &amp;quot;transcoded&amp;quot; from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.3.0, Copyright (C) 2007-2011 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Process Description:&lt;br /&gt;
&lt;br /&gt;
lossyWAV is a near lossless audio processor which dynamically reduces the &lt;br /&gt;
bitdepth of the signal on a block-by-block basis. Bitdepth reduction adds noise&lt;br /&gt;
to the processed output. The amount of permissible added noise is based on&lt;br /&gt;
analysis of the signal levels in the default frequency range 20Hz to 16kHz.&lt;br /&gt;
&lt;br /&gt;
If signals above the upper limiting frequency are at an even lower level, they&lt;br /&gt;
can be swamped by the added noise. This is usually inaudible, but the behaviour&lt;br /&gt;
can be changed by specifying a different --limit (in the range 10kHz to 20kHz).&lt;br /&gt;
&lt;br /&gt;
For many audio signals there is little content at very high frequencies and&lt;br /&gt;
forcing lossyWAV to keep the added noise level lower than the content at these&lt;br /&gt;
frequencies can increase the bitrate dramatically for no perceptible benefit.&lt;br /&gt;
&lt;br /&gt;
The noise added by the process is shaped using an adaptive method provided by&lt;br /&gt;
Sebastian Gesemann. This method, as implemented in lossyWAV, aims to use the&lt;br /&gt;
signal itself as the basis of the filter used for noise shaping. Adaptive noise&lt;br /&gt;
shaping is enabled by default.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-q, --quality &amp;lt;t&amp;gt;    where t is one of the following (default = standard):&lt;br /&gt;
    I, insane        highest quality output, suitable for transcoding;&lt;br /&gt;
    E, extreme       higher quality output, suitable for transcoding;&lt;br /&gt;
    H, high          high quality output, suitable for transcoding;&lt;br /&gt;
    S, standard      default quality output, considered to be transparent;&lt;br /&gt;
    C, economic      intermediate quality output, likely to be transparent;&lt;br /&gt;
    P, portable      good quality output for DAP use, may not be transparent;&lt;br /&gt;
    X, extraportable lowest quality output, not fully transparent.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-C, --correction     write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force          forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help           display help.&lt;br /&gt;
-L, --longhelp       display extended help.&lt;br /&gt;
-M, --merge          merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-o, --outdir &amp;lt;t&amp;gt;     destination directory for the output file(s).&lt;br /&gt;
-v, --version        display the lossyWAV version number.&lt;br /&gt;
-w, --writetolog     create (or add to) lossyWAV.log in the output directory.&lt;br /&gt;
&lt;br /&gt;
Advanced Options:&lt;br /&gt;
&lt;br /&gt;
-                    take WAV input from STDIN.&lt;br /&gt;
-c, --check          check if WAV file has already been processed; default=off.&lt;br /&gt;
                     errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-q, --quality &amp;lt;n&amp;gt;    quality preset (-5.0&amp;lt;=n&amp;lt;=10.0); (-5=lowest, 10=highest;&lt;br /&gt;
                     default=2.5; I=10; E=7.5; H=5; S=2.5; C=0; P=-2.5; X=-5).&lt;br /&gt;
--, --stdout         write WAV output to STDOUT.&lt;br /&gt;
    --stdinname &amp;lt;t&amp;gt;  pseudo filename to use when input from STDIN.&lt;br /&gt;
&lt;br /&gt;
Advanced Quality Options:&lt;br /&gt;
&lt;br /&gt;
-A, --adaptive &amp;lt;n/t&amp;gt; modify settings for Sebastian Gesemann&#039;s adaptive noise&lt;br /&gt;
                     shaping method. takes a parameter to set the order of the&lt;br /&gt;
                     FIR filter, (32&amp;lt;=n&amp;lt;=96; default=64; multiple of 8 only);&lt;br /&gt;
                     &amp;quot;OFF&amp;quot; to disable adaptive shaping; &amp;quot;NOWARP&amp;quot; to disable &lt;br /&gt;
                     default frequency warping;&lt;br /&gt;
-a, --analyses &amp;lt;n&amp;gt;   set number of FFT analysis lengths, (2&amp;lt;=n&amp;lt;=6; default=3,&lt;br /&gt;
                     i.e. 32, 64 &amp;amp; 1024 samples. n=2, remove 32 sample FFT;&lt;br /&gt;
                     n&amp;gt;3 add 512; n&amp;gt;4, add 256; n&amp;gt;6, add 128) nb. FFT lengths.&lt;br /&gt;
                     stated are for 44.1/48kHz audio, higher sample rates will&lt;br /&gt;
                     automatically increase all FFT lengths as required.&lt;br /&gt;
-l, --limit &amp;lt;n&amp;gt;      set upper frequency limit to be used in analyses to n Hz;&lt;br /&gt;
                     (10000&amp;lt;=n&amp;lt;=20000; default=16000).&lt;br /&gt;
    --linkchannels   revert to original single bits-to-remove value for all&lt;br /&gt;
                     channels rather than channel dependent bits-to-remove.&lt;br /&gt;
    --maxclips &amp;lt;n&amp;gt;   set max. number of acceptable clips per channel per block;&lt;br /&gt;
                     (0&amp;lt;=n&amp;lt;=16; default=3,3,3,3,3,2,2,2,2,2,1,1,1,0,0,0).&lt;br /&gt;
-m, --midside        analyse 2 channel audio for mid/side content.&lt;br /&gt;
    --nodccorrect    disable DC correction of audio data prior to FFT analysis,&lt;br /&gt;
                     default=on; (DC offset calculated per FFT data set).&lt;br /&gt;
    --scale &amp;lt;n&amp;gt;      factor to scale audio by; (0.0625&amp;lt;n&amp;lt;=8.0; default=1).&lt;br /&gt;
-s, --shaping [n]    enable fixed noise shaping, takes optional parameter [n]&lt;br /&gt;
                     to allow user defined shaping proportion (0.0&amp;lt;=n&amp;lt;=1.0),&lt;br /&gt;
                     otherwise default to quality setting dependent value.&lt;br /&gt;
                     Disables adaptive noise shaping.&lt;br /&gt;
    --static &amp;lt;n&amp;gt;     set minimum-bits-to-keep-static to n bits (default=6;&lt;br /&gt;
                     7&amp;lt;=n&amp;lt;=28, limited to bits-per-sample - 4).&lt;br /&gt;
-U, --underlap &amp;lt;n&amp;gt;   enable underlap mode to increase number of FFT analyses&lt;br /&gt;
                     performed at each FFT length, (n = 2, 4 or 8, default=2).&lt;br /&gt;
&lt;br /&gt;
Output Options:&lt;br /&gt;
&lt;br /&gt;
    --bitdist        show distrubution of bits to remove.&lt;br /&gt;
    --blockdist      show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input codec-blocks and bit-removed codec-blocks.&lt;br /&gt;
-d, --detail         enable per block per channel bits-to-remove data display.&lt;br /&gt;
-F, --freqdist       enable frequency analysis display of input data.&lt;br /&gt;
-H, --histogram      show sample value histogram (input, lossy and correction).&lt;br /&gt;
    --longdist       show long frequency distribution data (input/lossy/lwcdf).&lt;br /&gt;
    --perchannel     show selected distribution data per channel.&lt;br /&gt;
-p, --postanalyse    enable frequency analysis display of output and&lt;br /&gt;
                     correction data in addition to input data.&lt;br /&gt;
    --sampledist     show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input samples and bit-removed samples.&lt;br /&gt;
    --spread [full]  show detailed [more detailed] results from the spreading/&lt;br /&gt;
                     averaging algorithm.&lt;br /&gt;
-W, --width &amp;lt;n&amp;gt;      select width of output options (79&amp;lt;=n&amp;lt;=255).&lt;br /&gt;
&lt;br /&gt;
System Options:&lt;br /&gt;
&lt;br /&gt;
-B, --below          set process priority to below normal.&lt;br /&gt;
    --low            set process priority to low.&lt;br /&gt;
-N, --nowarnings     suppress lossyWAV warnings.&lt;br /&gt;
-Q, --quiet          significantly reduce screen output.&lt;br /&gt;
-S, --silent         no screen output.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to:&lt;br /&gt;
&lt;br /&gt;
David Robinson       for the publication of his lossyFLAC method, guidance, and&lt;br /&gt;
                     the motivation to implement his method as lossyWAV.&lt;br /&gt;
&lt;br /&gt;
Horst Albrecht       for ABX testing, valuable support in tuning the internal&lt;br /&gt;
                     presets, constructive criticism and all the feedback.&lt;br /&gt;
&lt;br /&gt;
Sebastian Gesemann   for the adaptive noise shaping method and the amount of&lt;br /&gt;
                     help received in implementing it and also for the basis of&lt;br /&gt;
                     the fixed noise shaping method.&lt;br /&gt;
&lt;br /&gt;
Matteo Frigo and     for libfftw3-3.dll contained in the FFTW distribution&lt;br /&gt;
Steven G Johnson     (v3.2.1 or v3.2.2).&lt;br /&gt;
&lt;br /&gt;
Mark G Beckett       for the Delphi unit that provides an interface to the&lt;br /&gt;
(Univ. of Edinburgh) relevant fftw routines in libfftw3-3.dll.&lt;br /&gt;
&lt;br /&gt;
Don Cross            for the Complex-FFT algorithm originally used.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example drag &#039;n&#039; drop batch file===&lt;br /&gt;
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. &lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
:repeat&lt;br /&gt;
if %1.==. goto end&lt;br /&gt;
if exist &amp;quot;%1&amp;quot; flac -d &amp;quot;%1&amp;quot; --stdout --silent|lossywav - --stdout --standard --stdinname &amp;quot;%1&amp;quot;|flac - -b 512 -o &amp;quot;%~dpn1.lossy.flac&amp;quot; --silent &amp;amp;&amp;amp; tag --fromfile &amp;quot;%1&amp;quot; &amp;quot;%~dpn1.lossy.flac&amp;quot;&lt;br /&gt;
shift&lt;br /&gt;
goto repeat&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and FFTW===&lt;br /&gt;
Since version 1.2.0, lossyWAV has been compatible with [[Wikipedia:FFTW|FFTW]] although not dependent on it. Should the user wish to take advantage of the increased processing speed available when using FFTW (from superior FFT implementations), libfftw3-3.dll should be placed in a directory on the host computer which features on the path.&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and WINE===&lt;br /&gt;
The cause of lossyWAV&#039;s WINE incompatibility was found and removed during the development of 1.2.0 and retrospectively amended for 1.1.0b in a maintenance release (1.1.0c).&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and [[foobar2000]]===&lt;br /&gt;
Example [[foobar2000]] converter settings:&lt;br /&gt;
&lt;br /&gt;
lossyFLAC settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.flac&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\flac - -b 512 -5 -f -o%d --ignore-chunk-sizes&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyTAK settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension  : lossy.tak&lt;br /&gt;
Parameters : /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             C:\&amp;quot;Program Files&amp;quot;\bin\takc -e -p2m -fsl512 -ihs - %d&lt;br /&gt;
Format is: lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWV settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wv&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL* settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wma&lt;br /&gt;
Parameters : /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             c:\&amp;quot;program files&amp;quot;\bin\wmaencode - %d --codec lsl --ignorelength&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enclose the element of the path containing spaces within double quotation marks (&amp;quot;), e.g. C:\&amp;quot;Program Files&amp;quot;\directory_where_executable_is\executable_name. This is a Windows limitation.&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL conversion uses WMAEncode.exe by lvqcl found [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=90519&amp;amp;view=findpost&amp;amp;p=767754 here].&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and EAC===&lt;br /&gt;
:&#039;&#039;For example settings, see [[EAC and LossyWAV]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why is the &amp;quot;.wav&amp;quot; file extension used?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; The &amp;quot;.wav&amp;quot; file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why create a processor which means that I cannot be sure that a lossless file is truly lossless?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; Unless one creates the lossless file personally, one can &#039;&#039;&#039;never&#039;&#039;&#039; be completely sure that the file is indeed lossless. E.g. a lossless file you receive could be transcoded from [[MP3]] without your knowledge. To distinguish a lossyWAV file from lossless files it is recommended to use the extension .lossy.EXT where EXT is the original extension e.g. .lossy.flac&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Do I need to re-process to change lossless codecs?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; At preset --standard, almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it low-pass filter my audio?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No. The frequency limit is for the analysis only. LossyWAV cannot low-pass filter your audio.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact]]s&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=96635 lossyWAV 1.3.1 Delphi to C++ translation thread]&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 lossyWAV 1.3.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 lossyWAV 1.3.0 release thread] - Release of version 1.3.0 on 06 August 2011&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=77042 lossyWAV 1.2.0 release thread] - Release of version 1.2.0 on 16 December 2009&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original MATLAB script to Delphi and evolution of the method&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=25117</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=25117"/>
		<updated>2013-05-06T16:15:41Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Frequently asked questions */  Added FAQ: &amp;quot;Q: Will it low-pass filter my audio? A: No.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| logo =&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.3.0&lt;br /&gt;
| preview_release = &amp;lt;none&amp;gt;&lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 1.3.0 release thread]&amp;lt;br /&amp;gt;[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 1.3.0 development thread]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a [[Wikipedia:Free software|free]], [[lossy]] pre-processor for [[PCM]] audio contained in the [[RIFF_WAVE|WAV]] file format. Proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson], it reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression.&lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of (blocks of) samples which will then allow the FLAC lossless encoder to make use of its wasted bits feature. The aim is to transparently reduce audio bit depth (by making some lower significant bits ([[Wikipedia:Least_significant_bit|lsb]]&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David&#039;s original method, the method itself still very much belongs to its author.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 &amp;amp; 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds noise to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. The added noise is adaptively shaped by default, however the user can select parameters to make the added noise fixed shaped or simply [[Wikipedia:white noise|white noise]]. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al. is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set (16 bit / 44.1kHz)&lt;br /&gt;
!Codec&lt;br /&gt;
!lossless&lt;br /&gt;
!--insane&lt;br /&gt;
!--extreme&lt;br /&gt;
!--high&lt;br /&gt;
!--standard&lt;br /&gt;
!--economic&lt;br /&gt;
!--portable&lt;br /&gt;
!--extraportable&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| FLAC&lt;br /&gt;
| 854 kbit/s&lt;br /&gt;
| 627 kbit/s&lt;br /&gt;
| 548 kbit/s&lt;br /&gt;
| 477 kbit/s&lt;br /&gt;
| 442 kbit/s&lt;br /&gt;
| 407 kbit/s&lt;br /&gt;
| 353 kbit/s&lt;br /&gt;
| 311 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!Nick.C&#039;s Full Collection&lt;br /&gt;
| FLAC&lt;br /&gt;
| 882 kbit/s&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 307 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length &#039;fact&#039; chunk into the WAV file immediately after the &#039;fmt &#039; chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV &#039;fact&#039; chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The --check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*--quality insane: (-q I or -q 10) Highest quality preset, generally considered to be excessive;&lt;br /&gt;
*--quality extreme: (-q E or -q 7.5) Higher quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*--quality high: (-q H or -q 5.0) High quality preset, midway between extreme and standard;&lt;br /&gt;
*--quality standard: (-q S or -q 2.5) Default preset, generally accepted to be transparent;&lt;br /&gt;
*--quality economic: (-q C or -q 0.0) Intermediate preset midway between standard and portable;&lt;br /&gt;
*--quality portable: (-q P or -q -2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
*--quality extraportable: (-q X or -q -5.0) Lowest quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
&lt;br /&gt;
All tuning for version 1.0.0 was performed on quality preset --standard with higher presets being more conservative. For versions 1.1.0, 1.2.0 and 1.3.0, tuning effort has been focused on the lowest quality preset in an effort to achieve an effective compromise between resultant bitrate and perceived quality. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
The upper frequency limit used in the calculation of minimum signal power varies, dependent on quality preset, in the range 15.159kHz to 16.682kHz&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders. At least one [http://www.hydrogenaudio.org/forums/index.php?showtopic=98609&amp;amp;hl= commercial DVD-A] uses constant bit-depth reduction with lower bit-depth on rear channels.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
===Important note===&lt;br /&gt;
&#039;&#039;&#039;NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the &amp;quot;Encoder Parameters&amp;quot; in the table above to the command line of the lossless codec in question.&#039;&#039;&#039;&lt;br /&gt;
===Bonus feature===&lt;br /&gt;
Another, possibly not obvious, feature of lossyWAV is that the processed output can be &amp;quot;transcoded&amp;quot; from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.3.0, Copyright (C) 2007-2011 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Process Description:&lt;br /&gt;
&lt;br /&gt;
lossyWAV is a near lossless audio processor which dynamically reduces the &lt;br /&gt;
bitdepth of the signal on a block-by-block basis. Bitdepth reduction adds noise&lt;br /&gt;
to the processed output. The amount of permissible added noise is based on&lt;br /&gt;
analysis of the signal levels in the default frequency range 20Hz to 16kHz.&lt;br /&gt;
&lt;br /&gt;
If signals above the upper limiting frequency are at an even lower level, they&lt;br /&gt;
can be swamped by the added noise. This is usually inaudible, but the behaviour&lt;br /&gt;
can be changed by specifying a different --limit (in the range 10kHz to 20kHz).&lt;br /&gt;
&lt;br /&gt;
For many audio signals there is little content at very high frequencies and&lt;br /&gt;
forcing lossyWAV to keep the added noise level lower than the content at these&lt;br /&gt;
frequencies can increase the bitrate dramatically for no perceptible benefit.&lt;br /&gt;
&lt;br /&gt;
The noise added by the process is shaped using an adaptive method provided by&lt;br /&gt;
Sebastian Gesemann. This method, as implemented in lossyWAV, aims to use the&lt;br /&gt;
signal itself as the basis of the filter used for noise shaping. Adaptive noise&lt;br /&gt;
shaping is enabled by default.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-q, --quality &amp;lt;t&amp;gt;    where t is one of the following (default = standard):&lt;br /&gt;
    I, insane        highest quality output, suitable for transcoding;&lt;br /&gt;
    E, extreme       higher quality output, suitable for transcoding;&lt;br /&gt;
    H, high          high quality output, suitable for transcoding;&lt;br /&gt;
    S, standard      default quality output, considered to be transparent;&lt;br /&gt;
    C, economic      intermediate quality output, likely to be transparent;&lt;br /&gt;
    P, portable      good quality output for DAP use, may not be transparent;&lt;br /&gt;
    X, extraportable lowest quality output, not fully transparent.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-C, --correction     write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force          forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help           display help.&lt;br /&gt;
-L, --longhelp       display extended help.&lt;br /&gt;
-M, --merge          merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-o, --outdir &amp;lt;t&amp;gt;     destination directory for the output file(s).&lt;br /&gt;
-v, --version        display the lossyWAV version number.&lt;br /&gt;
-w, --writetolog     create (or add to) lossyWAV.log in the output directory.&lt;br /&gt;
&lt;br /&gt;
Advanced Options:&lt;br /&gt;
&lt;br /&gt;
-                    take WAV input from STDIN.&lt;br /&gt;
-c, --check          check if WAV file has already been processed; default=off.&lt;br /&gt;
                     errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-q, --quality &amp;lt;n&amp;gt;    quality preset (-5.0&amp;lt;=n&amp;lt;=10.0); (-5=lowest, 10=highest;&lt;br /&gt;
                     default=2.5; I=10; E=7.5; H=5; S=2.5; C=0; P=-2.5; X=-5).&lt;br /&gt;
--, --stdout         write WAV output to STDOUT.&lt;br /&gt;
    --stdinname &amp;lt;t&amp;gt;  pseudo filename to use when input from STDIN.&lt;br /&gt;
&lt;br /&gt;
Advanced Quality Options:&lt;br /&gt;
&lt;br /&gt;
-A, --adaptive &amp;lt;n/t&amp;gt; modify settings for Sebastian Gesemann&#039;s adaptive noise&lt;br /&gt;
                     shaping method. takes a parameter to set the order of the&lt;br /&gt;
                     FIR filter, (32&amp;lt;=n&amp;lt;=96; default=64; multiple of 8 only);&lt;br /&gt;
                     &amp;quot;OFF&amp;quot; to disable adaptive shaping; &amp;quot;NOWARP&amp;quot; to disable &lt;br /&gt;
                     default frequency warping;&lt;br /&gt;
-a, --analyses &amp;lt;n&amp;gt;   set number of FFT analysis lengths, (2&amp;lt;=n&amp;lt;=6; default=3,&lt;br /&gt;
                     i.e. 32, 64 &amp;amp; 1024 samples. n=2, remove 32 sample FFT;&lt;br /&gt;
                     n&amp;gt;3 add 512; n&amp;gt;4, add 256; n&amp;gt;6, add 128) nb. FFT lengths.&lt;br /&gt;
                     stated are for 44.1/48kHz audio, higher sample rates will&lt;br /&gt;
                     automatically increase all FFT lengths as required.&lt;br /&gt;
-l, --limit &amp;lt;n&amp;gt;      set upper frequency limit to be used in analyses to n Hz;&lt;br /&gt;
                     (10000&amp;lt;=n&amp;lt;=20000; default=16000).&lt;br /&gt;
    --linkchannels   revert to original single bits-to-remove value for all&lt;br /&gt;
                     channels rather than channel dependent bits-to-remove.&lt;br /&gt;
    --maxclips &amp;lt;n&amp;gt;   set max. number of acceptable clips per channel per block;&lt;br /&gt;
                     (0&amp;lt;=n&amp;lt;=16; default=3,3,3,3,3,2,2,2,2,2,1,1,1,0,0,0).&lt;br /&gt;
-m, --midside        analyse 2 channel audio for mid/side content.&lt;br /&gt;
    --nodccorrect    disable DC correction of audio data prior to FFT analysis,&lt;br /&gt;
                     default=on; (DC offset calculated per FFT data set).&lt;br /&gt;
    --scale &amp;lt;n&amp;gt;      factor to scale audio by; (0.0625&amp;lt;n&amp;lt;=8.0; default=1).&lt;br /&gt;
-s, --shaping [n]    enable fixed noise shaping, takes optional parameter [n]&lt;br /&gt;
                     to allow user defined shaping proportion (0.0&amp;lt;=n&amp;lt;=1.0),&lt;br /&gt;
                     otherwise default to quality setting dependent value.&lt;br /&gt;
                     Disables adaptive noise shaping.&lt;br /&gt;
    --static &amp;lt;n&amp;gt;     set minimum-bits-to-keep-static to n bits (default=6;&lt;br /&gt;
                     7&amp;lt;=n&amp;lt;=28, limited to bits-per-sample - 4).&lt;br /&gt;
-U, --underlap &amp;lt;n&amp;gt;   enable underlap mode to increase number of FFT analyses&lt;br /&gt;
                     performed at each FFT length, (n = 2, 4 or 8, default=2).&lt;br /&gt;
&lt;br /&gt;
Output Options:&lt;br /&gt;
&lt;br /&gt;
    --bitdist        show distrubution of bits to remove.&lt;br /&gt;
    --blockdist      show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input codec-blocks and bit-removed codec-blocks.&lt;br /&gt;
-d, --detail         enable per block per channel bits-to-remove data display.&lt;br /&gt;
-F, --freqdist       enable frequency analysis display of input data.&lt;br /&gt;
-H, --histogram      show sample value histogram (input, lossy and correction).&lt;br /&gt;
    --longdist       show long frequency distribution data (input/lossy/lwcdf).&lt;br /&gt;
    --perchannel     show selected distribution data per channel.&lt;br /&gt;
-p, --postanalyse    enable frequency analysis display of output and&lt;br /&gt;
                     correction data in addition to input data.&lt;br /&gt;
    --sampledist     show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input samples and bit-removed samples.&lt;br /&gt;
    --spread [full]  show detailed [more detailed] results from the spreading/&lt;br /&gt;
                     averaging algorithm.&lt;br /&gt;
-W, --width &amp;lt;n&amp;gt;      select width of output options (79&amp;lt;=n&amp;lt;=255).&lt;br /&gt;
&lt;br /&gt;
System Options:&lt;br /&gt;
&lt;br /&gt;
-B, --below          set process priority to below normal.&lt;br /&gt;
    --low            set process priority to low.&lt;br /&gt;
-N, --nowarnings     suppress lossyWAV warnings.&lt;br /&gt;
-Q, --quiet          significantly reduce screen output.&lt;br /&gt;
-S, --silent         no screen output.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to:&lt;br /&gt;
&lt;br /&gt;
David Robinson       for the publication of his lossyFLAC method, guidance, and&lt;br /&gt;
                     the motivation to implement his method as lossyWAV.&lt;br /&gt;
&lt;br /&gt;
Horst Albrecht       for ABX testing, valuable support in tuning the internal&lt;br /&gt;
                     presets, constructive criticism and all the feedback.&lt;br /&gt;
&lt;br /&gt;
Sebastian Gesemann   for the adaptive noise shaping method and the amount of&lt;br /&gt;
                     help received in implementing it and also for the basis of&lt;br /&gt;
                     the fixed noise shaping method.&lt;br /&gt;
&lt;br /&gt;
Matteo Frigo and     for libfftw3-3.dll contained in the FFTW distribution&lt;br /&gt;
Steven G Johnson     (v3.2.1 or v3.2.2).&lt;br /&gt;
&lt;br /&gt;
Mark G Beckett       for the Delphi unit that provides an interface to the&lt;br /&gt;
(Univ. of Edinburgh) relevant fftw routines in libfftw3-3.dll.&lt;br /&gt;
&lt;br /&gt;
Don Cross            for the Complex-FFT algorithm originally used.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example drag &#039;n&#039; drop batch file===&lt;br /&gt;
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. &lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
:repeat&lt;br /&gt;
if %1.==. goto end&lt;br /&gt;
if exist &amp;quot;%1&amp;quot; flac -d &amp;quot;%1&amp;quot; --stdout --silent|lossywav - --stdout --standard --stdinname &amp;quot;%1&amp;quot;|flac - -b 512 -o &amp;quot;%~dpn1.lossy.flac&amp;quot; --silent &amp;amp;&amp;amp; tag --fromfile &amp;quot;%1&amp;quot; &amp;quot;%~dpn1.lossy.flac&amp;quot;&lt;br /&gt;
shift&lt;br /&gt;
goto repeat&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and FFTW===&lt;br /&gt;
Since version 1.2.0, lossyWAV has been compatible with [[Wikipedia:FFTW|FFTW]] although not dependent on it. Should the user wish to take advantage of the increased processing speed available when using FFTW (from superior FFT implementations), libfftw3-3.dll should be placed in a directory on the host computer which features on the path.&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and WINE===&lt;br /&gt;
The cause of lossyWAV&#039;s WINE incompatibility was found and removed during the development of 1.2.0 and retrospectively amended for 1.1.0b in a maintenance release (1.1.0c).&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and [[foobar2000]]===&lt;br /&gt;
Example [[foobar2000]] converter settings:&lt;br /&gt;
&lt;br /&gt;
lossyFLAC settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.flac&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\flac - -b 512 -5 -f -o%d --ignore-chunk-sizes&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyTAK settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension  : lossy.tak&lt;br /&gt;
Parameters : /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             C:\&amp;quot;Program Files&amp;quot;\bin\takc -e -p2m -fsl512 -ihs - %d&lt;br /&gt;
Format is: lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWV settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wv&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL* settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wma&lt;br /&gt;
Parameters : /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             c:\&amp;quot;program files&amp;quot;\bin\wmaencode - %d --codec lsl --ignorelength&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enclose the element of the path containing spaces within double quotation marks (&amp;quot;), e.g. C:\&amp;quot;Program Files&amp;quot;\directory_where_executable_is\executable_name. This is a Windows limitation.&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL conversion uses WMAEncode.exe by lvqcl found [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=90519&amp;amp;view=findpost&amp;amp;p=767754 here].&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and EAC===&lt;br /&gt;
:&#039;&#039;For example settings, see [[EAC and LossyWAV]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why is the &amp;quot;.wav&amp;quot; file extension used?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; The &amp;quot;.wav&amp;quot; file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why create a processor which means that I cannot be sure that a lossless file is truly lossless?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; Unless one creates the lossless file personally, one can &#039;&#039;&#039;never&#039;&#039;&#039; be completely sure that the file is indeed lossless. E.g. a lossless file you receive could be transcoded from [[MP3]] without your knowledge. To distinguish a lossyWAV file from lossless files it is recommended to use the extension .lossy.EXT where EXT is the original extension e.g. .lossy.flac&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Do I need to re-process to change lossless codecs?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; At preset --standard, almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it low-pass filter my audio?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No. The frequency limit is for the analysis only. LossyWAV cannot low-pass filter your audio.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact]]s&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=96635 lossyWAV 1.3.1 Delphi to C++ translation thread]&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 lossyWAV 1.3.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 lossyWAV 1.3.0 release thread] - Release of version 1.3.0 on 06 August 2011&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=77042 lossyWAV 1.2.0 release thread] - Release of version 1.2.0 on 16 December 2009&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original MATLAB script to Delphi and evolution of the method&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24374</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24374"/>
		<updated>2013-03-19T16:08:32Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Clarification that codebook comparison is against Vorbis.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike Vorbis, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers, a field where patent-free Vorbis is commonly used.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server]. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of early 2013 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 (recommended latest stable release) ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1-alpha ====&lt;br /&gt;
Source code released 21 Dec 2012 for testing &amp;amp; user feedback ([https://ftp.mozilla.org/pub/mozilla.org/opus/win32/opus-tools-0.1.6-opus-1.1-alpha-win32.zip win32 binaries]), but not yet considered stable and well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead, takes a second or two typically and will sometimes make incorrect decisions. The developers would be keen to know of examples of its failure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies, and while easier to implement, developers would also been keen to know of any failure of this feature (potentially caused by aliasing, quantization and dithering/noise-shaping in source material).&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/ Stream directory], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24137</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24137"/>
		<updated>2013-02-21T18:46:36Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Edit of introductory section to emphasise its value as a high quality storage format, not just interactive, and its dual speech/music compatibility.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) designed to be suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} including music as well as speech, yet it is also very competitive for use as a storage and playback format, being a [http://people.xiph.org/~greg/opus/ha2011/ class leader at around 64 kbps]. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server]. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of early 2013 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 (recommended latest stable release) ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1-alpha ====&lt;br /&gt;
Source code released 21 Dec 2012 for testing &amp;amp; user feedback ([https://ftp.mozilla.org/pub/mozilla.org/opus/win32/opus-tools-0.1.6-opus-1.1-alpha-win32.zip win32 binaries]), but not yet considered stable and well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead, takes a second or two typically and will sometimes make incorrect decisions. The developers would be keen to know of examples of its failure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies, and while easier to implement, developers would also been keen to know of any failure of this feature (potentially caused by aliasing, quantization and dithering/noise-shaping in source material).&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/ Stream directory], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24101</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24101"/>
		<updated>2013-02-08T02:04:01Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Renamed Commandline Binaries section and summarised stable 1.0 release (recommended) and 1.1alpha version improvements&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries &amp;amp; libopus versions ===&lt;br /&gt;
The commandline tools of the reference version are available pre-compiled for the most popular operating systems at [http://opus-codec.org/downloads opus-codec.org] and [https://ftp.mozilla.org/pub/mozilla.org/opus/ Mozilla&#039;s ftp server]. No other implementations of opus are currently known. The libopus commandline tools include encoder &#039;&#039;opusenc&#039;&#039;, decoder &#039;&#039;opusdec&#039;&#039;, and with a different license, the &#039;&#039;opusinfo&#039;&#039; opus stream &amp;amp; metadata analyzer.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;latest stable release&#039;&#039;&#039; is recommended for general use and as of early 2013 is considered competitive with or superior to the best alternative speech or general music encoders at most supported bitrates.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.0 (recommended latest stable release) ====&lt;br /&gt;
Released 11 Sep 2012 when RFC6716 was standardized but mostly fully developed by late 2011.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stable&#039;&#039;&#039;, &#039;&#039;&#039;well-tuned&#039;&#039;&#039; &#039;&#039;opusenc&#039;&#039; reference encoder as included in RFC documentation.&lt;br /&gt;
&lt;br /&gt;
CELT layer closely related to CELT 0.10 implements Constrained VBR mode by default (bitrate boost used mainly for transients), plus true CBR.&lt;br /&gt;
&lt;br /&gt;
==== libopus v1.1-alpha ====&lt;br /&gt;
Source code released 21 Dec 2012 for testing &amp;amp; user feedback ([https://ftp.mozilla.org/pub/mozilla.org/opus/win32/opus-tools-0.1.6-opus-1.1-alpha-win32.zip win32 binaries]), but not yet considered stable and well tested enough for general release.&lt;br /&gt;
&lt;br /&gt;
CELT layer [http://jmspeex.livejournal.com/11737.html quality improvements] introduced to provide &#039;&#039;&#039;unconstrained VBR&#039;&#039;&#039; include a rate boost not just for transients but now for highly tonal signals too and rate reduction when stereo image is narrow. There&#039;s also a rewrite of its &#039;&#039;&#039;transient detection&#039;&#039;&#039; code and &#039;&#039;&#039;time-frequency analysis&#039;&#039;&#039; code, and rewritten &#039;&#039;&#039;dynamic allocation&#039;&#039;&#039; code (HF/LF tilt and Band Boost) to allow more aggressive changes from the typical static allocation when warranted.&lt;br /&gt;
&lt;br /&gt;
There are many minor improvements to &#039;&#039;&#039;speech quality&#039;&#039;&#039; in both SILK and CELT layers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DC-rejection&#039;&#039;&#039; below 3 Hz also aids quality if inaudible DC offset is present with no effect on deep bass notes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic speech/music detection&#039;&#039;&#039; is introduced to optimize encoding mode choices, especially near the bitrate target range (presumably around 24~40kbps) where the encoder may perform best with SILK, hybrid or CELT depending on content type. Below that range SILK performs best for both music &amp;amp; speech, and above it CELT performs best for speech &amp;amp; music. The detection, without look-ahead, takes a second or two typically and will sometimes make incorrect decisions. The developers would be keen to know of examples of its failure.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Automatic bandwidth detection&#039;&#039;&#039; is also introduced to save wasted bits allocated to absent frequencies, and while easier to implement, developers would also been keen to know of any failure of this feature (potentially caused by aliasing, quantization and dithering/noise-shaping in source material).&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/ Stream directory], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24096</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24096"/>
		<updated>2013-02-06T19:27:56Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Streaming audio */ added some Icecast stream examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries ===&lt;br /&gt;
The commandline tools are available pre-compiled for the most popular operating systems at [http://opus-codec.org opus-codec.org]&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast. (examples: [http://dir.xiph.org/ Stream directory], [http://smj.delfa.net/opus_64.m3u 64k]/[http://smj.delfa.net/opus_256.m3u 256k] [http://smj.delfa.net/ Smooth Jazz Opus Stream], [http://www.absoluteradio.co.uk/listen/labs.html Absolute Radio Opus Trial] 7 stations at 24,64,96 kbps, [http://icecast.ofdoom.com:8000/burst-opus.ogg Icecast Of Doom 96k]&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24095</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=24095"/>
		<updated>2013-02-06T19:12:59Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* CELT layer latency versus quality/bitrate trade-off */ Clarified use cases for lowest latencies.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for interactive streaming only. For music storage &amp;amp; delayed playback or non-interactive streaming, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries ===&lt;br /&gt;
The commandline tools are available pre-compiled for the most popular operating systems at [http://opus-codec.org opus-codec.org]&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast.&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=MP3&amp;diff=24038</id>
		<title>MP3</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=MP3&amp;diff=24038"/>
		<updated>2013-01-29T15:46:33Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Model 2 technical details */  Replaced mentions of BM with Basilar Membrane - please edit if incorrect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MPEG-1 Audio Layer 3&#039;&#039;&#039;, more commonly referred to as MP3, is a popular digital audio encoding and lossy compression format, designed to greatly reduce the amount of data required to represent audio, yet still sound like a faithful reproduction of the original uncompressed audio to most listeners. It was invented by a team of European engineers who worked in the framework of the EUREKA 147 DAB digital radio research program, and it became an ISO/IEC standard in 1991.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
The MP3 algorithm development started in 1987, with a joint cooperation of [http://www.iis.fraunhofer.de/ Fraunhofer IIS-A] and the University of Erlangen. It is standardized as ISO-MPEG Audio Layer-3 (IS 11172-3 and IS 13818-3).&lt;br /&gt;
&lt;br /&gt;
It soon became the de facto standard for lossy audio encoding, due to the high [[compression rates]] (1/11 of the original size, still retaining considerable quality), the high availability of decoders and the low CPU requirements for playback. (486 DX2-100 is enough for real-time decoding)&lt;br /&gt;
&lt;br /&gt;
It supports [[multichannel]] files (see [http://www.mp3surround-format.com/ page]), [[sampling rate]]s from 16 kHz to 24 kHz (MPEG2 Layer 3) and 32 kHz to 48 kHz (MPEG1 Layer 3)&lt;br /&gt;
&lt;br /&gt;
Formal and informal listening tests have shown that MP3 at the 160-224 kbps range provide encoded results indistinguishable from the original materials in most of the cases.&lt;br /&gt;
&lt;br /&gt;
== Encoding and decoding ==&lt;br /&gt;
=== Encoding of MP3 audio ===&lt;br /&gt;
The MPEG-1 standard does not include a precise specification for an MP3 encoder. The decoding algorithm and file format, as a contrast, are well defined. Implementers of the standard were supposed to devise their own algorithms suitable for removing parts of the information in the raw audio (or rather its MDCT representation in the frequency domain). During encoding 576 time domain samples are taken and are transformed to 576 frequency domain samples. If there is a transient 192 samples are taken instead of 576. This is done to limit the temporal spread of quantization noise accompanying the transient.&lt;br /&gt;
&lt;br /&gt;
This is the domain of psychoacoustics: the study of subjective human perception of sounds.&lt;br /&gt;
&lt;br /&gt;
As a result, there are many different MP3 encoders available, each producing files of differing quality. Comparisons are widely available, so it is easy for a prospective user of an encoder to research the best choice. It must be kept in mind that an encoder that is proficient at encoding at higher bitrates (such as LAME, which is in widespread use for encoding at higher bitrates) is not necessarily as good at other, lower bitrates.&lt;br /&gt;
&lt;br /&gt;
=== Decoding of MP3 audio ===&lt;br /&gt;
Decoding, on the other hand, is carefully defined in the standard. Most decoders are &amp;quot;bitstream compliant&amp;quot;, meaning that the decompressed output they produce from a given MP3 file will be the same (within a specified degree of rounding tolerance) as the output specified mathematically in the ISO/IEC standard document. The MP3 file has a standard format which is a frame consisting of 384, 576, or 1152 samples (depends on MPEG version and layer) and all the frames have associated header information (32 bits) and side information (9, 17, or 32 bytes, depending on MPEG version and stereo/mono). The header and side information help the decoder to decode the associated Huffman encoded data correctly.&lt;br /&gt;
&lt;br /&gt;
Therefore, for the most part, comparison of decoders is almost exclusively based on how computationally efficient they are (i.e., how much memory or CPU time they use in the decoding process).&lt;br /&gt;
&lt;br /&gt;
== MP3 file structure ==&lt;br /&gt;
[[Image:MP3 file structure.png|thumb|right|500px|Breakdown of an MP3 File&#039;s Structure]]&lt;br /&gt;
An MP3 file is made up of multiple MP3 frames which consist of the MP3 header and the MP3 data. This sequence of frames is called an Elementary stream. Frames are independent items: one can cut the frames from a file and an MP3 player would be able to play it. The MP3 data is the actual audio payload. The diagram shows that the MP3 header consists of a sync word which is used to identify the beginning of a valid frame. This is followed by a bit indicating that this is the MPEG standard and two bits that indicate that layer 3 is being used, hence MPEG-1 Audio Layer 3 or MP3. After this, the values will differ depending on the MP3 file. The range of values for each section of the header along with the specification of the header is defined by ISO/IEC 11172-3.&lt;br /&gt;
&lt;br /&gt;
Most MP3 files today contain ID3 metadata which precedes or follows the MP3 frames; this is also shown in the diagram.&lt;br /&gt;
&lt;br /&gt;
===VBRI, XING, and LAME headers===&lt;br /&gt;
MP3 files often begin with a single frame of silence which contains an extra header that, when supported by decoders, results in the entire frame being treated as informational instead of being played (although some are known to do both). The extra header is in the frame&#039;s data section, before the actual silent audio data, and was originally intended to help with the playback of VBR files.&lt;br /&gt;
&lt;br /&gt;
Xing and Fraunhofer each developed their own formats for this header. The Xing-format header is just called the &#039;&#039;Xing header&#039;&#039; or &#039;&#039;XING header&#039;&#039;. The Fraunhofer-format header is called the &#039;&#039;VBRI header&#039;&#039; or &#039;&#039;VBR Info header&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Seek table====&lt;br /&gt;
Both formats specify a table of seek points, which help players correlate playback position (e.g., in seconds, or as a percentage) with byte offsets in the file.&lt;br /&gt;
&lt;br /&gt;
====Gapless playback info====&lt;br /&gt;
In addition to the seek-point table, the Fraunhofer format contains a combined encoder delay &amp;amp; padding value (measured in samples), which can assist [[gapless playback]]. The encoder delay value is the number of samples added to the beginning of the audio data, and the encoder padding value is the number of samples added to the end. There&#039;s also a decoder delay, usually 529 samples of junk samples added to the beginning by the decoder. To determine the starting and ending samples of the non-delay, non-padding portion of the decoder output, MP3 players can perform the following calculation:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
gapless_range_start = encoder_delay + decoder_delay&lt;br /&gt;
if encoder_padding &amp;lt; decoder_delay:&lt;br /&gt;
    gapless_range_end = total_samples&lt;br /&gt;
else:&lt;br /&gt;
    gapless_range_end = total_samples - encoder_padding + decoder_delay&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, when &amp;lt;code&amp;gt;encoder_padding&amp;lt;/code&amp;gt; &amp;amp;lt; &amp;lt;code&amp;gt;decoder_delay&amp;lt;/code&amp;gt;, a player could feed an extra MP3 frame to the decoder (e.g. a silent frame, or the first frame of the next MP3 in a sequence), and then use the second &amp;lt;code&amp;gt;gapless_range_end&amp;lt;/code&amp;gt; calculation. At least one player (Rockbox) does the latter to handle an uncommon type of MP3 encoded specially for gapless playback, where one long stream is split up and written into separate files.&lt;br /&gt;
&lt;br /&gt;
====LAME tag====&lt;br /&gt;
The [[LAME]] encoder extends the Xing header format. This modified header is sometimes called a &#039;&#039;LAME header&#039;&#039; or &#039;&#039;LAME tag&#039;&#039;, although the actual LAME tag is only the LAME-specific data embedded in unused space in the header.&lt;br /&gt;
&lt;br /&gt;
When the header was first added in LAME 3.12, the LAME tag contained only a 20-byte LAME version string. In LAME 3.90, this region was expanded to hold additional data, such as:&lt;br /&gt;
* audio and info tag CRCs&lt;br /&gt;
* separate delay &amp;amp; padding values for gapless playback&lt;br /&gt;
* various encoder settings (expanded in LAME 3.94 to include presets)&lt;br /&gt;
The modified header is also included in CBR files (effective LAME 3.94), with &amp;quot;Info&amp;quot; instead of &amp;quot;XING&amp;quot; near the beginning.&lt;br /&gt;
&lt;br /&gt;
====Specs====&lt;br /&gt;
The Fraunhofer VBRI header and the LAME tag have explicit specifications. The Xing format can only be inferred from the C code the company provided to read the headers. Here are links to the code and specs:&lt;br /&gt;
* [http://gabriel.mp3-tech.org/mp3infotag.html LAME MP3 Info Tag spec]&lt;br /&gt;
* [http://www.all4mp3.com/tools/tech-and-tools.php All4mp3 mp3 Tech &amp;amp; Tools downloads] - official distribution site for Fraunhofer&#039;s &#039;&#039;Source code to add VBRi header to mp3 file&#039;&#039; (contains header spec) and &#039;&#039;MP3 VBR-Header SDK&#039;&#039; (header-reading C code sample)&lt;br /&gt;
* [http://www.mp3-tech.org/programmer/sources/vbrheadersdk.zip Xing Variable Bitrate MP3 Playback SDK]&lt;br /&gt;
* [http://mp3decoders.mp3-tech.org/decoders_lame.html#delays Information about common encoder and decoder delays]&lt;br /&gt;
&lt;br /&gt;
== Technical information ==&lt;br /&gt;
=== Codec block diagram ===&lt;br /&gt;
A basic functional block diagram of the MPEG1 layer 3 audio codec is as shown below.&lt;br /&gt;
[[Image:Layer3_block.png|frame|center|Block diagram of the MPEG1 layer 3 audio]]&lt;br /&gt;
&lt;br /&gt;
=== The hybrid polyphase filterbank ===&lt;br /&gt;
&lt;br /&gt;
The polyphase [[filterbank]] is the key component common to all layers of MPEG1 audio compression. The purpose of the polyphase filterbank is to divide the audio signal into 32 equal-width [[frequency]] [[subband]]s, by using a set of [[bandpass filters]] covering the entire audio frequency range (a set of 512 tap FIR Filters).&lt;br /&gt;
&lt;br /&gt;
====Polyphase Filterbank Formula====&lt;br /&gt;
[[Image:Poly_samples.png|frame|center|Polyphase filterbank]]&lt;br /&gt;
&lt;br /&gt;
Audio is processed by frames of 1152 samples per audio channel. The polyphase filter groups 3 groups of 12 samples (3x12=36) samples per subband as seen from the picture above (3x12x32 subbands=1152 samples).&lt;br /&gt;
&lt;br /&gt;
The polyphase filter bank and its inverse are not [[lossless]] transformations. Even without [[quantize|quantization]], the inverse transformation cannot perfectly recover the original signal. However by design the error introduced by the filter bank is small and inaudible.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;[[Image:Mdct.png|frame|center|MDCT]]&amp;lt;br /&amp;gt;MDCT formula: &amp;lt;math&amp;gt; X(m)= \sum_{k=0}^{n-1}f(k)x(k)\cos [{ {\pi \over {2n}} ({2k+1+{n \over 2}})({2m+1})}],~m=0 ... {n \over 2}-1&amp;lt;/math&amp;gt;&amp;lt;!-- [[Image:Mdct_formula.png|none|frame|MDCT formula]] --&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Layer 3 compensates for some of the filter bank deficiencies by processing the filter bank output with a Modified Discrete Cosine Transform ([[MDCT]]). The polyphase [[filterbank]] and the MDCT are together called as the hybrid filterbank. The hybrid filterbank adapts to the signal characteristics (block switching depending on the signal etc.).&lt;br /&gt;
&lt;br /&gt;
The 32 [[subband]] signals are subdivided further in frequency content by applying a 18-spectral point or 6-spectral point MDCT. Layer 3 specifies two different MDCT block lengths: a long block (18 spectral points) or a short block (6 spectral points).&lt;br /&gt;
&lt;br /&gt;
Long blocks have a higher frequency resolution. Each subband is transformed into 18 spectral coefficients by MDCT, yielding a maximum of 576 spectral coefficients (32x18=576 spectral lines) each representing a bandwidth of 41.67Hz at 48kHz sampling rate. At 48kHz sampling rate a long block has a time resolution of about x ms. There is a 50% overlap between successive transform windows, so the window size is 36 for long blocks.&lt;br /&gt;
&lt;br /&gt;
Short blocks have a higher time resolution. Short block length is one third of a long block and used for transients to provide better time (temporal) resolution. Each subband is transformed into 6 spectral coefficients by MDCT, yielding a maximum of 192 spectral coefficients (32x6=192 spectral lines) each representing a bandwidth of 125Hz at 48kHz [[sampling rate]]. At 48kHz sampling rate a short block has impulse response of 18.6ms. There is a 50% overlap between successive transform windows, so the window size is 12 for short blocks.&lt;br /&gt;
&lt;br /&gt;
Time resolution of long blocks and time resolution of short blocks are not constants, but jitter depending on the position of the sample in the transformed block. See [http://hydrogenaudio.org/musepack/klemm/www.personal.uni-jena.de/~pfk/mpp/timeres.html here] for diagrams showing the average time resolutions of different codecs.&lt;br /&gt;
&lt;br /&gt;
[[Image:Freqlines.png|center|frame|Psychoacoustic-MDCT]]&lt;br /&gt;
&lt;br /&gt;
Block switching ([[MDCT]] window switching) is triggered by [[Psychoacoustic|psycho acoustics]].&lt;br /&gt;
&lt;br /&gt;
For a given frame of 1152 samples, the MDCT&#039;s can all have the same block length (long or short) or have a mixed-block mode (mixed-block mode for Lame is in development).&lt;br /&gt;
&lt;br /&gt;
Unlike only the polyphase [[filterbank]], without quantization the MDCT transformation is [[lossless]].&lt;br /&gt;
&lt;br /&gt;
Once the MDCT converts the audio signal into the [[frequency domain]], the [[aliasing]] introduced by the subsampling in the filterbank can be partially cancelled. The decoder has to undo this so that the inverse MDCT can reconstruct the [[subband]] samples in their original aliased form for reconstruction by the synthesis filterbank.&lt;br /&gt;
&lt;br /&gt;
=== The psychoacoustic model ===&lt;br /&gt;
&lt;br /&gt;
This section is a work in progress. It is incomplete and data is still being gathered.&lt;br /&gt;
&lt;br /&gt;
==== Concepts ====&lt;br /&gt;
;[[Critical band]]s&lt;br /&gt;
: Much of what is done in simultaneous [[masking]] is based on the existence of critical bands. The hearing works much like a non-uniform filterbank, and the critical bands can be said to approximate the characteristics of those filters. Critical bands does not really have specific &amp;quot;on&amp;quot; and &amp;quot;off&amp;quot; frequencies, but rather width as a function of [[frequency]] - critical [[bandwidth]]s.&lt;br /&gt;
&lt;br /&gt;
;Tonality estimation&lt;br /&gt;
&lt;br /&gt;
;Spreading function&lt;br /&gt;
: Masking does not only occur within the [[critical band]], but also spreads to neighboring bands. A spreading function SF(z,a) can be defined, where z is the frequency and a the amplitude of a masker. This function would give a masking threshold produced by a single masker for neighboring frequencies. The simplest function would be a triangular function with slopes of +25 and -10 dB / [[Bark]], but a more sophisticated one is highly nonlinear and depends on both frequency and amplitude of masker.&lt;br /&gt;
&lt;br /&gt;
;Simultaneous masking&lt;br /&gt;
: Simultaneous [[masking]] is a frequency domain phenomenon where a low level signal, e.g, a smallband&amp;lt;!--a what?--&amp;gt; noise (the maskee) can be made inaudible by simultaneously occurring stronger signal (the masker), e.g, a pure tone, if masker and maskee are close enough to each other in frequency. A masking threshold can be measured below which any signal will not be audible. The masking threshold depends on the sound pressure level (SPL) and the frequency of the masker, and on the characteristics of the masker and maskee. The slope of the masking threshold is steeper towards lower frequencies,i.e., higher frequencies are more easily masked.&lt;br /&gt;
&lt;br /&gt;
: Without a masker, a signal is inaudible if its SPL is below the threshold of quiet, which depends on frequency and covers a dynamic range of more than 60 dB. We have just described masking by only one masker. If the source signal consists of many simultaneous maskers, a global masking threshold can be computed that describes the threshold of just noticeable distortions as a function of frequency. The calculation of the global masking threshold is based on the high resolution short term [[frequency|amplitude]] spectrum of the audio or speech signal, sufficient for critical band based analysis, and is determined in audio coding via 512 or 1024 point FFT. In a first step all individual masking thresholds are calculated, depending on signal level, type of masker(noise or tone), and frequency range. Next the global masking threshold is determined by adding all individual thresholds and the threshold in quiet (adding this later threshold ensures that the computed global masking threshold is not below the threshold in quiet). The effects of masking reaching over [[critical band]] bounds must be included in the calculation. Finally the global signal-to-mask ratio (SMR) is determined as the ratio of the maximum of signal power and global masking threshold.&lt;br /&gt;
&lt;br /&gt;
;Temporal masking&lt;br /&gt;
: In addition to simultaneous [[masking]] two [[time domain]] phenomena also play an important role in human auditory perception, pre-masking and post-masking. The temporal masking effects occur before and after a masking signal has been switched on and off, respectively. The duration when pre-masking applies is less than -or as newer results indicate, significantly less than-one tenth that of the post-masking, which is in the order of 50 to 200 msec. Both pre and post-masking are being exploited in the ISO/MPEG audio coding algorithm.&lt;br /&gt;
&lt;br /&gt;
: It uses either a separate [[filterbank]] or combines the calculation of energy values (for the masking calculations) and the main filter bank. The output of the perceptual model consists of values for the masking threshold or the allowed noise for each coder partition. If the quantization noise can be kept below the masking threshold, then the compression results should be indistinguishable from the original signal.&lt;br /&gt;
&lt;br /&gt;
;[[ATH]]&lt;br /&gt;
&lt;br /&gt;
;[[Masking]] threshold&lt;br /&gt;
: Masking raises the threshold of hearing, and compressors take advantage of this effect by raising the noise floor, which allows the audio waveform to be expressed with fewer bits. The noise floor can only be raised at [[frequency|frequencies]] at which there is effective masking.&lt;br /&gt;
&lt;br /&gt;
: The equal widths of the [[subband]]s do not accurately reflect the human auditory system&#039;s frequency dependent behavior. The width of a &amp;quot;[[critical band]]&amp;quot; as a function of frequency is a good indicator of this behavior. Many psychoacoustic effects are consistent with a critical band frequency scaling. For example, both the perceived loudness of a signal and its audibility in the presence of a masking signal is different for signals within one critical band than for signals that extend over more than one critical band. Figure 2 compares the polyphase filter [[bandwidth]]s with the width of these critical bands. At lower frequencies a single subband covers several critical bands.&lt;br /&gt;
&lt;br /&gt;
==== Simplified overview of the psychoacoustic model ====&lt;br /&gt;
* Perform a 1024-sample [[FFT]]s on each half of a frame (1152 samples) of the input signal, selecting the lower of the two masking thresholds to use for that subband.&lt;br /&gt;
* Each frequency bin is mapped to its corresponding critical band.&lt;br /&gt;
* Calculate a tonality index, a measure of whether a signal is more tone-like or noise-like.&lt;br /&gt;
* Use a defined spreading function to calculate the masking effect of the signal on neighbouring [[critical band]]s.&lt;br /&gt;
* Calculate the final masking threshold for each subband, using the tonality index, the output of the spreading function, and the [[ATH]].&lt;br /&gt;
* Calculate the signal-to-mask ratio for each [[subband]], and passes information on to the [[quantize|quantizer]].&lt;br /&gt;
&lt;br /&gt;
==== More detailed overview the psychoacoustic model====&lt;br /&gt;
The MPEG/audio algorithm compresses the audio data in large part by removing the acoustically irrelevant parts of the audio signal. That is, it takes advantage of the human auditory system&#039;s inability to hear quantization noise under conditions of auditory masking. This masking is a perceptual property of the human auditory system that occurs whenever the presence of a strong audio signal makes a temporal or spectral neighborhood of weaker audio signals imperceptible. A variety of psychoacoustic experiments corroborate this masking phenomenon.&lt;br /&gt;
&lt;br /&gt;
Empirical results also show that the human auditory system has a limited, [[frequency]] dependent, resolution. This frequency dependency can be expressed in terms of critical band widths which are less than 100Hz for the lowest audible frequencies and more than 4kHz at the highest. The human auditory system blurs the various signal components within a critical band although this system&#039;s frequency selectivity is much finer than a critical band.&lt;br /&gt;
&lt;br /&gt;
The psychoacoustic model analyzes the audio signal and computes the amount of noise [[masking]] available as a function of frequency. The masking ability of a given signal component depends on its frequency position and its loudness. The encoder uses this information to decide how best to represent the input audio signal with its limited number of code bits. The MPEG/audio standard provides two example implementations of the psychoacoustic model.&lt;br /&gt;
&lt;br /&gt;
Below is a general outline of the basic steps involved in the psychoacoustic calculations for either model. Differences between the two models will be highlighted.&lt;br /&gt;
&lt;br /&gt;
* Time align audio data. There is one psychoacoustic evaluation per frame. The audio data sent to the psychoacoustic model must be concurrent with the audio data to be coded. The psychoacoustic model must account for both the delay of the audio data through the [[filterbank]] and a data offset so that the relevant data is centered within the psychoacoustic analysis window.&lt;br /&gt;
* Convert audio to a [[frequency]] domain representation. The psychoacoustic model should use a separate, independent, time-to-frequency mapping instead of the polyphase filter bank because it needs finer frequency resolution for an accurate calculation of the masking thresholds.&lt;br /&gt;
&lt;br /&gt;
Layer II and III use a 1,152 sample frame size so the 1,024 sample window does not provide complete coverage. While ideally the analysis window should completely cover the samples to be coded, a 1,024 sample window is a reasonable compromise. Samples falling outside the analysis window generally will not have a major impact on the psychoacoustic evaluation.&lt;br /&gt;
&lt;br /&gt;
For Layers II and III, the model computes two 1,024 point psychoacoustic calculations for each frame. The first calculation centers the first half of the 1,152 samples in the analysis window and the second calculation centers the second half. The model combines the results of the two calculations by using the higher of the two signal-to-mask ratios for each [[subband]]. This in effect selects the lower of the two noise masking thresholds for each subband.&lt;br /&gt;
&lt;br /&gt;
* Process spectral values in groupings related to critical band widths. To simplify the psychoacoustic calculations, both models process the frequency values in perceptual quanta.&lt;br /&gt;
&lt;br /&gt;
Psychoacoustic model 2 never actually separates tonal and non-tonal components. Instead, it computes a tonality index as a function of frequency. This index gives a measure of whether the component is more tone-like or noise-like. Model 2 uses this index to interpolate between pure tone-masking-noise and noise-masking-tone values. The tonality index is based on a measure of predictability. Model 2 uses data from the previous two analysis windows to predict, via linear extrapolation, the component values for the current window. Tonal components are more predictable and thus will have higher tonality indices. Because this process relies on more data, it is more likely to better discriminate between tonal and non-tonal components than the model 1 method.&lt;br /&gt;
&lt;br /&gt;
* Apply a spreading function. The [[masking]] ability of a given signal spreads across its surrounding [[critical band]]. The model determines the noise masking thresholds by first applying an empirically determined masking (model 1) or spreading function (model 2) to the signal components.&lt;br /&gt;
&lt;br /&gt;
* Set a lower bound for the threshold values. Both models include an empirically determined absolute masking threshold, the threshold in quiet. This threshold is the lower bound on the audibility of sound.&lt;br /&gt;
&lt;br /&gt;
* Find the masking threshold for each [[subband]]. Model 2 selects the minimum of the masking thresholds covered by the subband only where the band is wide relative to the critical band in that [[frequency]] region. It uses the average of the masking thresholds covered by the subband where the band is narrow relative to the critical band. Model 2 is not less accurate for the higher frequency subbands because it does not concentrate the non-tonal components.&lt;br /&gt;
&lt;br /&gt;
* Calculate the signal-to-mask ratio. The psychoacoustic model computes the signal-to-mask ratio as the ratio of the signal energy within the subband (or, for Layer III , a group of bands) to the minimum masking threshold for that subband. The model passes this value to the bit (or noise) allocation section of the encoder.&lt;br /&gt;
&lt;br /&gt;
==== Model 2 technical details ====&lt;br /&gt;
&amp;lt;!--commented out because it relies on missing diagrams:&lt;br /&gt;
2.1.1.1 Example for Psychoacoustic Model 2 The processes used by psychoacoustic model 2 are somewhat easier to visualize, so this model will be covered first. Figure 12a shows the result, according to psychoacoustic model 2, of transforming the audio signal to the perceptual domain (63, one-third critical band, partitions) and then applying the spreading function. Note the shift of the sinusoid peak and the expansion of the lowpass noise distribution. The perceptual transformation expands the low frequency region and compresses the higher frequency region. Because the spreading function is applied in a perceptual domain, the shape of the spreading function is relatively uniform as a function of partition. Figure 13 shows a plot of the spreading functions. Figure 12b shows the tonality index for the audio signal as computed by psychoacoustic model 2. Figure 14a shows a plot of the masking threshold as computed by the model based on the spread energy and the tonality index. This figure has plots of the masking threshold both before and after the incorporation of the threshold in quiet to illustrate its impact. Note the threshold in quiet significantly increases the noise masking threshold for the higher frequencies. The human auditory system is much less sensitive in this region. Also note how the sinusoid signal increases the masking threshold for the neighboring frequencies. The masking threshold is computed in the uniform frequency domain instead of the perceptual domain in preparation for the final step of the psychoacoustic model, the calculation of the signal-to-mask ratios (SMR) for each [[subband]]. Figure 14b is a plot of these results and figure 14c is a [[frequency]] plot of a processed audio signal using these SMR’s. In this example the audio compression was severe (768 to 64 kbits/sec) so the coder may not necessarily be able to mask all the [[quantize|quantization]] noise.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The psychoacoustic model calculates just-noticeable distortion (JND) profiles for each band in the [[filterbank]]. This noise level is used to determine the actual quantizers and quantizer levels. There are two psychoacoustic models defined by the standard. They can be applied to any layer of the MPEG/Audio algorithm. In practice however, Model 1 has been used for Layers I and II and Model 2 for Layer III. Both models compute a signal-to-mask ratio (SMR) for each band (Layers I and II) or group of bands (Layer III).&lt;br /&gt;
&lt;br /&gt;
The more sophisticated of the two, Model 2, will be discussed. The steps leading to the computation of the JND profiles is outlined below.&lt;br /&gt;
&lt;br /&gt;
;1. Time-align audio data&lt;br /&gt;
&lt;br /&gt;
The psychoacoustic model must estimate the [[masking]] thresholds for the audio data that are to be [[quantize|quantized]]. So, it must account for both the delay through the filterbank and a data offset so that the relevant data is centered within the psychoacoustic analysis window. For the Layer III algorithm, time-aligning the psychoacoustic model with the filterbank demands that the data fed to the model be delayed by 768 samples.&lt;br /&gt;
&lt;br /&gt;
;2. Spectral analysis and normalization.&lt;br /&gt;
&lt;br /&gt;
A high-resolution spectral estimate of the time-aligned data is essential for an accurate estimation of the masking thresholds in the [[critical band]]s. The low frequency resolution of the filterbank leaves no option but to compute an independent time-to-frequency mapping via a fast Fourier Transform ([[FFT]]). A Hanning window is applied to the data to reduce the edge effects of the transform window.&lt;br /&gt;
&lt;br /&gt;
Layer III operates on 1152-sample data frames. Model 2 uses a 1024- point window for spectral estimation. Ideally, the analysis window should completely cover the samples to be coded. The model computes two 1024-point psychoacoustic calculations. On the first pass, the first 576 samples are centered in the analysis window. The second pass centers the remaining samples. The model combines the results of the two calculations by using the more stringent of the two JND estimates for bit or noise allocation in each [[subband]].&lt;br /&gt;
&lt;br /&gt;
Since playback levels are unknown3, the sound-pressure level (SPL) needs to be normalized. This implies clamping the lowest point in the absolute threshold of hearing curves to +/- 1-bit [[frequency|amplitude]]. &lt;br /&gt;
&lt;br /&gt;
;3. Grouping of spectral values into threshold calculation partitions.&lt;br /&gt;
&lt;br /&gt;
The uniform [[frequency]] decomposition and poor selectivity of the filterbank do not reflect the response of the ear&#039;s Basilar Membrane. To accurately model the masking phenomenon characteristic of the Basilar Membrane, the spectral values are grouped into a large number of partitions. The exact number of threshold partitions depends on the choice of sampling rate. This transformation provides a resolution of approximately either 1 FFT line or 1/3 critical band, whichever is smaller. At low frequencies, a single line of the FFT will constitute a partition, while at high frequency|frequencies many lines are grouped into one.&lt;br /&gt;
&lt;br /&gt;
;4. Estimation of tonality indices.&lt;br /&gt;
&lt;br /&gt;
It is necessary to identify tonal and non-tonal (noise-like) components because the masking abilities of the two types of signals differ. Model 2 does not explicitly separate tonal and non-tonal components. Instead, it computes a tonality index as a function of frequency. This is an indicator of the tone-like or noise-like nature of the spectral component. The tonality index is based on a measure of predictability. Linear extrapolation is used to predict the component values of the current window from the previous two analysis windows. Model 2 uses this index to interpolate between pure tone-masking-noise and noise-masking-tone values. Tonal components are more predictable and thus have a higher tonality index. As this process has memory, it is more likely to discriminate better between tonal and non-tonal components, unlike psychoacoustic Model 116.&lt;br /&gt;
&lt;br /&gt;
;5. Simulation of the spread of masking on the Basilar Membrane.&lt;br /&gt;
&lt;br /&gt;
A strong signal component affects the audibility of weaker components in the same critical band and the adjacent bands. Model 2 simulates this phenomenon by applying a Spreading function to spread the energy of any critical band into its surrounding bands. On the [[Bark]] scale, the spreading function has a constant shape as a function of partition number, with slopes of +25 and –10 dB per Bark.&lt;br /&gt;
&lt;br /&gt;
;6. Set a lower bound for the threshold values.&lt;br /&gt;
&lt;br /&gt;
An empirically determined absolute [[masking]] threshold, the threshold in quiet, is used as a lower bound on the audibility of sound.&lt;br /&gt;
&lt;br /&gt;
;7. Determination of masking threshold per [[subband]].&lt;br /&gt;
&lt;br /&gt;
At low [[frequency|frequencies]], the minimum of the masking thresholds within a subband is chosen as the threshold value. At higher frequencies, the average of the thresholds within the subband is selected as the masking threshold. Model 2 has the same accuracy for the higher subbands as for low frequency ones because it does not concentrate non-tonal components16.&lt;br /&gt;
&lt;br /&gt;
;8. [[Pre echo]] detection and window switching decision.&lt;br /&gt;
&lt;br /&gt;
;9. Calculation of the signal-to-mask ratio (SMR).&lt;br /&gt;
&lt;br /&gt;
SMR is calculated as a ratio of signal energy within the subband (for Layers I and II) or a group of subbands (Layer III) to the minimum threshold for that subband. This is the final output of the psychoacoustic model.&lt;br /&gt;
&lt;br /&gt;
The masking threshold computed from the spread energy and the tonality index.&lt;br /&gt;
&lt;br /&gt;
== Pros and cons ==&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Widespread acceptance, support in nearly all hardware audio players and devices&lt;br /&gt;
* An [[ISO]] standard, part of MPEG specs&lt;br /&gt;
* Fast decoding, lower complexity than [[Advanced Audio Coding|AAC]] or [[Vorbis]]&lt;br /&gt;
* Anyone can create their own implementation (Specs and demo sources available)&lt;br /&gt;
* Relaxed licensing schedule&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* Lower performance/efficiency than modern codecs.&lt;br /&gt;
* Problem cases that trip out all transform codecs.&lt;br /&gt;
* Sometimes, maximum bitrate (320kbps) isn&#039;t enough.&lt;br /&gt;
* Unusable for high definition audio (sampling rates higher than 48kHz).&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
=== Techniques used in compression ===&lt;br /&gt;
* [[Huffman coding]]&lt;br /&gt;
* [[Quantization]]&lt;br /&gt;
* [[Joint stereo|M/S matrixing]]&lt;br /&gt;
* [[Intensity stereo]]&lt;br /&gt;
* [[Channel coupling]]&lt;br /&gt;
* Modified discrete cosine transform ([[MDCT]])&lt;br /&gt;
* Polyphase filter bank&lt;br /&gt;
&lt;br /&gt;
There is a non-standardized form of MP3 called [[MP3Pro]], which takes advantage of [[SBR]] encoding to provide better quality at low bitrates.&lt;br /&gt;
&lt;br /&gt;
=== Encoders/decoders (supported platforms) ===&lt;br /&gt;
* [[LAME]] (Win32/Posix)&lt;br /&gt;
* [[Audioactive]] (Win32)&lt;br /&gt;
* [[Blade]] (Win32/Posix)&lt;br /&gt;
* [[Xing]] (Win32)&lt;br /&gt;
* [[Gogo]] (Win32/Posix)&lt;br /&gt;
&lt;br /&gt;
=== Metadata (tags) ===&lt;br /&gt;
* [[ID3v1]]&lt;br /&gt;
* [[ID3v1.1]]&lt;br /&gt;
* [[ID3v2]]&lt;br /&gt;
&lt;br /&gt;
== Further reading and bibliography ==&lt;br /&gt;
* [[Best MP3 Decoder]]&lt;br /&gt;
* [[High-frequency content in MP3s]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* &amp;lt;s&amp;gt;Roberto&#039;s listening test&amp;lt;/s&amp;gt; featuring MP3 encoders&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Mp3 MP3 at Wikipedia]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:MP3]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23933</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23933"/>
		<updated>2013-01-13T17:42:33Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Music encoding quality */ info that mono/stereo column is not definitive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates, though a certain amount of stereo encoding can still be used - content dependent even when mono is specified as the typical stereo mode in the table below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics.&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries ===&lt;br /&gt;
The commandline tools are available pre-compiled for the most popular operating systems at [http://opus-codec.org opus-codec.org]&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast.&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23931</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23931"/>
		<updated>2013-01-13T16:06:34Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Music encoding quality */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. Competitor HE-AAC@32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries ===&lt;br /&gt;
The commandline tools are available pre-compiled for the most popular operating systems at [http://opus-codec.org opus-codec.org]&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast.&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23929</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23929"/>
		<updated>2013-01-13T01:10:51Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Characteristics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. In the case of the reference release, libopus, the target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. This bitrate-calibrated approach differs from most VBR encoders (e.g. LAME, helix mp3, qaac, Nero aacenc, Ogg Vorbis, Musepack) where a setting on some &#039;constant quality&#039; scale (which differs between encoders) is used and the bitrate will fall where it may. Improved future versions can be expected to offer improved quality at the same setting. Independent implementations may adopt a different approach.&lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries ===&lt;br /&gt;
The commandline tools are available pre-compiled for the most popular operating systems at [http://opus-codec.org opus-codec.org]&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast.&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23928</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23928"/>
		<updated>2013-01-13T00:42:14Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Hardware &amp;amp; Software Support */ Edited copy of Wikipedia Support section (public domain) with references and wikilinks stripped out and some info added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
&lt;br /&gt;
Much of this section is based heavily on the Jan 12th 2013 version of the &#039;&#039;&#039;Support&#039;&#039;&#039; section of the [http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Wikipedia article], which is more likely to be kept updated and to provide links to further information about the supporting platforms.&lt;br /&gt;
&lt;br /&gt;
The format and algorithms are openly documented and the reference implementation is published as free software. The reference implementation (Opus Audio Tools, opus-tools), consisting of separate encoders and decoders, is published under the terms of a BSD-like license. It is written in C programming language and can be compiled for hardware architectures with or without floating point unit. The accompanying diagnostic tool opusinfo reports detailed technical information about Opus files, including information on the standard compliance of the bitstream format. It is based on ogginfo from the vorbis-tools and therefore, unlike the encoder and decoder, available under the terms of version 2 of the GPL.&lt;br /&gt;
&lt;br /&gt;
=== Commandline binaries ===&lt;br /&gt;
The commandline tools are available pre-compiled for the most popular operating systems at [http://opus-codec.org opus-codec.org]&lt;br /&gt;
&lt;br /&gt;
=== VoIP software ===&lt;br /&gt;
* The voice-chat software Mumble supports Opus as its main codec.&lt;br /&gt;
* SIP softphones Phoner and PhonerLite support Opus&lt;br /&gt;
* The SIP and IAX2 client SFLphone is being fitted with Opus support.&lt;br /&gt;
* Integration of Opus into the Skype client is finished, although no version with Opus support has yet been published.&lt;br /&gt;
* TrueConf video conferencing solutions support Opus.&lt;br /&gt;
* Opus support is planned for Jitsi 2.0, together with VP8 video&lt;br /&gt;
* Empathy may use any format supported in GStreamer, including Opus.&lt;br /&gt;
* Line2 has replaced their current codec with Opus. Their iOS app will be the first to be released with the Opus. The Android app will follow later.&lt;br /&gt;
* CSipSimple supports Opus, Codec2, G.726 and G.722.1 with an additional plug-in.&lt;br /&gt;
* The voice-chat software TeamSpeak 3 supports Opus for voice and music in pre-release server 3.0.7-pre2 and beta client version 3.0.10&lt;br /&gt;
&lt;br /&gt;
=== Web frameworks and browsers ===&lt;br /&gt;
* Opus support is mandatory for WebRTC implementations.&lt;br /&gt;
* Mozilla supports Opus beginning with version 15 of Firefox and Thunderbird, plus Seamonkey, which is uses shared codebase.&lt;br /&gt;
* Depending on the backend in use, Opera supports inline playback of embedded Opus files. Official support for Opus and WebRTC are on the development roadmap.&lt;br /&gt;
* Chromium and Google Chrome will have audio support as of version 25.&lt;br /&gt;
* Maxthon Cloud Browser&lt;br /&gt;
&lt;br /&gt;
=== Streaming audio ===&lt;br /&gt;
* Icecast.&lt;br /&gt;
* Krad Radio&lt;br /&gt;
* Liquidsoap&lt;br /&gt;
&lt;br /&gt;
=== Operating systems and desktop multimedia frameworks ===&lt;br /&gt;
* In Debian GNU/Linux the Opus development tools and supporting libraries can be installed from the preconfigured repositories in the next stable version (&amp;quot;wheezy&amp;quot;) that is expected to be released in early 2013.&lt;br /&gt;
* For Microsoft Windows, there are DirectShow filters supporting Opus, including DC-Bass Source Mod and the LAV Filters.&lt;br /&gt;
* In GStreamer the integration of Opus support is complete.&lt;br /&gt;
* FFmpeg supports decoding and encoding Opus via the external library libopus.&lt;br /&gt;
&lt;br /&gt;
=== Hardware support ===&lt;br /&gt;
* Support in [[Rockbox]] is available in the developer version. This means hardware support for a series of portable media players (including some products from the iPod series by Apple and Sansa, iriver and Archos devices) and with &amp;quot;Rockbox as an Application&amp;quot; (RaaA) also on Android devices.&lt;br /&gt;
&lt;br /&gt;
=== Player software ===&lt;br /&gt;
* VLC media player supports Opus since version 2.0.4&lt;br /&gt;
* AIMP supports Opus natively as of version 3.20 build 1125 beta 1.&lt;br /&gt;
* [[foobar2000]] supports the format natively as of v1.1.14 beta 1.&lt;br /&gt;
* Mpxplay supports Opus (using a decoder DLL) as of v1.60 alpha 2&lt;br /&gt;
* Android has a number of player apps supporting Opus, including PowerAmp and others.&lt;br /&gt;
&lt;br /&gt;
=== Other software ===&lt;br /&gt;
* CDBurnerXP&lt;br /&gt;
* MediaCoder&lt;br /&gt;
* Report-IT&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23927</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23927"/>
		<updated>2013-01-12T18:37:33Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Audio players */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
The libopus toolkit from opus-codec.org contains commandline encoders and decoders and is ready compiled for some common platforms with source code available for others.&lt;br /&gt;
&lt;br /&gt;
=== Web browsers ===&lt;br /&gt;
Opus will be supported by all web browsers that support WebRTC, which is likely to include Mozilla-based browsers (Firefox, Seamonkey), Chromium and Google Chrome, Opera and Maxthon Cloud Browser initially. While support will include encoding for the purpose of interactive real time communications, it might not include file-based Ogg/Opus encoding.&lt;br /&gt;
&lt;br /&gt;
Current versions of Mozilla Firefox and its cousin, Seamonkey are known to support Opus natively as of late 2012, and Maxthon reports WebRTC support from 27 Dec 2012. Chromium is also believed to support Opus, and Opera has been reported to work in late 2012 when it happens to be used with certain plugins (gstreamer).&lt;br /&gt;
&lt;br /&gt;
=== Audio players ===&lt;br /&gt;
[[foobar2000]] supports opus natively, including streaming URLs. It plays back at Opus&#039;s native 48000 Hz, so if the Convert dialogue is used to convert from Opus to another format and a different sampling rate is required or preferred, a Resampler DSP must be used in the Convert DSP chain. The original sampling rate (e.g. 44100 Hz from a CD source) is recorded in the Properties tab of .opus files. Alternatively, the opusdec.exe command from libopus can be used to decode to 16-bit WAV ([[PCM]]) and it will automatically resample to the original rate and apply noise shaped dither when quantizing to 16-bit.&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23908</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23908"/>
		<updated>2013-01-10T18:18:00Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Music encoding quality */ comma&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]], [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
The libopus toolkit from opus-codec.org contains commandline encoders and decoders and is ready compiled for some common platforms with source code available for others.&lt;br /&gt;
&lt;br /&gt;
=== Web browsers ===&lt;br /&gt;
Opus will be supported by all web browsers that support WebRTC, which is likely to include Mozilla-based browsers (Firefox, Seamonkey), Chromium and Google Chrome, Opera and Maxthon Cloud Browser initially. While support will include encoding for the purpose of interactive real time communications, it might not include file-based Ogg/Opus encoding.&lt;br /&gt;
&lt;br /&gt;
Current versions of Mozilla Firefox and its cousin, Seamonkey are known to support Opus natively as of late 2012, and Maxthon reports WebRTC support from 27 Dec 2012. Chromium is also believed to support Opus, and Opera has been reported to work in late 2012 when it happens to be used with certain plugins (gstreamer).&lt;br /&gt;
&lt;br /&gt;
=== Audio players ===&lt;br /&gt;
[[foobar2000]] supported&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23907</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23907"/>
		<updated>2013-01-10T18:15:56Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Music encoding quality */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]] [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
The libopus toolkit from opus-codec.org contains commandline encoders and decoders and is ready compiled for some common platforms with source code available for others.&lt;br /&gt;
&lt;br /&gt;
=== Web browsers ===&lt;br /&gt;
Opus will be supported by all web browsers that support WebRTC, which is likely to include Mozilla-based browsers (Firefox, Seamonkey), Chromium and Google Chrome, Opera and Maxthon Cloud Browser initially. While support will include encoding for the purpose of interactive real time communications, it might not include file-based Ogg/Opus encoding.&lt;br /&gt;
&lt;br /&gt;
Current versions of Mozilla Firefox and its cousin, Seamonkey are known to support Opus natively as of late 2012, and Maxthon reports WebRTC support from 27 Dec 2012. Chromium is also believed to support Opus, and Opera has been reported to work in late 2012 when it happens to be used with certain plugins (gstreamer).&lt;br /&gt;
&lt;br /&gt;
=== Audio players ===&lt;br /&gt;
[[foobar2000]] supported&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23906</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23906"/>
		<updated>2013-01-10T18:15:16Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Speech encoding quality */ column heading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes/competitive codecs&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]] [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
The libopus toolkit from opus-codec.org contains commandline encoders and decoders and is ready compiled for some common platforms with source code available for others.&lt;br /&gt;
&lt;br /&gt;
=== Web browsers ===&lt;br /&gt;
Opus will be supported by all web browsers that support WebRTC, which is likely to include Mozilla-based browsers (Firefox, Seamonkey), Chromium and Google Chrome, Opera and Maxthon Cloud Browser initially. While support will include encoding for the purpose of interactive real time communications, it might not include file-based Ogg/Opus encoding.&lt;br /&gt;
&lt;br /&gt;
Current versions of Mozilla Firefox and its cousin, Seamonkey are known to support Opus natively as of late 2012, and Maxthon reports WebRTC support from 27 Dec 2012. Chromium is also believed to support Opus, and Opera has been reported to work in late 2012 when it happens to be used with certain plugins (gstreamer).&lt;br /&gt;
&lt;br /&gt;
=== Audio players ===&lt;br /&gt;
[[foobar2000]] supported&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23905</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23905"/>
		<updated>2013-01-10T18:13:39Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Removed A2DP-type links from 510kbps use cases, as max A2DP bitrate is about 372 kbps.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate, making it comparably viable as a storage &amp;amp; playback format. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]] [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== Hardware &amp;amp; Software Support ==&lt;br /&gt;
The libopus toolkit from opus-codec.org contains commandline encoders and decoders and is ready compiled for some common platforms with source code available for others.&lt;br /&gt;
&lt;br /&gt;
=== Web browsers ===&lt;br /&gt;
Opus will be supported by all web browsers that support WebRTC, which is likely to include Mozilla-based browsers (Firefox, Seamonkey), Chromium and Google Chrome, Opera and Maxthon Cloud Browser initially. While support will include encoding for the purpose of interactive real time communications, it might not include file-based Ogg/Opus encoding.&lt;br /&gt;
&lt;br /&gt;
Current versions of Mozilla Firefox and its cousin, Seamonkey are known to support Opus natively as of late 2012, and Maxthon reports WebRTC support from 27 Dec 2012. Chromium is also believed to support Opus, and Opera has been reported to work in late 2012 when it happens to be used with certain plugins (gstreamer).&lt;br /&gt;
&lt;br /&gt;
=== Audio players ===&lt;br /&gt;
[[foobar2000]] supported&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=23903</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=23903"/>
		<updated>2013-01-10T15:49:30Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Undo revision 23902 by Dynamic (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| logo =&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.3.0&lt;br /&gt;
| preview_release = &amp;lt;none&amp;gt;&lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 1.3.0 release thread]&amp;lt;br /&amp;gt;[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 1.3.0 development thread]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a [[Wikipedia:Free software|free]], [[lossy]] pre-processor for [[PCM]] audio contained in the [[RIFF_WAVE|WAV]] file format. Proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson], it reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression.&lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of (blocks of) samples which will then allow the FLAC lossless encoder to make use of its wasted bits feature. The aim is to transparently reduce audio bit depth (by making some lower significant bits ([[Wikipedia:Least_significant_bit|lsb]]&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David&#039;s original method, the method itself still very much belongs to its author.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 &amp;amp; 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds noise to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. The added noise is adaptively shaped by default, however the user can select parameters to make the added noise fixed shaped or simply [[Wikipedia:white noise|white noise]]. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al. is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set (16 bit / 44.1kHz)&lt;br /&gt;
!Codec&lt;br /&gt;
!lossless&lt;br /&gt;
!--insane&lt;br /&gt;
!--extreme&lt;br /&gt;
!--high&lt;br /&gt;
!--standard&lt;br /&gt;
!--economic&lt;br /&gt;
!--portable&lt;br /&gt;
!--extraportable&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| FLAC&lt;br /&gt;
| 854 kbit/s&lt;br /&gt;
| 627 kbit/s&lt;br /&gt;
| 548 kbit/s&lt;br /&gt;
| 477 kbit/s&lt;br /&gt;
| 442 kbit/s&lt;br /&gt;
| 407 kbit/s&lt;br /&gt;
| 353 kbit/s&lt;br /&gt;
| 311 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!Nick.C&#039;s Full Collection&lt;br /&gt;
| FLAC&lt;br /&gt;
| 882 kbit/s&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 307 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length &#039;fact&#039; chunk into the WAV file immediately after the &#039;fmt &#039; chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV &#039;fact&#039; chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The --check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*--quality insane: (-q I or -q 10) Highest quality preset, generally considered to be excessive;&lt;br /&gt;
*--quality extreme: (-q E or -q 7.5) Higher quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*--quality high: (-q H or -q 5.0) High quality preset, midway between extreme and standard;&lt;br /&gt;
*--quality standard: (-q S or -q 2.5) Default preset, generally accepted to be transparent;&lt;br /&gt;
*--quality economic: (-q C or -q 0.0) Intermediate preset midway between standard and portable;&lt;br /&gt;
*--quality portable: (-q P or -q -2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
*--quality extraportable: (-q X or -q -5.0) Lowest quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
&lt;br /&gt;
All tuning for version 1.0.0 was performed on quality preset --standard with higher presets being more conservative. For versions 1.1.0, 1.2.0 and 1.3.0, tuning effort has been focused on the lowest quality preset in an effort to achieve an effective compromise between resultant bitrate and perceived quality. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
The upper frequency limit used in the calculation of minimum signal power varies, dependent on quality preset, in the range 15.159kHz to 16.682kHz&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders. At least one [http://www.hydrogenaudio.org/forums/index.php?showtopic=98609&amp;amp;hl= commercial DVD-A] uses constant bit-depth reduction with lower bit-depth on rear channels.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
===Important note===&lt;br /&gt;
&#039;&#039;&#039;NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the &amp;quot;Encoder Parameters&amp;quot; in the table above to the command line of the lossless codec in question.&#039;&#039;&#039;&lt;br /&gt;
===Bonus feature===&lt;br /&gt;
Another, possibly not obvious, feature of lossyWAV is that the processed output can be &amp;quot;transcoded&amp;quot; from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.3.0, Copyright (C) 2007-2011 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Process Description:&lt;br /&gt;
&lt;br /&gt;
lossyWAV is a near lossless audio processor which dynamically reduces the &lt;br /&gt;
bitdepth of the signal on a block-by-block basis. Bitdepth reduction adds noise&lt;br /&gt;
to the processed output. The amount of permissible added noise is based on&lt;br /&gt;
analysis of the signal levels in the default frequency range 20Hz to 16kHz.&lt;br /&gt;
&lt;br /&gt;
If signals above the upper limiting frequency are at an even lower level, they&lt;br /&gt;
can be swamped by the added noise. This is usually inaudible, but the behaviour&lt;br /&gt;
can be changed by specifying a different --limit (in the range 10kHz to 20kHz).&lt;br /&gt;
&lt;br /&gt;
For many audio signals there is little content at very high frequencies and&lt;br /&gt;
forcing lossyWAV to keep the added noise level lower than the content at these&lt;br /&gt;
frequencies can increase the bitrate dramatically for no perceptible benefit.&lt;br /&gt;
&lt;br /&gt;
The noise added by the process is shaped using an adaptive method provided by&lt;br /&gt;
Sebastian Gesemann. This method, as implemented in lossyWAV, aims to use the&lt;br /&gt;
signal itself as the basis of the filter used for noise shaping. Adaptive noise&lt;br /&gt;
shaping is enabled by default.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-q, --quality &amp;lt;t&amp;gt;    where t is one of the following (default = standard):&lt;br /&gt;
    I, insane        highest quality output, suitable for transcoding;&lt;br /&gt;
    E, extreme       higher quality output, suitable for transcoding;&lt;br /&gt;
    H, high          high quality output, suitable for transcoding;&lt;br /&gt;
    S, standard      default quality output, considered to be transparent;&lt;br /&gt;
    C, economic      intermediate quality output, likely to be transparent;&lt;br /&gt;
    P, portable      good quality output for DAP use, may not be transparent;&lt;br /&gt;
    X, extraportable lowest quality output, not fully transparent.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-C, --correction     write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force          forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help           display help.&lt;br /&gt;
-L, --longhelp       display extended help.&lt;br /&gt;
-M, --merge          merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-o, --outdir &amp;lt;t&amp;gt;     destination directory for the output file(s).&lt;br /&gt;
-v, --version        display the lossyWAV version number.&lt;br /&gt;
-w, --writetolog     create (or add to) lossyWAV.log in the output directory.&lt;br /&gt;
&lt;br /&gt;
Advanced Options:&lt;br /&gt;
&lt;br /&gt;
-                    take WAV input from STDIN.&lt;br /&gt;
-c, --check          check if WAV file has already been processed; default=off.&lt;br /&gt;
                     errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-q, --quality &amp;lt;n&amp;gt;    quality preset (-5.0&amp;lt;=n&amp;lt;=10.0); (-5=lowest, 10=highest;&lt;br /&gt;
                     default=2.5; I=10; E=7.5; H=5; S=2.5; C=0; P=-2.5; X=-5).&lt;br /&gt;
--, --stdout         write WAV output to STDOUT.&lt;br /&gt;
    --stdinname &amp;lt;t&amp;gt;  pseudo filename to use when input from STDIN.&lt;br /&gt;
&lt;br /&gt;
Advanced Quality Options:&lt;br /&gt;
&lt;br /&gt;
-A, --adaptive &amp;lt;n/t&amp;gt; modify settings for Sebastian Gesemann&#039;s adaptive noise&lt;br /&gt;
                     shaping method. takes a parameter to set the order of the&lt;br /&gt;
                     FIR filter, (32&amp;lt;=n&amp;lt;=96; default=64; multiple of 8 only);&lt;br /&gt;
                     &amp;quot;OFF&amp;quot; to disable adaptive shaping; &amp;quot;NOWARP&amp;quot; to disable &lt;br /&gt;
                     default frequency warping;&lt;br /&gt;
-a, --analyses &amp;lt;n&amp;gt;   set number of FFT analysis lengths, (2&amp;lt;=n&amp;lt;=6; default=3,&lt;br /&gt;
                     i.e. 32, 64 &amp;amp; 1024 samples. n=2, remove 32 sample FFT;&lt;br /&gt;
                     n&amp;gt;3 add 512; n&amp;gt;4, add 256; n&amp;gt;6, add 128) nb. FFT lengths.&lt;br /&gt;
                     stated are for 44.1/48kHz audio, higher sample rates will&lt;br /&gt;
                     automatically increase all FFT lengths as required.&lt;br /&gt;
-l, --limit &amp;lt;n&amp;gt;      set upper frequency limit to be used in analyses to n Hz;&lt;br /&gt;
                     (10000&amp;lt;=n&amp;lt;=20000; default=16000).&lt;br /&gt;
    --linkchannels   revert to original single bits-to-remove value for all&lt;br /&gt;
                     channels rather than channel dependent bits-to-remove.&lt;br /&gt;
    --maxclips &amp;lt;n&amp;gt;   set max. number of acceptable clips per channel per block;&lt;br /&gt;
                     (0&amp;lt;=n&amp;lt;=16; default=3,3,3,3,3,2,2,2,2,2,1,1,1,0,0,0).&lt;br /&gt;
-m, --midside        analyse 2 channel audio for mid/side content.&lt;br /&gt;
    --nodccorrect    disable DC correction of audio data prior to FFT analysis,&lt;br /&gt;
                     default=on; (DC offset calculated per FFT data set).&lt;br /&gt;
    --scale &amp;lt;n&amp;gt;      factor to scale audio by; (0.0625&amp;lt;n&amp;lt;=8.0; default=1).&lt;br /&gt;
-s, --shaping [n]    enable fixed noise shaping, takes optional parameter [n]&lt;br /&gt;
                     to allow user defined shaping proportion (0.0&amp;lt;=n&amp;lt;=1.0),&lt;br /&gt;
                     otherwise default to quality setting dependent value.&lt;br /&gt;
                     Disables adaptive noise shaping.&lt;br /&gt;
    --static &amp;lt;n&amp;gt;     set minimum-bits-to-keep-static to n bits (default=6;&lt;br /&gt;
                     7&amp;lt;=n&amp;lt;=28, limited to bits-per-sample - 4).&lt;br /&gt;
-U, --underlap &amp;lt;n&amp;gt;   enable underlap mode to increase number of FFT analyses&lt;br /&gt;
                     performed at each FFT length, (n = 2, 4 or 8, default=2).&lt;br /&gt;
&lt;br /&gt;
Output Options:&lt;br /&gt;
&lt;br /&gt;
    --bitdist        show distrubution of bits to remove.&lt;br /&gt;
    --blockdist      show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input codec-blocks and bit-removed codec-blocks.&lt;br /&gt;
-d, --detail         enable per block per channel bits-to-remove data display.&lt;br /&gt;
-F, --freqdist       enable frequency analysis display of input data.&lt;br /&gt;
-H, --histogram      show sample value histogram (input, lossy and correction).&lt;br /&gt;
    --longdist       show long frequency distribution data (input/lossy/lwcdf).&lt;br /&gt;
    --perchannel     show selected distribution data per channel.&lt;br /&gt;
-p, --postanalyse    enable frequency analysis display of output and&lt;br /&gt;
                     correction data in addition to input data.&lt;br /&gt;
    --sampledist     show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input samples and bit-removed samples.&lt;br /&gt;
    --spread [full]  show detailed [more detailed] results from the spreading/&lt;br /&gt;
                     averaging algorithm.&lt;br /&gt;
-W, --width &amp;lt;n&amp;gt;      select width of output options (79&amp;lt;=n&amp;lt;=255).&lt;br /&gt;
&lt;br /&gt;
System Options:&lt;br /&gt;
&lt;br /&gt;
-B, --below          set process priority to below normal.&lt;br /&gt;
    --low            set process priority to low.&lt;br /&gt;
-N, --nowarnings     suppress lossyWAV warnings.&lt;br /&gt;
-Q, --quiet          significantly reduce screen output.&lt;br /&gt;
-S, --silent         no screen output.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to:&lt;br /&gt;
&lt;br /&gt;
David Robinson       for the publication of his lossyFLAC method, guidance, and&lt;br /&gt;
                     the motivation to implement his method as lossyWAV.&lt;br /&gt;
&lt;br /&gt;
Horst Albrecht       for ABX testing, valuable support in tuning the internal&lt;br /&gt;
                     presets, constructive criticism and all the feedback.&lt;br /&gt;
&lt;br /&gt;
Sebastian Gesemann   for the adaptive noise shaping method and the amount of&lt;br /&gt;
                     help received in implementing it and also for the basis of&lt;br /&gt;
                     the fixed noise shaping method.&lt;br /&gt;
&lt;br /&gt;
Matteo Frigo and     for libfftw3-3.dll contained in the FFTW distribution&lt;br /&gt;
Steven G Johnson     (v3.2.1 or v3.2.2).&lt;br /&gt;
&lt;br /&gt;
Mark G Beckett       for the Delphi unit that provides an interface to the&lt;br /&gt;
(Univ. of Edinburgh) relevant fftw routines in libfftw3-3.dll.&lt;br /&gt;
&lt;br /&gt;
Don Cross            for the Complex-FFT algorithm originally used.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example drag &#039;n&#039; drop batch file===&lt;br /&gt;
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. &lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
:repeat&lt;br /&gt;
if %1.==. goto end&lt;br /&gt;
if exist &amp;quot;%1&amp;quot; flac -d &amp;quot;%1&amp;quot; --stdout --silent|lossywav - --stdout --standard --stdinname &amp;quot;%1&amp;quot;|flac - -b 512 -o &amp;quot;%~dpn1.lossy.flac&amp;quot; --silent &amp;amp;&amp;amp; tag --fromfile &amp;quot;%1&amp;quot; &amp;quot;%~dpn1.lossy.flac&amp;quot;&lt;br /&gt;
shift&lt;br /&gt;
goto repeat&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and FFTW===&lt;br /&gt;
Since version 1.2.0, lossyWAV has been compatible with [[Wikipedia:FFTW|FFTW]] although not dependent on it. Should the user wish to take advantage of the increased processing speed available when using FFTW (from superior FFT implementations), libfftw3-3.dll should be placed in a directory on the host computer which features on the path.&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and WINE===&lt;br /&gt;
The cause of lossyWAV&#039;s WINE incompatibility was found and removed during the development of 1.2.0 and retrospectively amended for 1.1.0b in a maintenance release (1.1.0c).&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and [[foobar2000]]===&lt;br /&gt;
Example [[foobar2000]] converter settings:&lt;br /&gt;
&lt;br /&gt;
lossyFLAC settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.flac&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\flac - -b 512 -5 -f -o%d --ignore-chunk-sizes&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyTAK settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension  : lossy.tak&lt;br /&gt;
Parameters : /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             C:\&amp;quot;Program Files&amp;quot;\bin\takc -e -p2m -fsl512 -ihs - %d&lt;br /&gt;
Format is: lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWV settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wv&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL* settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wma&lt;br /&gt;
Parameters : /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             c:\&amp;quot;program files&amp;quot;\bin\wmaencode - %d --codec lsl --ignorelength&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enclose the element of the path containing spaces within double quotation marks (&amp;quot;), e.g. C:\&amp;quot;Program Files&amp;quot;\directory_where_executable_is\executable_name. This is a Windows limitation.&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL conversion uses WMAEncode.exe by lvqcl found [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=90519&amp;amp;view=findpost&amp;amp;p=767754 here].&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and EAC===&lt;br /&gt;
:&#039;&#039;For example settings, see [[EAC and LossyWAV]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why is the &amp;quot;.wav&amp;quot; file extension used?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; The &amp;quot;.wav&amp;quot; file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why create a processor which means that I cannot be sure that a lossless file is truly lossless?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; Unless one creates the lossless file personally, one can &#039;&#039;&#039;never&#039;&#039;&#039; be completely sure that the file is indeed lossless. E.g. a lossless file you receive could be transcoded from [[MP3]] without your knowledge. To distinguish a lossyWAV file from lossless files it is recommended to use the extension .lossy.EXT where EXT is the original extension e.g. .lossy.flac&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Do I need to re-process to change lossless codecs?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; At preset --standard, almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact]]s&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=96635 lossyWAV 1.3.1 Delphi to C++ translation thread]&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 lossyWAV 1.3.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 lossyWAV 1.3.0 release thread] - Release of version 1.3.0 on 06 August 2011&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=77042 lossyWAV 1.2.0 release thread] - Release of version 1.2.0 on 16 December 2009&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original MATLAB script to Delphi and evolution of the method&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=23902</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=23902"/>
		<updated>2013-01-10T15:48:39Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* External links */  added Category:Lossy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| logo =&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.3.0&lt;br /&gt;
| preview_release = &amp;lt;none&amp;gt;&lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 1.3.0 release thread]&amp;lt;br /&amp;gt;[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 1.3.0 development thread]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a [[Wikipedia:Free software|free]], [[lossy]] pre-processor for [[PCM]] audio contained in the [[RIFF_WAVE|WAV]] file format. Proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson], it reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression.&lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of (blocks of) samples which will then allow the FLAC lossless encoder to make use of its wasted bits feature. The aim is to transparently reduce audio bit depth (by making some lower significant bits ([[Wikipedia:Least_significant_bit|lsb]]&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David&#039;s original method, the method itself still very much belongs to its author.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 &amp;amp; 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds noise to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. The added noise is adaptively shaped by default, however the user can select parameters to make the added noise fixed shaped or simply [[Wikipedia:white noise|white noise]]. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al. is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set (16 bit / 44.1kHz)&lt;br /&gt;
!Codec&lt;br /&gt;
!lossless&lt;br /&gt;
!--insane&lt;br /&gt;
!--extreme&lt;br /&gt;
!--high&lt;br /&gt;
!--standard&lt;br /&gt;
!--economic&lt;br /&gt;
!--portable&lt;br /&gt;
!--extraportable&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| FLAC&lt;br /&gt;
| 854 kbit/s&lt;br /&gt;
| 627 kbit/s&lt;br /&gt;
| 548 kbit/s&lt;br /&gt;
| 477 kbit/s&lt;br /&gt;
| 442 kbit/s&lt;br /&gt;
| 407 kbit/s&lt;br /&gt;
| 353 kbit/s&lt;br /&gt;
| 311 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!Nick.C&#039;s Full Collection&lt;br /&gt;
| FLAC&lt;br /&gt;
| 882 kbit/s&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 307 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length &#039;fact&#039; chunk into the WAV file immediately after the &#039;fmt &#039; chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV &#039;fact&#039; chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The --check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*--quality insane: (-q I or -q 10) Highest quality preset, generally considered to be excessive;&lt;br /&gt;
*--quality extreme: (-q E or -q 7.5) Higher quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*--quality high: (-q H or -q 5.0) High quality preset, midway between extreme and standard;&lt;br /&gt;
*--quality standard: (-q S or -q 2.5) Default preset, generally accepted to be transparent;&lt;br /&gt;
*--quality economic: (-q C or -q 0.0) Intermediate preset midway between standard and portable;&lt;br /&gt;
*--quality portable: (-q P or -q -2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
*--quality extraportable: (-q X or -q -5.0) Lowest quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
&lt;br /&gt;
All tuning for version 1.0.0 was performed on quality preset --standard with higher presets being more conservative. For versions 1.1.0, 1.2.0 and 1.3.0, tuning effort has been focused on the lowest quality preset in an effort to achieve an effective compromise between resultant bitrate and perceived quality. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
The upper frequency limit used in the calculation of minimum signal power varies, dependent on quality preset, in the range 15.159kHz to 16.682kHz&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders. At least one [http://www.hydrogenaudio.org/forums/index.php?showtopic=98609&amp;amp;hl= commercial DVD-A] uses constant bit-depth reduction with lower bit-depth on rear channels.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
===Important note===&lt;br /&gt;
&#039;&#039;&#039;NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the &amp;quot;Encoder Parameters&amp;quot; in the table above to the command line of the lossless codec in question.&#039;&#039;&#039;&lt;br /&gt;
===Bonus feature===&lt;br /&gt;
Another, possibly not obvious, feature of lossyWAV is that the processed output can be &amp;quot;transcoded&amp;quot; from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.3.0, Copyright (C) 2007-2011 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Process Description:&lt;br /&gt;
&lt;br /&gt;
lossyWAV is a near lossless audio processor which dynamically reduces the &lt;br /&gt;
bitdepth of the signal on a block-by-block basis. Bitdepth reduction adds noise&lt;br /&gt;
to the processed output. The amount of permissible added noise is based on&lt;br /&gt;
analysis of the signal levels in the default frequency range 20Hz to 16kHz.&lt;br /&gt;
&lt;br /&gt;
If signals above the upper limiting frequency are at an even lower level, they&lt;br /&gt;
can be swamped by the added noise. This is usually inaudible, but the behaviour&lt;br /&gt;
can be changed by specifying a different --limit (in the range 10kHz to 20kHz).&lt;br /&gt;
&lt;br /&gt;
For many audio signals there is little content at very high frequencies and&lt;br /&gt;
forcing lossyWAV to keep the added noise level lower than the content at these&lt;br /&gt;
frequencies can increase the bitrate dramatically for no perceptible benefit.&lt;br /&gt;
&lt;br /&gt;
The noise added by the process is shaped using an adaptive method provided by&lt;br /&gt;
Sebastian Gesemann. This method, as implemented in lossyWAV, aims to use the&lt;br /&gt;
signal itself as the basis of the filter used for noise shaping. Adaptive noise&lt;br /&gt;
shaping is enabled by default.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-q, --quality &amp;lt;t&amp;gt;    where t is one of the following (default = standard):&lt;br /&gt;
    I, insane        highest quality output, suitable for transcoding;&lt;br /&gt;
    E, extreme       higher quality output, suitable for transcoding;&lt;br /&gt;
    H, high          high quality output, suitable for transcoding;&lt;br /&gt;
    S, standard      default quality output, considered to be transparent;&lt;br /&gt;
    C, economic      intermediate quality output, likely to be transparent;&lt;br /&gt;
    P, portable      good quality output for DAP use, may not be transparent;&lt;br /&gt;
    X, extraportable lowest quality output, not fully transparent.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-C, --correction     write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force          forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help           display help.&lt;br /&gt;
-L, --longhelp       display extended help.&lt;br /&gt;
-M, --merge          merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-o, --outdir &amp;lt;t&amp;gt;     destination directory for the output file(s).&lt;br /&gt;
-v, --version        display the lossyWAV version number.&lt;br /&gt;
-w, --writetolog     create (or add to) lossyWAV.log in the output directory.&lt;br /&gt;
&lt;br /&gt;
Advanced Options:&lt;br /&gt;
&lt;br /&gt;
-                    take WAV input from STDIN.&lt;br /&gt;
-c, --check          check if WAV file has already been processed; default=off.&lt;br /&gt;
                     errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-q, --quality &amp;lt;n&amp;gt;    quality preset (-5.0&amp;lt;=n&amp;lt;=10.0); (-5=lowest, 10=highest;&lt;br /&gt;
                     default=2.5; I=10; E=7.5; H=5; S=2.5; C=0; P=-2.5; X=-5).&lt;br /&gt;
--, --stdout         write WAV output to STDOUT.&lt;br /&gt;
    --stdinname &amp;lt;t&amp;gt;  pseudo filename to use when input from STDIN.&lt;br /&gt;
&lt;br /&gt;
Advanced Quality Options:&lt;br /&gt;
&lt;br /&gt;
-A, --adaptive &amp;lt;n/t&amp;gt; modify settings for Sebastian Gesemann&#039;s adaptive noise&lt;br /&gt;
                     shaping method. takes a parameter to set the order of the&lt;br /&gt;
                     FIR filter, (32&amp;lt;=n&amp;lt;=96; default=64; multiple of 8 only);&lt;br /&gt;
                     &amp;quot;OFF&amp;quot; to disable adaptive shaping; &amp;quot;NOWARP&amp;quot; to disable &lt;br /&gt;
                     default frequency warping;&lt;br /&gt;
-a, --analyses &amp;lt;n&amp;gt;   set number of FFT analysis lengths, (2&amp;lt;=n&amp;lt;=6; default=3,&lt;br /&gt;
                     i.e. 32, 64 &amp;amp; 1024 samples. n=2, remove 32 sample FFT;&lt;br /&gt;
                     n&amp;gt;3 add 512; n&amp;gt;4, add 256; n&amp;gt;6, add 128) nb. FFT lengths.&lt;br /&gt;
                     stated are for 44.1/48kHz audio, higher sample rates will&lt;br /&gt;
                     automatically increase all FFT lengths as required.&lt;br /&gt;
-l, --limit &amp;lt;n&amp;gt;      set upper frequency limit to be used in analyses to n Hz;&lt;br /&gt;
                     (10000&amp;lt;=n&amp;lt;=20000; default=16000).&lt;br /&gt;
    --linkchannels   revert to original single bits-to-remove value for all&lt;br /&gt;
                     channels rather than channel dependent bits-to-remove.&lt;br /&gt;
    --maxclips &amp;lt;n&amp;gt;   set max. number of acceptable clips per channel per block;&lt;br /&gt;
                     (0&amp;lt;=n&amp;lt;=16; default=3,3,3,3,3,2,2,2,2,2,1,1,1,0,0,0).&lt;br /&gt;
-m, --midside        analyse 2 channel audio for mid/side content.&lt;br /&gt;
    --nodccorrect    disable DC correction of audio data prior to FFT analysis,&lt;br /&gt;
                     default=on; (DC offset calculated per FFT data set).&lt;br /&gt;
    --scale &amp;lt;n&amp;gt;      factor to scale audio by; (0.0625&amp;lt;n&amp;lt;=8.0; default=1).&lt;br /&gt;
-s, --shaping [n]    enable fixed noise shaping, takes optional parameter [n]&lt;br /&gt;
                     to allow user defined shaping proportion (0.0&amp;lt;=n&amp;lt;=1.0),&lt;br /&gt;
                     otherwise default to quality setting dependent value.&lt;br /&gt;
                     Disables adaptive noise shaping.&lt;br /&gt;
    --static &amp;lt;n&amp;gt;     set minimum-bits-to-keep-static to n bits (default=6;&lt;br /&gt;
                     7&amp;lt;=n&amp;lt;=28, limited to bits-per-sample - 4).&lt;br /&gt;
-U, --underlap &amp;lt;n&amp;gt;   enable underlap mode to increase number of FFT analyses&lt;br /&gt;
                     performed at each FFT length, (n = 2, 4 or 8, default=2).&lt;br /&gt;
&lt;br /&gt;
Output Options:&lt;br /&gt;
&lt;br /&gt;
    --bitdist        show distrubution of bits to remove.&lt;br /&gt;
    --blockdist      show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input codec-blocks and bit-removed codec-blocks.&lt;br /&gt;
-d, --detail         enable per block per channel bits-to-remove data display.&lt;br /&gt;
-F, --freqdist       enable frequency analysis display of input data.&lt;br /&gt;
-H, --histogram      show sample value histogram (input, lossy and correction).&lt;br /&gt;
    --longdist       show long frequency distribution data (input/lossy/lwcdf).&lt;br /&gt;
    --perchannel     show selected distribution data per channel.&lt;br /&gt;
-p, --postanalyse    enable frequency analysis display of output and&lt;br /&gt;
                     correction data in addition to input data.&lt;br /&gt;
    --sampledist     show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input samples and bit-removed samples.&lt;br /&gt;
    --spread [full]  show detailed [more detailed] results from the spreading/&lt;br /&gt;
                     averaging algorithm.&lt;br /&gt;
-W, --width &amp;lt;n&amp;gt;      select width of output options (79&amp;lt;=n&amp;lt;=255).&lt;br /&gt;
&lt;br /&gt;
System Options:&lt;br /&gt;
&lt;br /&gt;
-B, --below          set process priority to below normal.&lt;br /&gt;
    --low            set process priority to low.&lt;br /&gt;
-N, --nowarnings     suppress lossyWAV warnings.&lt;br /&gt;
-Q, --quiet          significantly reduce screen output.&lt;br /&gt;
-S, --silent         no screen output.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to:&lt;br /&gt;
&lt;br /&gt;
David Robinson       for the publication of his lossyFLAC method, guidance, and&lt;br /&gt;
                     the motivation to implement his method as lossyWAV.&lt;br /&gt;
&lt;br /&gt;
Horst Albrecht       for ABX testing, valuable support in tuning the internal&lt;br /&gt;
                     presets, constructive criticism and all the feedback.&lt;br /&gt;
&lt;br /&gt;
Sebastian Gesemann   for the adaptive noise shaping method and the amount of&lt;br /&gt;
                     help received in implementing it and also for the basis of&lt;br /&gt;
                     the fixed noise shaping method.&lt;br /&gt;
&lt;br /&gt;
Matteo Frigo and     for libfftw3-3.dll contained in the FFTW distribution&lt;br /&gt;
Steven G Johnson     (v3.2.1 or v3.2.2).&lt;br /&gt;
&lt;br /&gt;
Mark G Beckett       for the Delphi unit that provides an interface to the&lt;br /&gt;
(Univ. of Edinburgh) relevant fftw routines in libfftw3-3.dll.&lt;br /&gt;
&lt;br /&gt;
Don Cross            for the Complex-FFT algorithm originally used.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example drag &#039;n&#039; drop batch file===&lt;br /&gt;
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. &lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
:repeat&lt;br /&gt;
if %1.==. goto end&lt;br /&gt;
if exist &amp;quot;%1&amp;quot; flac -d &amp;quot;%1&amp;quot; --stdout --silent|lossywav - --stdout --standard --stdinname &amp;quot;%1&amp;quot;|flac - -b 512 -o &amp;quot;%~dpn1.lossy.flac&amp;quot; --silent &amp;amp;&amp;amp; tag --fromfile &amp;quot;%1&amp;quot; &amp;quot;%~dpn1.lossy.flac&amp;quot;&lt;br /&gt;
shift&lt;br /&gt;
goto repeat&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and FFTW===&lt;br /&gt;
Since version 1.2.0, lossyWAV has been compatible with [[Wikipedia:FFTW|FFTW]] although not dependent on it. Should the user wish to take advantage of the increased processing speed available when using FFTW (from superior FFT implementations), libfftw3-3.dll should be placed in a directory on the host computer which features on the path.&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and WINE===&lt;br /&gt;
The cause of lossyWAV&#039;s WINE incompatibility was found and removed during the development of 1.2.0 and retrospectively amended for 1.1.0b in a maintenance release (1.1.0c).&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and [[foobar2000]]===&lt;br /&gt;
Example [[foobar2000]] converter settings:&lt;br /&gt;
&lt;br /&gt;
lossyFLAC settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.flac&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\flac - -b 512 -5 -f -o%d --ignore-chunk-sizes&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyTAK settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension  : lossy.tak&lt;br /&gt;
Parameters : /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             C:\&amp;quot;Program Files&amp;quot;\bin\takc -e -p2m -fsl512 -ihs - %d&lt;br /&gt;
Format is: lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWV settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wv&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL* settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wma&lt;br /&gt;
Parameters : /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             c:\&amp;quot;program files&amp;quot;\bin\wmaencode - %d --codec lsl --ignorelength&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enclose the element of the path containing spaces within double quotation marks (&amp;quot;), e.g. C:\&amp;quot;Program Files&amp;quot;\directory_where_executable_is\executable_name. This is a Windows limitation.&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL conversion uses WMAEncode.exe by lvqcl found [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=90519&amp;amp;view=findpost&amp;amp;p=767754 here].&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and EAC===&lt;br /&gt;
:&#039;&#039;For example settings, see [[EAC and LossyWAV]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why is the &amp;quot;.wav&amp;quot; file extension used?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; The &amp;quot;.wav&amp;quot; file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why create a processor which means that I cannot be sure that a lossless file is truly lossless?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; Unless one creates the lossless file personally, one can &#039;&#039;&#039;never&#039;&#039;&#039; be completely sure that the file is indeed lossless. E.g. a lossless file you receive could be transcoded from [[MP3]] without your knowledge. To distinguish a lossyWAV file from lossless files it is recommended to use the extension .lossy.EXT where EXT is the original extension e.g. .lossy.flac&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Do I need to re-process to change lossless codecs?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; At preset --standard, almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact]]s&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=96635 lossyWAV 1.3.1 Delphi to C++ translation thread]&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 lossyWAV 1.3.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 lossyWAV 1.3.0 release thread] - Release of version 1.3.0 on 06 August 2011&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=77042 lossyWAV 1.2.0 release thread] - Release of version 1.2.0 on 16 December 2009&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original MATLAB script to Delphi and evolution of the method&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Lossy]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23901</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23901"/>
		<updated>2013-01-10T15:37:59Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* References &amp;amp; Notes */ Added  Category:Encoder/Decoder as article refers heavily to the reference implementation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links), minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]] [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23900</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23900"/>
		<updated>2013-01-10T15:35:38Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* References &amp;amp; Notes */  Added Category:Lossy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links), minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]] [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossy]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23899</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23899"/>
		<updated>2013-01-10T15:34:14Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Added Category:Codecs to page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links), minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]] [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23898</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23898"/>
		<updated>2013-01-10T13:58:03Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* CELT layer latency versus quality/bitrate trade-off */ clarification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links), minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]] [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
N.B. This table is useful for streaming only. For music storage &amp;amp; delayed playback, latency reduction is not important and the default 20.0ms frame size is preferable.&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23897</id>
		<title>Opus</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Opus&amp;diff=23897"/>
		<updated>2013-01-10T13:55:03Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Removed {{stub}} and expanded content greatly - included bitrate/usage guidance tables (improvements welcome) - cleaned up references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = Opus&lt;br /&gt;
| logo = [[Image:opus-logo.png|250px|Official Opus logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Opus Interactive Audio Codec&lt;br /&gt;
| maintainer = [http://xiph.org/ Xiph.Org Foundation]&lt;br /&gt;
| stable_release = 1.0.2&lt;br /&gt;
| preview_release = exp_analysis7&lt;br /&gt;
| operating_system = Windows, Mac OS/X, Linux/BSD&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = 3-clause BSD license&lt;br /&gt;
| website = [http://www.opus-codec.org/ opus-codec.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Opus&#039;&#039;&#039; is a [[lossy]] audio compression format developed by the Internet Engineering Task Force (IETF) and made especially suitable for interactive real-time applications over the Internet,{{ref|homepage|a}} though it is also very competitive for use as a storage and playback format. As an open format standardised through [http://tools.ietf.org/html/rfc6716 Request for Comments (RFC) 6716],{{ref|RFC|c}} a high quality reference implementation is provided under the 3-clause BSD license{{ref|homepage|a}} which compiles and runs on the vast majority of general purpose and embedded (fixed point) processors. Many Software patents which cover Opus are licensed under royalty-free terms.{{ref|FAQ|b}}  Opus is also a Mandatory To Implement (MTI) codec for the upcoming WebRTC (Web Real Time Communication) specification of the World Wide Web Consortium (W3C).&lt;br /&gt;
&lt;br /&gt;
Opus incorporates technology from two codecs, the speech-oriented SILK codec developed by Skype and the multi-purpose low-latency CELT codec developed by Xiph.org with significant changes to each to ensure they can work together.{{ref|RFC|c}} Opus can seamlessly transition among high and low bitrates, using a linear prediction codec (the SILK layer) at lower bitrates and a lapped transform codec (the CELT layer) at higher bitrates, as well as a hybrid of the two for a short overlap in which SILK encodes the 0-8kHz spectrum and the CELT layer encodes only the frequencies above 8kHz.{{ref|RFC|c}} Opus has very low algorithmic delay (typ 22.5 ms) compared to popular music formats such as [[MP3]], [[Vorbis |Ogg Vorbis]], [[AAC | LC-AAC and HE-AAC]] (all over 100 ms), yet performs very competitively with them in terms of quality per bitrate. Also unlike these codecs, Opus does not require the definition of large codebooks for each individual file, making it also preferable for short clips of audio, such as those often used by game developers.{{ref|RFC|c}}&lt;br /&gt;
&lt;br /&gt;
Considerably more details of the history and potential applications for Opus are included in the &#039;&#039;Wikipedia&#039;&#039; page for &#039;&#039;&#039;[http://en.wikipedia.org/wiki/Opus_%28audio_format%29 Opus (audio format)]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Characteristics==&lt;br /&gt;
Opus supports bitrates from 6kbps to 510kbps for typical stereo audio sources (and a maximum of around 255 kbps per channel for multichannel audio), with the &#039;sweet spot&#039; for music and general audio around 30kbps (mono) and 40-100 kbps (stereo). It is intrinsically [[VBR | variable bitrate]], though constrained VBR and [[CBR | constant bitrate]] modes are possible where required. The target bitrate is calibrated against the internal constant quality targets so that over a typical music collection, something very close to the target bitrate will be achieved. &lt;br /&gt;
&lt;br /&gt;
Opus is able to seamlessly adapt its mode of operation without glitches or sound interruption (an illustrative demonstration of [http://opus-codec.org/examples/#gauge bitrate scalability] is on the Opus Examples page), which can be particularly useful for mixed-content audio or varying network conditions, making the unified Opus codec superior to a suite of different codecs that might otherwise cover the same range of bitrate and quality settings and would require out-of-band signalling to instigate codec switching. The switching includes the choice of mono, stereo and other channel mappings, the use of the speech-oriented SILK layer, the general-purpose CELT layer or the hybrid of both, and the use of different audio bandwidths (4kHz, 6kHz, 8kHz, 12kHz, 20kHz) as well as the quality adjustments within the same operating mode that are available in most VBR-capable codecs.&lt;br /&gt;
&lt;br /&gt;
Of importance mainly to interactive uses, but potentially useful in time-delayed audio streaming also, Opus includes packet loss concealment (PLC) in all modes and, in the speech-oriented modes where the SILK layer is active it also supports Forward Error Correction (FEC) where the expected rate of packet loss can be indicated to the encoder by the user or by application software and critical frames (e.g. consonant sounds) can be retransmitted at low bitrate to preserve intelligibility.&lt;br /&gt;
&lt;br /&gt;
For music and general audio, the CELT layer of Opus builds on knowledge gained during xiph.org&#039;s Vorbis development and ensures as a primary goal that the total energy in each spectral band is preserved while requiring only a modest bitrate overhead to achieve this, thereby eliminating a lot of bitrate-starvation artifacts such as &#039;birdies&#039; that are common in low-bitrate MP3, especially during transients, applause and cymbal sounds. This technique likewise increases coding efficiency at bitrates targetting transparent music reproduction. Short blocks (2.5 ms) are also possible for efficient transient handling. Short blocks can also be used exclusively, if very low algorithmic delay (5.0ms) is required to enable very low-latency interative audio (e.g. live networked music performances such as remote jam sessions), though greater bitrate is then required to maintain the same quality (illustrated in [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo Monty&#039;s CELT demo page] under Constant PEAQ value, varying latency). CELT uses a number of additional techniques and provides additional advanced tools to enable encoder tuning.&lt;br /&gt;
&lt;br /&gt;
Opus natively supports [[gapless playback]] (though [[Gapless_playback#Poorly_designed_playback_systems | poor player design]] might itself induce interruptions during playback). Playback gain is also required, making some form of [[ReplayGain]] or [[ReplayGain_2.0_specification | similar]] volume control possible in any compliant player.&lt;br /&gt;
&lt;br /&gt;
==Bitrate performance==&lt;br /&gt;
For mono speech, Opus ranges from intelligible narrowband speech reproduction starting at 6 kbps to medium-band, wideband and superwideband speech, reaching full-band speech by around 32 kbps. Above about 32 kbps, the SILK layer is no longer used at all, as CELT alone gives superior quality.&lt;br /&gt;
&lt;br /&gt;
For music, the SILK modes are quite tolerable and better than CELT at very low bitrates. The hybrid mode is adopted as bitrate increases, extending bandwidth first to 12kHz (comparable with compact cassette) then to the full 20kHz and CELT then takes over. Assuming the source is stereo, the transition from mono to stereo typically happens between the transition from 12kHz to 20kHz.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate and quality==&lt;br /&gt;
The table below gives illustrative, indicative quality guidance based on typical modes used internally by Opus and a range of listening tests.&lt;br /&gt;
&lt;br /&gt;
In the experimental libopus version 1.1-alpha, automatic detection of speech/music and bandwidth detection have been introduced to improve mode decisions, and VBR is less constrained, all with the aim of maximizing the quality/bitrate tradeoff. Thus changes are likely, and this table is likely to require small updates as the encoder is improved.&lt;br /&gt;
&lt;br /&gt;
===Speech encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;monophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate) but mentions stereo compatibility for 40kbps+. The default 20ms frame size (22.5ms latency) is assumed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Speech quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!1 to 5 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| &amp;lt;6kbps bitrate not supported&lt;br /&gt;
| Try [http://codec2.org/ codec2] for 1.2-2.4 kbps speech&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair, intelligible&lt;br /&gt;
|AMR-NB may be a little better, but higher latency &amp;amp; proprietary, Speex also competitive&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|4 kHz narrowband&lt;br /&gt;
|SILK&lt;br /&gt;
|Close to telephone quality&lt;br /&gt;
|AMR-NB &amp;amp; AMR-WB similar quality, but higher latency &amp;amp; proprietary. Speex competitive.&lt;br /&gt;
|-&lt;br /&gt;
!12 kbps&lt;br /&gt;
|6 kHz medium-band&lt;br /&gt;
|SILK&lt;br /&gt;
|Medium bandwidth, better than telephone quality&lt;br /&gt;
|Similar quality to AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!16 kbps&lt;br /&gt;
|8 kHz wideband&lt;br /&gt;
|SILK&lt;br /&gt;
|Wideband speech quality&lt;br /&gt;
|Similar to/better than AMR-WB&lt;br /&gt;
|-&lt;br /&gt;
!24 kbps&lt;br /&gt;
|12 kHz super-wideband&lt;br /&gt;
|hybrid&lt;br /&gt;
|Near transparent speech&lt;br /&gt;
|Better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|hybrid / possibly CELT&lt;br /&gt;
|Essentially transparent speech plus moderately good mono music&lt;br /&gt;
|Much better than AMR-WB. Podcasts/audiobooks/talk-radio.&lt;br /&gt;
|-&lt;br /&gt;
!40 kbps&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, fairly good stereo music&lt;br /&gt;
|Stereo podcasts/audiobooks/talk radio with some music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps+&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Essentially transparent mono or stereo speech, reasonable music&lt;br /&gt;
|Flexible general purpose modes to suit mixed music and speech&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Music encoding quality===&lt;br /&gt;
This table assumes a &#039;&#039;&#039;stereophonic&#039;&#039;&#039; source sampled at CD quality or above (typ 48 kHz sampling rate). Opus will automatically use mono at very low bitrates.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Bitrate target&lt;br /&gt;
!Stereo mode&lt;br /&gt;
!Bandwidth&lt;br /&gt;
!typ SILK/CELT use&lt;br /&gt;
!Music quality notes&lt;br /&gt;
!Use cases/notes&lt;br /&gt;
|-&lt;br /&gt;
!6 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled sound but intelligible lyrics&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!8 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|4 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Poor, muffled but OK for bitrate&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
!14 to 16 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|6 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fairly Poor but OK for bitrate&lt;br /&gt;
|Perhaps acceptable for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!22 to 24 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|8 kHz&lt;br /&gt;
|SILK&lt;br /&gt;
|Fair but OK for bitrate&lt;br /&gt;
|OK for incidental music&lt;br /&gt;
|-&lt;br /&gt;
!32 kbps&lt;br /&gt;
|mono&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid&lt;br /&gt;
|Moderately good mono, reasonably bright treble (c.f. mono cassette)&lt;br /&gt;
|Good for podcasts, audiobooks, CELT-only poss for music. HE-AAC @32kbps is stereo full-band but with annoying artifacts.&lt;br /&gt;
|-&lt;br /&gt;
!39 to 40 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|12 kHz&lt;br /&gt;
|hybrid/CELT&lt;br /&gt;
|Moderately good stereo, reasonably bright treble (c.f. stereo cassette)&lt;br /&gt;
|Stereo podcasts, audiobooks, very low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!48 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, some artifacts, rarely nasty&lt;br /&gt;
|Stereo podcasts, audiobooks, low bitrate music&lt;br /&gt;
|-&lt;br /&gt;
!64 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, nice sound, detectable differences to original (mostly &#039;not annoying&#039;)&lt;br /&gt;
|Music storage &amp;amp; streaming. Beat HE-AAC, Vorbis, MP3 in [http://people.xiph.org/~greg/opus/ha2011/ listening test]&lt;br /&gt;
|-&lt;br /&gt;
!96 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Full bandwidth stereo music, good quality approaching transparency&lt;br /&gt;
|Music storage &amp;amp; high quality streaming.&lt;br /&gt;
|-&lt;br /&gt;
!112 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Fairly close to transparency (needs more testing)&lt;br /&gt;
|Music storage &amp;amp; high quality streaming. Very low-latency stereo networked music performance/jam sessions at OK quality (see below table)&lt;br /&gt;
|-&lt;br /&gt;
!128 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Very close to transparency (needs more testing). Most modern codecs competitive (AAC-LC, Vorbis, MP3)&lt;br /&gt;
|Music storage &amp;amp; streaming. Future download music sales.&lt;br /&gt;
|-&lt;br /&gt;
!256 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Transparent with very low chance of artifacts (a few killer samples still detectable). Most old &amp;amp; new lossy codecs competitive.&lt;br /&gt;
|Music storage &amp;amp; streaming, dedicated limited-bandwidth audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links). &lt;br /&gt;
|-&lt;br /&gt;
!510 kbps&lt;br /&gt;
|stereo&lt;br /&gt;
|20 kHz&lt;br /&gt;
|CELT&lt;br /&gt;
|Maximum possible stereo bitrate target (actual rate often less than 510 for default frame size). Most old and new lossy codecs competitive, plus near-lossless [[lossyWAV]] and [[WavPack | WavPack lossy]]&lt;br /&gt;
|Music storage, dedicated limited-bitrate audio links (e.g. wireless, [http://en.wikipedia.org/wiki/Bluetooth_profile#Advanced_Audio_Distribution_Profile_.28A2DP.29 A2DP-bluetooth] type links), minimum latency high quality audio. LossyWAV and WavPack lossy are very competitive for storage, and WavPack lossy --blocksize=256 may be competitive with minimum latency mode also.&lt;br /&gt;
|-&lt;br /&gt;
!&amp;gt;510 kbps&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Above Opus bitrate range allowed for stereo sources&lt;br /&gt;
|Settle for 510kbps or use [[lossless]], [[lossyWAV]] [[WavPack | WavPack lossy]] or lossy transform/subband codecs like [[Vorbis]], [[Musepack]] at very high settings.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Lower latency versus quality/bitrate trade-off===&lt;br /&gt;
====Packet overhead in interactive applications====&lt;br /&gt;
For interactive use on the Internet or other packet-based networks, total bandwidth used will be subject to packet overhead. The more packet headers that are transmitted every second, the greater will be the overhead that is required. For this reason, Opus, while defaulting to 20.0ms frames, supports 60.0ms frames to reduce overhead when transporting low-bitrate SILK frames at the expense of greater latency, which may still be acceptable for speech, and also supports 10.0ms SILK frames to reduce latency somewhat at the expense of packet overhead.&lt;br /&gt;
&lt;br /&gt;
In the CELT layer, which tends to operate at higher bitrates than SILK, 20.0ms frames are the default, but frames of 10.0ms, 5.0ms and 2.5ms are also possible, which directly increases the frame overhead by transmitting more packets per second to achieve lower latency. In addition, as we&#039;ll see below it also reduces the quality/bitrate tradeoff of the CELT layer itself.&lt;br /&gt;
&lt;br /&gt;
None of the bitrates mentioned in this article account for the packet overhead.&lt;br /&gt;
&lt;br /&gt;
====CELT layer latency versus quality/bitrate trade-off====&lt;br /&gt;
Unlike the SILK layer, which works on fixed 10.0ms blocks, 1, 2 or 6 of which can be combined into an Opus frame, the CELT layer is able to modify the encoding block lengths available to enable its use with shorter frames.&lt;br /&gt;
&lt;br /&gt;
When the CELT layer uses 10.0ms, 5.0ms and 2.5ms frames instead of the default 20.0ms, it must use smaller transform block sizes to achieve this, thereby reducing frequency resolution in the MDCT compared to the default transform window, thus reducing encoding efficiency for tonal signals. To obtain the same frequency precision for a sound divided into shorter transform windows, improved amplitude precision is necessary, resulting in increased bitrate to obtain the same perceptual quality (or conversely lower quality at the same bitrate).&lt;br /&gt;
&lt;br /&gt;
These reduced-latency modes remain efficient for transient signals, which use short blocks anyway.&lt;br /&gt;
&lt;br /&gt;
In all modes, the algorithmic delay consists of the frame size plus an additional 2.5ms delay. The CELT layer requires 2.5ms for MDCT window overlap.&lt;br /&gt;
&lt;br /&gt;
Xiph.org used matched PEAQ scores (approximate perceptual quality assessment made in software) for the CELT0.10 codec that was used as the basis of the CELT layer in the Opus reference release, which indicate the following [http://people.xiph.org/~xiphmont/demo/celt/demo.html#demo approximate equivalent settings] for stereo music.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Frame size&lt;br /&gt;
!Algorithmic delay&lt;br /&gt;
!Bitrate to match 64kbps@22.5ms delay&lt;br /&gt;
!fractional bitrate increase&lt;br /&gt;
|-&lt;br /&gt;
!20.0 ms&lt;br /&gt;
|22.5 ms&lt;br /&gt;
|64.0 kbps&lt;br /&gt;
|0.0 %&lt;br /&gt;
|-&lt;br /&gt;
!10.0 ms&lt;br /&gt;
|12.5 ms&lt;br /&gt;
|70.4 kbps&lt;br /&gt;
|10.0 %&lt;br /&gt;
|-&lt;br /&gt;
!5.0 ms&lt;br /&gt;
|7.5 ms&lt;br /&gt;
|84.8 kbps&lt;br /&gt;
|32.5 %&lt;br /&gt;
|-&lt;br /&gt;
!2.5 ms&lt;br /&gt;
|5.0 ms&lt;br /&gt;
|112.0 kbps&lt;br /&gt;
|75.0 %&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== References &amp;amp; Notes ==&lt;br /&gt;
&lt;br /&gt;
*{{note|homepage|a}}[http://opus-codec.org/ opus-codec.org homepage]&lt;br /&gt;
*{{note|FAQ|b}}[http://wiki.xiph.org/OpusFAQ Opus FAQ]&lt;br /&gt;
*{{note|RFC|c}}[http://tools.ietf.org/html/rfc6716 IETF RFC 6716]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=23895</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=23895"/>
		<updated>2013-01-08T13:33:05Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Codec compatibility */ Added link to forum thread on bit-reduced Lord Of The Rings DVD-A ~~~~&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| logo =&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.3.0&lt;br /&gt;
| preview_release = &amp;lt;none&amp;gt;&lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 1.3.0 release thread]&amp;lt;br /&amp;gt;[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 1.3.0 development thread]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a [[Wikipedia:Free software|free]], [[lossy]] pre-processor for [[PCM]] audio contained in the [[RIFF_WAVE|WAV]] file format. Proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson], it reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression.&lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of (blocks of) samples which will then allow the FLAC lossless encoder to make use of its wasted bits feature. The aim is to transparently reduce audio bit depth (by making some lower significant bits ([[Wikipedia:Least_significant_bit|lsb]]&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David&#039;s original method, the method itself still very much belongs to its author.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 &amp;amp; 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds noise to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. The added noise is adaptively shaped by default, however the user can select parameters to make the added noise fixed shaped or simply [[Wikipedia:white noise|white noise]]. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al. is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set (16 bit / 44.1kHz)&lt;br /&gt;
!Codec&lt;br /&gt;
!lossless&lt;br /&gt;
!--insane&lt;br /&gt;
!--extreme&lt;br /&gt;
!--high&lt;br /&gt;
!--standard&lt;br /&gt;
!--economic&lt;br /&gt;
!--portable&lt;br /&gt;
!--extraportable&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| FLAC&lt;br /&gt;
| 854 kbit/s&lt;br /&gt;
| 627 kbit/s&lt;br /&gt;
| 548 kbit/s&lt;br /&gt;
| 477 kbit/s&lt;br /&gt;
| 442 kbit/s&lt;br /&gt;
| 407 kbit/s&lt;br /&gt;
| 353 kbit/s&lt;br /&gt;
| 311 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!Nick.C&#039;s Full Collection&lt;br /&gt;
| FLAC&lt;br /&gt;
| 882 kbit/s&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| 307 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length &#039;fact&#039; chunk into the WAV file immediately after the &#039;fmt &#039; chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV &#039;fact&#039; chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The --check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*--quality insane: (-q I or -q 10) Highest quality preset, generally considered to be excessive;&lt;br /&gt;
*--quality extreme: (-q E or -q 7.5) Higher quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*--quality high: (-q H or -q 5.0) High quality preset, midway between extreme and standard;&lt;br /&gt;
*--quality standard: (-q S or -q 2.5) Default preset, generally accepted to be transparent;&lt;br /&gt;
*--quality economic: (-q C or -q 0.0) Intermediate preset midway between standard and portable;&lt;br /&gt;
*--quality portable: (-q P or -q -2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
*--quality extraportable: (-q X or -q -5.0) Lowest quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]].[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
&lt;br /&gt;
All tuning for version 1.0.0 was performed on quality preset --standard with higher presets being more conservative. For versions 1.1.0, 1.2.0 and 1.3.0, tuning effort has been focused on the lowest quality preset in an effort to achieve an effective compromise between resultant bitrate and perceived quality. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
The upper frequency limit used in the calculation of minimum signal power varies, dependent on quality preset, in the range 15.159kHz to 16.682kHz&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders. At least one [http://www.hydrogenaudio.org/forums/index.php?showtopic=98609&amp;amp;hl= commercial DVD-A] uses constant bit-depth reduction with lower bit-depth on rear channels.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
===Important note===&lt;br /&gt;
&#039;&#039;&#039;NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the &amp;quot;Encoder Parameters&amp;quot; in the table above to the command line of the lossless codec in question.&#039;&#039;&#039;&lt;br /&gt;
===Bonus feature===&lt;br /&gt;
Another, possibly not obvious, feature of lossyWAV is that the processed output can be &amp;quot;transcoded&amp;quot; from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.3.0, Copyright (C) 2007-2011 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Process Description:&lt;br /&gt;
&lt;br /&gt;
lossyWAV is a near lossless audio processor which dynamically reduces the &lt;br /&gt;
bitdepth of the signal on a block-by-block basis. Bitdepth reduction adds noise&lt;br /&gt;
to the processed output. The amount of permissible added noise is based on&lt;br /&gt;
analysis of the signal levels in the default frequency range 20Hz to 16kHz.&lt;br /&gt;
&lt;br /&gt;
If signals above the upper limiting frequency are at an even lower level, they&lt;br /&gt;
can be swamped by the added noise. This is usually inaudible, but the behaviour&lt;br /&gt;
can be changed by specifying a different --limit (in the range 10kHz to 20kHz).&lt;br /&gt;
&lt;br /&gt;
For many audio signals there is little content at very high frequencies and&lt;br /&gt;
forcing lossyWAV to keep the added noise level lower than the content at these&lt;br /&gt;
frequencies can increase the bitrate dramatically for no perceptible benefit.&lt;br /&gt;
&lt;br /&gt;
The noise added by the process is shaped using an adaptive method provided by&lt;br /&gt;
Sebastian Gesemann. This method, as implemented in lossyWAV, aims to use the&lt;br /&gt;
signal itself as the basis of the filter used for noise shaping. Adaptive noise&lt;br /&gt;
shaping is enabled by default.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-q, --quality &amp;lt;t&amp;gt;    where t is one of the following (default = standard):&lt;br /&gt;
    I, insane        highest quality output, suitable for transcoding;&lt;br /&gt;
    E, extreme       higher quality output, suitable for transcoding;&lt;br /&gt;
    H, high          high quality output, suitable for transcoding;&lt;br /&gt;
    S, standard      default quality output, considered to be transparent;&lt;br /&gt;
    C, economic      intermediate quality output, likely to be transparent;&lt;br /&gt;
    P, portable      good quality output for DAP use, may not be transparent;&lt;br /&gt;
    X, extraportable lowest quality output, not fully transparent.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-C, --correction     write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force          forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help           display help.&lt;br /&gt;
-L, --longhelp       display extended help.&lt;br /&gt;
-M, --merge          merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-o, --outdir &amp;lt;t&amp;gt;     destination directory for the output file(s).&lt;br /&gt;
-v, --version        display the lossyWAV version number.&lt;br /&gt;
-w, --writetolog     create (or add to) lossyWAV.log in the output directory.&lt;br /&gt;
&lt;br /&gt;
Advanced Options:&lt;br /&gt;
&lt;br /&gt;
-                    take WAV input from STDIN.&lt;br /&gt;
-c, --check          check if WAV file has already been processed; default=off.&lt;br /&gt;
                     errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-q, --quality &amp;lt;n&amp;gt;    quality preset (-5.0&amp;lt;=n&amp;lt;=10.0); (-5=lowest, 10=highest;&lt;br /&gt;
                     default=2.5; I=10; E=7.5; H=5; S=2.5; C=0; P=-2.5; X=-5).&lt;br /&gt;
--, --stdout         write WAV output to STDOUT.&lt;br /&gt;
    --stdinname &amp;lt;t&amp;gt;  pseudo filename to use when input from STDIN.&lt;br /&gt;
&lt;br /&gt;
Advanced Quality Options:&lt;br /&gt;
&lt;br /&gt;
-A, --adaptive &amp;lt;n/t&amp;gt; modify settings for Sebastian Gesemann&#039;s adaptive noise&lt;br /&gt;
                     shaping method. takes a parameter to set the order of the&lt;br /&gt;
                     FIR filter, (32&amp;lt;=n&amp;lt;=96; default=64; multiple of 8 only);&lt;br /&gt;
                     &amp;quot;OFF&amp;quot; to disable adaptive shaping; &amp;quot;NOWARP&amp;quot; to disable &lt;br /&gt;
                     default frequency warping;&lt;br /&gt;
-a, --analyses &amp;lt;n&amp;gt;   set number of FFT analysis lengths, (2&amp;lt;=n&amp;lt;=6; default=3,&lt;br /&gt;
                     i.e. 32, 64 &amp;amp; 1024 samples. n=2, remove 32 sample FFT;&lt;br /&gt;
                     n&amp;gt;3 add 512; n&amp;gt;4, add 256; n&amp;gt;6, add 128) nb. FFT lengths.&lt;br /&gt;
                     stated are for 44.1/48kHz audio, higher sample rates will&lt;br /&gt;
                     automatically increase all FFT lengths as required.&lt;br /&gt;
-l, --limit &amp;lt;n&amp;gt;      set upper frequency limit to be used in analyses to n Hz;&lt;br /&gt;
                     (10000&amp;lt;=n&amp;lt;=20000; default=16000).&lt;br /&gt;
    --linkchannels   revert to original single bits-to-remove value for all&lt;br /&gt;
                     channels rather than channel dependent bits-to-remove.&lt;br /&gt;
    --maxclips &amp;lt;n&amp;gt;   set max. number of acceptable clips per channel per block;&lt;br /&gt;
                     (0&amp;lt;=n&amp;lt;=16; default=3,3,3,3,3,2,2,2,2,2,1,1,1,0,0,0).&lt;br /&gt;
-m, --midside        analyse 2 channel audio for mid/side content.&lt;br /&gt;
    --nodccorrect    disable DC correction of audio data prior to FFT analysis,&lt;br /&gt;
                     default=on; (DC offset calculated per FFT data set).&lt;br /&gt;
    --scale &amp;lt;n&amp;gt;      factor to scale audio by; (0.0625&amp;lt;n&amp;lt;=8.0; default=1).&lt;br /&gt;
-s, --shaping [n]    enable fixed noise shaping, takes optional parameter [n]&lt;br /&gt;
                     to allow user defined shaping proportion (0.0&amp;lt;=n&amp;lt;=1.0),&lt;br /&gt;
                     otherwise default to quality setting dependent value.&lt;br /&gt;
                     Disables adaptive noise shaping.&lt;br /&gt;
    --static &amp;lt;n&amp;gt;     set minimum-bits-to-keep-static to n bits (default=6;&lt;br /&gt;
                     7&amp;lt;=n&amp;lt;=28, limited to bits-per-sample - 4).&lt;br /&gt;
-U, --underlap &amp;lt;n&amp;gt;   enable underlap mode to increase number of FFT analyses&lt;br /&gt;
                     performed at each FFT length, (n = 2, 4 or 8, default=2).&lt;br /&gt;
&lt;br /&gt;
Output Options:&lt;br /&gt;
&lt;br /&gt;
    --bitdist        show distrubution of bits to remove.&lt;br /&gt;
    --blockdist      show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input codec-blocks and bit-removed codec-blocks.&lt;br /&gt;
-d, --detail         enable per block per channel bits-to-remove data display.&lt;br /&gt;
-F, --freqdist       enable frequency analysis display of input data.&lt;br /&gt;
-H, --histogram      show sample value histogram (input, lossy and correction).&lt;br /&gt;
    --longdist       show long frequency distribution data (input/lossy/lwcdf).&lt;br /&gt;
    --perchannel     show selected distribution data per channel.&lt;br /&gt;
-p, --postanalyse    enable frequency analysis display of output and&lt;br /&gt;
                     correction data in addition to input data.&lt;br /&gt;
    --sampledist     show distribution of lowest / highest significant bit of&lt;br /&gt;
                     input samples and bit-removed samples.&lt;br /&gt;
    --spread [full]  show detailed [more detailed] results from the spreading/&lt;br /&gt;
                     averaging algorithm.&lt;br /&gt;
-W, --width &amp;lt;n&amp;gt;      select width of output options (79&amp;lt;=n&amp;lt;=255).&lt;br /&gt;
&lt;br /&gt;
System Options:&lt;br /&gt;
&lt;br /&gt;
-B, --below          set process priority to below normal.&lt;br /&gt;
    --low            set process priority to low.&lt;br /&gt;
-N, --nowarnings     suppress lossyWAV warnings.&lt;br /&gt;
-Q, --quiet          significantly reduce screen output.&lt;br /&gt;
-S, --silent         no screen output.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to:&lt;br /&gt;
&lt;br /&gt;
David Robinson       for the publication of his lossyFLAC method, guidance, and&lt;br /&gt;
                     the motivation to implement his method as lossyWAV.&lt;br /&gt;
&lt;br /&gt;
Horst Albrecht       for ABX testing, valuable support in tuning the internal&lt;br /&gt;
                     presets, constructive criticism and all the feedback.&lt;br /&gt;
&lt;br /&gt;
Sebastian Gesemann   for the adaptive noise shaping method and the amount of&lt;br /&gt;
                     help received in implementing it and also for the basis of&lt;br /&gt;
                     the fixed noise shaping method.&lt;br /&gt;
&lt;br /&gt;
Matteo Frigo and     for libfftw3-3.dll contained in the FFTW distribution&lt;br /&gt;
Steven G Johnson     (v3.2.1 or v3.2.2).&lt;br /&gt;
&lt;br /&gt;
Mark G Beckett       for the Delphi unit that provides an interface to the&lt;br /&gt;
(Univ. of Edinburgh) relevant fftw routines in libfftw3-3.dll.&lt;br /&gt;
&lt;br /&gt;
Don Cross            for the Complex-FFT algorithm originally used.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example drag &#039;n&#039; drop batch file===&lt;br /&gt;
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. &lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
:repeat&lt;br /&gt;
if %1.==. goto end&lt;br /&gt;
if exist &amp;quot;%1&amp;quot; flac -d &amp;quot;%1&amp;quot; --stdout --silent|lossywav - --stdout --standard --stdinname &amp;quot;%1&amp;quot;|flac - -b 512 -o &amp;quot;%~dpn1.lossy.flac&amp;quot; --silent &amp;amp;&amp;amp; tag --fromfile &amp;quot;%1&amp;quot; &amp;quot;%~dpn1.lossy.flac&amp;quot;&lt;br /&gt;
shift&lt;br /&gt;
goto repeat&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and FFTW===&lt;br /&gt;
Since version 1.2.0, lossyWAV has been compatible with [[Wikipedia:FFTW|FFTW]] although not dependent on it. Should the user wish to take advantage of the increased processing speed available when using FFTW (from superior FFT implementations), libfftw3-3.dll should be placed in a directory on the host computer which features on the path.&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and WINE===&lt;br /&gt;
The cause of lossyWAV&#039;s WINE incompatibility was found and removed during the development of 1.2.0 and retrospectively amended for 1.1.0b in a maintenance release (1.1.0c).&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and [[foobar2000]]===&lt;br /&gt;
Example [[foobar2000]] converter settings:&lt;br /&gt;
&lt;br /&gt;
lossyFLAC settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.flac&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\flac - -b 512 -5 -f -o%d --ignore-chunk-sizes&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyTAK settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension  : lossy.tak&lt;br /&gt;
Parameters : /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             C:\&amp;quot;Program Files&amp;quot;\bin\takc -e -p2m -fsl512 -ihs - %d&lt;br /&gt;
Format is: lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWV settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wv&lt;br /&gt;
Parameters: /d /c C:\&amp;quot;Program Files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
            C:\&amp;quot;Program Files&amp;quot;\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL* settings:&amp;lt;pre&amp;gt;Encoder: C:\Windows\System32\cmd.exe&lt;br /&gt;
Extension : lossy.wma&lt;br /&gt;
Parameters : /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --quality standard --silent --stdout|&lt;br /&gt;
             c:\&amp;quot;program files&amp;quot;\bin\wmaencode - %d --codec lsl --ignorelength&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enclose the element of the path containing spaces within double quotation marks (&amp;quot;), e.g. C:\&amp;quot;Program Files&amp;quot;\directory_where_executable_is\executable_name. This is a Windows limitation.&lt;br /&gt;
&lt;br /&gt;
lossyWMALSL conversion uses WMAEncode.exe by lvqcl found [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=90519&amp;amp;view=findpost&amp;amp;p=767754 here].&lt;br /&gt;
&lt;br /&gt;
===lossyWAV and EAC===&lt;br /&gt;
:&#039;&#039;For example settings, see [[EAC and LossyWAV]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why is the &amp;quot;.wav&amp;quot; file extension used?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; The &amp;quot;.wav&amp;quot; file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why create a processor which means that I cannot be sure that a lossless file is truly lossless?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; Unless one creates the lossless file personally, one can &#039;&#039;&#039;never&#039;&#039;&#039; be completely sure that the file is indeed lossless. E.g. a lossless file you receive could be transcoded from [[MP3]] without your knowledge. To distinguish a lossyWAV file from lossless files it is recommended to use the extension .lossy.EXT where EXT is the original extension e.g. .lossy.flac&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Do I need to re-process to change lossless codecs?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; At preset --standard, almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact]]s&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=96635 lossyWAV 1.3.1 Delphi to C++ translation thread]&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=81002 lossyWAV 1.3.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=90104 lossyWAV 1.3.0 release thread] - Release of version 1.3.0 on 06 August 2011&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=77042 lossyWAV 1.2.0 release thread] - Release of version 1.2.0 on 16 December 2009&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008&lt;br /&gt;
----&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original MATLAB script to Delphi and evolution of the method&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=AoTuV&amp;diff=23614</id>
		<title>AoTuV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=AoTuV&amp;diff=23614"/>
		<updated>2012-11-02T19:17:32Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Updated out-of-date information and provided a little summary of version history up to beta 6.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{title|aoTuV}}&lt;br /&gt;
&#039;&#039;&#039;aoTuV&#039;&#039;&#039; is an abbreviation for &#039;&#039;&#039;Aoyumi&#039;s Tuned Vorbis&#039;&#039;&#039;; it is third-party development/tuning of the [[Vorbis]] encoder. &lt;br /&gt;
&lt;br /&gt;
aoTuV versions improves significantly on Vorbis quality: Most people agree &#039;&#039;&#039;aoTuV beta 4 (and newer)&#039;&#039;&#039; achieves [[transparency]] at -q 5.&lt;br /&gt;
&lt;br /&gt;
Released in December 2005, &#039;&#039;&#039;aoTuV beta 4.51&#039;&#039;&#039; improved further on low bit-rate and after peer review was rebranded &#039;&#039;&#039;aoTuV Release 1&#039;&#039;&#039; with some reports that -q 1 (approximately 80 kbps) is good enough for streaming.&lt;br /&gt;
&lt;br /&gt;
In June 2007, the &#039;&#039;&#039;aoTuV beta 5&#039;&#039;&#039; versions including 5.7 underwent peer review and superceded Release 1 as the HA recommended Vorbis encoders, improving the low bit-rate quality in relation to [[Noise normalization]] without sacrificing compression ratio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;aoTuV Beta 6&#039;&#039;&#039; versions released in 2011 made further improvements on pre-echo and post-echo handling, stereo mode decisions and noise normalization at low bitrates but have not been extensively peer-reviewed by the HydrogenAudio community.&lt;br /&gt;
&lt;br /&gt;
See [[Recommended Ogg Vorbis]] page for more details.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://www.geocities.jp/aoyoume/aotuv/ aoTuV&#039;s home page].&lt;br /&gt;
* [[Lancer]]: [[BlackSword]]&#039;s accelerated version of aoTuV binaries, courtesy of the Ogg Vorbis Acceleration Project&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=44681&amp;amp;hl= How to prounounce &amp;quot;aoTuV&amp;quot;]&lt;br /&gt;
* How to compile aoTuV under Linux: [[Compiling aoTuV]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Bit_reservoir&amp;diff=23218</id>
		<title>Bit reservoir</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Bit_reservoir&amp;diff=23218"/>
		<updated>2012-07-10T18:36:48Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Rewritten example in bits per frame and kbps equivalent to avoid mixing bits per &amp;#039;moment&amp;#039; and kilobits per second as if they were the same.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The term &#039;&#039;&#039;bit reservoir&#039;&#039;&#039; is used exclusively in the [[MP3]] specification.&lt;br /&gt;
&lt;br /&gt;
[[CBR]] (and also to some degree [[ABR]]) uses a constant defined [[bitrate]]. Because that bitrate is taken into consideration at every frame, there will be certain moments of such complexity that they can&#039;t be properly encoded within the limitations of the chosen bitrate; they need a higher [[bitrate]] than the defined one. Therefore, the MP3 spec defines a bit reservoir, intended especially to allow transient sounds to be encoded better.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
An MP3 file is to be encoded at 160 kbps CBR from CD source material, sampled at 44100 stereo samples per second.&lt;br /&gt;
&lt;br /&gt;
Because each MP3 frame is 1152 samples long, allowing 160000 bits per second, each frame can contain 4179 bits of data (= 160000 x 1152 / 44100).&lt;br /&gt;
&lt;br /&gt;
Imagine that a certain frame needs only 3056 bits to be properly encoded (as calculated by the [[Psychoacoustic#Psychoacoustic Model|psymodel]] and the settings of the encoder). This is equivalent to about 117 kbps momentary bitrate (=3056 x 44100 / 1152). 1123 bits are not used (4179 - 3056 = 1123). Those bits together with any unused bits in the next few frames can be saved to a reservoir for use in following frames that may require more than 4179 bits each.&lt;br /&gt;
&lt;br /&gt;
To limit the stream&#039;s complexity, the maximum reservoir size is 4088 bits (511 bytes). If the maximum reservoir of 4088 bits is available in addition to the 4179 bits allocated by the 160 kbps CBR bitrate of our example, there are 8267 bits available, equivalent to a momentary bitrate of 316 kbps for one frame, but if used completely, no reservoir would be available to the very next frame, restricting that frame to 4179 bits (160 kbps), even if the psymodel deems that more than this is desirable. This limits the ability to cope with sustained passages of complex sound, but often proves adequate to cope with brief transients such as percussive sounds without setting the constant bitrate to, say, 320 kbps throughout the file.&lt;br /&gt;
&lt;br /&gt;
With [[VBR]], the encoder can choose the needed framesize for each moment, again as defined by the psymodel and the quality settings. So VBR (e.g. in [[LAME]]) doesn&#039;t use bit reservoir nearly as much, but still may do so to collect bits that would otherwise be wasted to fill an available framesize. For example, our example frame requiring 3056 bits (117 kbps) might be stored in a 3343 bit frame (128 kbps) and donate the extra 287 bits to the reservoir, or it might be stored in a 2925 bit frame (112 kbps) using 131 bits from the existing bit reservoir from preceding frames to make up the shortfall.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Original_ReplayGain_specification&amp;diff=22890</id>
		<title>Original ReplayGain specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Original_ReplayGain_specification&amp;diff=22890"/>
		<updated>2011-07-29T08:18:06Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Replay gain */ minor typo &amp;#039;This single can be used...&amp;#039; to &amp;#039;This single gain can be used&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Although music is encoded to a digital format with a clearly defined maximum peak amplitude, and although most recordings are normalized to utilize this peak amplitude, not all recordings sound equally loud. This is because once this peak amplitude is reached, perceived loudness can be further increased through signal-processing techniques such as dynamic range compression and equalization.&amp;lt;ref&amp;gt;Source: Wikipedia - [http://en.wikipedia.org/wiki/Loudness_war Loudness war]&amp;lt;/ref&amp;gt; Therefore, the loudness of a given album has more to do with the year of issue or the whim of the producer than the intended emotional effect. Because of this, a random play through a music collection can have one leaping for the volume control every other track.&lt;br /&gt;
&lt;br /&gt;
There is a solution to this annoyance: within each audio file, information can be stored about what volume change would be required to play each track or album at a standard loudness, and players can use this &amp;quot;replay gain&amp;quot; information to automatically nudge the volume up or down as required.&lt;br /&gt;
&lt;br /&gt;
The ReplayGain specification is a standard which defines an appropriate reference level, explains a way of calculating and representing the ideal replay gain for a given track or album, and provides guidance for players to make the required volume adjustment during playback. The standard also specifies a means to prevent clipping when the calculated replay gain exceeds the limits of digital audio, and it describes how the replay gain information is stored within audio files.&lt;br /&gt;
&lt;br /&gt;
==Loudness measurement==&lt;br /&gt;
Loudness is a subjective measure of the intensity of sound. The correlation of perceived loudness to sound pressure level is determined by the peculiarities of the auditory system. ReplayGain attempts to model those peculiarities with the following measurement procedure.&lt;br /&gt;
&lt;br /&gt;
===Loudness filter===&lt;br /&gt;
[[File:RG_Equal_loudness_all.gif‎|frame|Figure 1: Loudness filter target response (blue), high-pass response (green) and composite response (red)]]&lt;br /&gt;
&lt;br /&gt;
The human ear does not perceive sounds of all frequencies as having equal loudness. For example, a full-scale sine wave at 1 kHz sounds much louder than a full scale sine wave at 100 Hz, even though the two have identical energy. To account for this, the signal is filtered by an inverted approximation of the equal loudness curves (sometimes referred to as Fletcher&amp;amp;ndash;Munson curves) which describe the sensitivity of the ear as a function of frequency. The desired filter response derived from the equal loudness curves is shown in figure 1 (blue).&lt;br /&gt;
&lt;br /&gt;
At higher frequencies a 10th order IIR filter designed by MATLAB&#039;s &amp;quot;yulewalk&amp;quot; function is an excellent approximation to the target. This is cascaded with a 2nd order Butterworth high pass filter, with a high pass frequency of 150 Hz (Figure 1 [green]). The resulting combined response (Figure 1 [red]) is close to the target response, and is used by ReplayGain.&lt;br /&gt;
&lt;br /&gt;
[[File:RG_IIR-filter.png|frame|Figure 2: IIR filter topology used by &amp;quot;yulewalk&amp;quot; and Butterworth filter components]]&lt;br /&gt;
&lt;br /&gt;
The filter topology used for the components of the loudness filter is shown in figure 2. The filter coefficients for 48 and 44.1&amp;amp;nbsp;kHz sample rates are given for the Butterworth and &amp;quot;yulewalk&amp;quot; components in tables 1 and 2 respectively. When using other sample rates, coefficients must be transformed to maintain the same filter response.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Table 1a: Butterworth filter coefficients (F&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;=48&amp;amp;nbsp;kHz)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &#039;&#039;b(0)&#039;&#039;&lt;br /&gt;
| 0.98621192462708&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(1)&#039;&#039; || 1.97223372919527 || &#039;&#039;b(1)&#039;&#039; || -1.97242384925416&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(2)&#039;&#039; || -0.97261396931306 || &#039;&#039;b(2)&#039;&#039; || 0.98621192462708&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Table 1b: Butterworth filter coefficients (F&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;=44.1&amp;amp;nbsp;kHz)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &#039;&#039;b(0)&#039;&#039;&lt;br /&gt;
| 0.98500175787242&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(1)&#039;&#039; || 1.96977855582618 || &#039;&#039;b(1)&#039;&#039; || -1.97000351574484&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(2)&#039;&#039; || -0.97022847566350 || &#039;&#039;b(2)&#039;&#039; || 0.98500175787242&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Table 2a: &amp;quot;Yulewalk&amp;quot; filter coefficients (F&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;=48&amp;amp;nbsp;kHz)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &#039;&#039;b(0)&#039;&#039;&lt;br /&gt;
| 0.03857599435200&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(1)&#039;&#039; || 3.84664617118067 || &#039;&#039;b(1)&#039;&#039; || -0.02160367184185&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(2)&#039;&#039; || -7.81501653005538 || &#039;&#039;b(2)&#039;&#039; || -0.00123395316851&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(3)&#039;&#039; || 11.34170355132042 || &#039;&#039;b(3)&#039;&#039; || -0.00009291677959&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(4)&#039;&#039; || -13.05504219327545 || &#039;&#039;b(4)&#039;&#039; || -0.01655260341619&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(5)&#039;&#039; || 12.28759895145294 || &#039;&#039;b(5)&#039;&#039; || 0.02161526843274&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(6)&#039;&#039; || -9.48293806319790 || &#039;&#039;b(6)&#039;&#039; || -0.02074045215285&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(7)&#039;&#039; || 5.87257861775999 || &#039;&#039;b(7)&#039;&#039; || 0.00594298065125&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(8)&#039;&#039; || -2.75465861874613 || &#039;&#039;b(8)&#039;&#039; || 0.00306428023191&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(9)&#039;&#039; || 0.86984376593551 || &#039;&#039;b(9)&#039;&#039; || 0.00012025322027&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(10)&#039;&#039; || -0.13919314567432 || &#039;&#039;b(10)&#039;&#039; || 0.00288463683916&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Table 2b: &amp;quot;Yulewalk&amp;quot; filter coefficients (F&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;=44.1&amp;amp;nbsp;kHz)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &#039;&#039;b(0)&#039;&#039;&lt;br /&gt;
| 0.05418656406430&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(1)&#039;&#039; || 3.47845948550071 || &#039;&#039;b(1)&#039;&#039; || -0.02911007808948&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(2)&#039;&#039; || -6.36317777566148 || &#039;&#039;b(2)&#039;&#039; || -0.00848709379851&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(3)&#039;&#039; || 8.54751527471874 || &#039;&#039;b(3)&#039;&#039; || -0.00851165645469&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(4)&#039;&#039; || -9.47693607801280 || &#039;&#039;b(4)&#039;&#039; || -0.00834990904936&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(5)&#039;&#039; || 8.81498681370155 || &#039;&#039;b(5)&#039;&#039; || 0.02245293253339&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(6)&#039;&#039; || -6.85401540936998 || &#039;&#039;b(6)&#039;&#039; || -0.02596338512915&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(7)&#039;&#039; || 4.39470996079559 || &#039;&#039;b(7)&#039;&#039; || 0.01624864962975&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(8)&#039;&#039; || -2.19611684890774 || &#039;&#039;b(8)&#039;&#039; || -0.00240879051584&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(9)&#039;&#039; || 0.75104302451432 || &#039;&#039;b(9)&#039;&#039; || 0.00674613682247&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(10)&#039;&#039; || -0.13149317958808 || &#039;&#039;b(10)&#039;&#039; || -0.00187763777362&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Input samples from the audio file to be analysed must be run in cascade manner through both of these filter components before being analysed further.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===RMS level calculation===&lt;br /&gt;
Next, the energy during each moment of the signal is determined by calculating the Root Mean Square (RMS) of the filtered signal every 50ms.&amp;lt;ref&amp;gt;The block length of 50ms was chosen after studying the effect of values between 25ms and 1s. 25ms was too short to accurately reflect the perceived loudness of some sounds. Beyond 50ms there was little change (after statistical processing). For this reason, 50ms was chosen.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The signal is chopped into 50ms long blocks. Then, for each block:&amp;lt;ref&amp;gt;If these steps are read backward, it should be clear why the process is called Root Mean Square averaging.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Every sample value is squared (multiplied by itself).&lt;br /&gt;
# The mean average is taken.&lt;br /&gt;
# The square root of the average is calculated.&lt;br /&gt;
&lt;br /&gt;
For stereo signals, in step 3, the mean average of all squared samples from both channels over the 50ms measurement interval is taken.&amp;lt;ref&amp;gt;One could sum channels of a stereo signal to mono before calculating the RMS level, but then any out-of-phase components (having the opposite signal on each channel) would cancel out to zero (i.e. silence). That&#039;s not how humans perceive them, so it&#039;s not a good solution.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result of this calculation is then converted to a decibel representation as follows:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;L=20 \log_{10} \frac{2{L_{RMS}}}{L_{p-p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;L_{RMS}&amp;lt;/math&amp;gt; is the RMS value calculated above&lt;br /&gt;
:&amp;lt;math&amp;gt;L_{p-p}&amp;lt;/math&amp;gt; is the maximum peak-to-peak range of the samples in the audio file&lt;br /&gt;
&lt;br /&gt;
===Statistical processing===&lt;br /&gt;
Where the average energy level of a signal varies with time, the louder moments contribute most to perception of overall loudness. For example, in human speech, over half the time is silence, but the perceived loudness of speech is primarily determined by the levels between silences.&lt;br /&gt;
&lt;br /&gt;
A good method to determine the overall perceived loudness is to sort the RMS values into numerical order, and then pick a value near the top of the list. For highly compressed pop music (e.g. Figure 5(c), where there are many values near the top), the choice makes little difference. For speech and classical music (Figures 5(a) and 5(b) respectively), the choice makes a huge difference. The value which most accurately matches human perception of perceived loudness is 95%,&amp;lt;ref&amp;gt;Based on experiments performed by David Robinson, &amp;quot;I tried values from 70% to 95%. For highly compressed pop music, the choice makes little difference. For speech and classical music, the choice makes a huge difference. The value which most accurately matches human perception of perceived loudness is around 95%, so this value is used by Replay Level.&amp;quot;&amp;lt;/ref&amp;gt; so this value is used by ReplayGain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Figure 5: Loudness histograms&amp;quot;&amp;gt;&lt;br /&gt;
File:RG_Statistical_speech.gif‎‎|(a) Speech&lt;br /&gt;
File:RG_Statistical_classic.gif‎‎|(b) Classical music&lt;br /&gt;
File:RG_Statistical_pop.gif‎‎|(c) Pop music&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference level==&lt;br /&gt;
The audio industry does not have a standard for playback system calibration, but in the movie industry a calibration standard has been defined by the Society of Motion Picture and Television Engineers (SMPTE).&amp;lt;ref&amp;gt;SMPTE RP 200:2002 &amp;amp;ndash; Relative and Absolute Sound Pressure Levels for Motion-Picture Multichannel Sound Systems &amp;amp;ndash; Applicable for Analog Photographic Film Audio, Digital Photographic Film Audio and D-Cinema&amp;lt;/ref&amp;gt; The standard states that a single channel pink noise signal with an RMS level of -20 dB relative to a full-scale sinusoid&amp;lt;ref&amp;gt;&amp;quot;dB relative to a full-scale sinusoid&amp;quot; is preferred over &amp;quot;dBFS&amp;quot; as a unit of measure in this specification because there is some ambiguity whether the reference for dBFS is a full-scale square wave (peak reference) or a sine wave (RMS reference).&amp;lt;/ref&amp;gt; should be reproduced at 83 dB SPL.&amp;lt;ref&amp;gt;Measured using a C-weighted, slow averaging SPL meter.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ReplayGain adapts the SMPTE calibration concept for music playback. Under ReplayGain, audio is played so that its loudness, as measured using the procedures described in [[#Loudness measurement|Loudness measurement]] above, matches the loudness of a pink noise signal with an RMS level of -14 dB relative to a full-scale sinusoid,&amp;lt;ref&amp;gt;The initial ReplayGain proposal used the same -20 dB reference used by SMPTE. The reference was raised to -14 dB early on in ReplayGain development. This reference is used in all current ReplayGain implementations.&amp;lt;/ref&amp;gt; also measured using the procedures described above.&lt;br /&gt;
&lt;br /&gt;
In ReplayGain implementations, the reference level is described in terms of the SMPTE SPL playback level. By the SMPTE definition, the 83 dB SPL reference corresponds to -20FS dB system headroom. The -14 dB headroom used by ReplayGain therefore corresponds to an 89 dB SPL playback level on a SMPTE calibrated system and so is said to be operating with an 89 dB reference level.&lt;br /&gt;
&lt;br /&gt;
SMPTE cinema calibration calls for a single channel of pink noise reproduced through a single loudspeaker. In music applications, the ideal level of the music is actually the loudness when both speakers are in use. So, ReplayGain is calibrated to two channels of pink noise.&amp;lt;ref&amp;gt;In reality, a monophonic pink noise wave file is used, and ReplayGain automatically assumes the file is being played through both speakers, as would any monophonic file.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gain calculation==&lt;br /&gt;
RG achieves loudness compensated playback by applying gain (or attenuation) dependent on the measured loudness of the audio file relative to the established reference level. The gain is calculated as follows:&lt;br /&gt;
:&amp;lt;math&amp;gt;RG=L_{n14}-L&amp;lt;/math&amp;gt;&lt;br /&gt;
Where all quantities are expressed in decibels:&lt;br /&gt;
:&amp;lt;math&amp;gt;RG&amp;lt;/math&amp;gt; is the replay gain adjustment,&lt;br /&gt;
:&amp;lt;math&amp;gt;L_{n14}&amp;lt;/math&amp;gt; is the measured loudness of the -14 dB pink noise reference and&lt;br /&gt;
:&amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; is the measured loudness of the audio file.&lt;br /&gt;
&lt;br /&gt;
Replay gain is positive if the loudness of the audio file is lower than the pink noise reference. The gain is negative (representing an attenuation) if the loudness of the audio file is higher than that of the reference. The gain is stored as metadata with the audio file as described below and is used by players to adjust output volume of tracks as they are played as described in [[#Player requirements|Player requirements]] below.&lt;br /&gt;
&lt;br /&gt;
==Metadata==&lt;br /&gt;
For ReplayGain to do its work during playback, four values must be stored as metadata&amp;lt;ref&amp;gt;Metadata is &amp;quot;data about data.&amp;quot; For example, the ID3 &#039;&#039;de facto&#039;&#039; standard provides a way to store artist, title, album title, track number, and other metadata in data blocks called &amp;quot;tags&amp;quot; immediately before or after the audio data in an MP3 file. Other metadata storage/tagging standards and conventions exist for other audio file formats.&amp;lt;/ref&amp;gt; with or within the audio file:&lt;br /&gt;
# Peak track amplitude&lt;br /&gt;
# Peak album amplitude&lt;br /&gt;
# Track replay gain&lt;br /&gt;
# Album replay gain&lt;br /&gt;
&lt;br /&gt;
If calculated for an individual track, the loudness measurement (as specified above) yields track replay gain. If calculated on an album basis, with all tracks concatenated to make one long audio file, the loudness measurement yields album replay gain.&lt;br /&gt;
&lt;br /&gt;
===Replay gain===&lt;br /&gt;
Under some listening conditions, it&#039;s useful to have every track sound equally loud. The problem with a track-by-track approach is that tracks which should be quiet in the context of the album on which they reside will be brought up to the level of all the rest. For casual listening, or in a noisy background, this can be a good thing. For serious listening, it does not respect the intent of the artist or mastering engineer; a tender ballad track will be blasting at the same loudness as a hard rock track on the same album. It&#039;s generally ideal to leave the intentional loudness differences between tracks in place, yet still correct for unmusical and annoying loudness differences between albums. To accomplish this, ReplayGain suggests that two different gain adjustments should be stored as metadata with each sound file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Album replay gain&#039;&#039; represents the ideal listening gain for an entire album. ReplayGain reads the collection of tracks that comprise a album, and calculates a single replay gain for the whole set. This single gain can be used for playback of all tracks of the album. Intentionally quiet tracks then stay appropriately quieter than the rest. It still solves the basic problem (annoying, unwanted level differences between discs) because quiet or loud discs are still adjusted overall&amp;amp;mdash;so the pop CD that&#039;s 20 dB louder than the classical CD will be brought into line.&lt;br /&gt;
&lt;br /&gt;
===Peak amplitude===&lt;br /&gt;
Scanning a track or album for the peak amplitude can be a time-consuming process. Therefore, it&#039;s helpful if this single value is stored as metadata. This is used to predict whether the required replay gain adjustment will cause clipping during playback.&lt;br /&gt;
&lt;br /&gt;
The maximum peak amplitude value is stored as a floating point number, where 1.0 represents digital full scale. As with replay gain values, separate peak amplitude values are stored per track and per album.&lt;br /&gt;
&lt;br /&gt;
For uncompressed files simply, scanners store the maximum absolute sample value held in the file on any channel for positive or negative excursion. The single sample value should be converted to a floating-point representation, such that digital full scale is equivalent to a value of 1.0.&lt;br /&gt;
&lt;br /&gt;
Psychoacoustically coded audio, such as MP3, does not exist as a sequence of samples until it is decoded. Psychoacoustic coding of a heavily limited file can lead to sample values larger than digital full scale upon decoding. The coded files must be decoded using a fully compliant decoder that allows peak overflows (i.e. has headroom) and may result in peak amplitude values greater than 1.0.&lt;br /&gt;
&lt;br /&gt;
==Metadata format==&lt;br /&gt;
From the standpoint of metadata storage, each audio file format presents a unique situation. There are three favored schemes defined for storage of ReplayGain metadata: &#039;&#039;&#039;ID3v2&#039;&#039;&#039;, &#039;&#039;&#039;Vorbis comments&#039;&#039;&#039; and &#039;&#039;&#039;APEv2&#039;&#039;&#039;. A survey of file formats is listed below with metadata schemes in order of preference for each:&lt;br /&gt;
* .aac (Advanced Audio Coding raw format) &amp;amp;ndash; No metadata support (use .mp4 instead)&lt;br /&gt;
* .aiff, .aif, .aifc (Apple Interchange File Format) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039; (in &amp;quot;ID3&amp;quot; IFF chunk)&lt;br /&gt;
* .ape, .apl (Monkey&#039;s Audio) &amp;amp;ndash; &#039;&#039;&#039;APEv2&#039;&#039;&#039;&lt;br /&gt;
* .bwf (Broadcast Wave Format) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039; (in RIFF chunk)&lt;br /&gt;
* .flac (Free Lossless Audio Codec) &amp;amp;ndash; &#039;&#039;&#039;Vorbis comments&#039;&#039;&#039;&lt;br /&gt;
* .mp3 (MPEG audio layer 3) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039;, LAME VBR proposed tag specification&lt;br /&gt;
* .mp4 also .m4a, .m4b, .m4p, m4r (MPEG-4 Part 14) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039; (in &amp;quot;ID32&amp;quot; box)&lt;br /&gt;
* .mpc (Musepack) &amp;amp;ndash; &#039;&#039;&#039;APEv2&#039;&#039;&#039;&lt;br /&gt;
* .ogg (Ogg Vorbis) &amp;amp;ndash; &#039;&#039;&#039;Vorbis comments&#039;&#039;&#039;&lt;br /&gt;
* .tta (True Audio) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039;, &#039;&#039;&#039;APEv2&#039;&#039;&#039;&lt;br /&gt;
* .wma (Windows Media audio) - Advanced Systems Format (not supported by ReplayGain)&lt;br /&gt;
* .wav (Windows PCM) &amp;amp;ndash; No metadata support (use .bwf instead)&lt;br /&gt;
* .wv (WavePak) &amp;amp;ndash; &#039;&#039;&#039;APEv2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===ID3v2===&lt;br /&gt;
The ID3v2 standard&amp;lt;ref&amp;gt;The ID3v2 format is explained at [http://www.id3.org/ www.id3.org]. The most useful document is the [http://www.id3.org/id3v2.3.0.html ID3v2 v2.3.0 standard]. Although this document has been superseded by v2.4.0, the earlier document is complete (rather than an update), and in indexed HTML form. As such, it represents a better technical introduction to ID3v2.&amp;lt;/ref&amp;gt; defines a &#039;&#039;tag&#039;&#039; which is situated before the data in an MP3 file.&amp;lt;ref&amp;gt;The original ID3 (v1) tags resided at the end of the file, and contained a few fields of information. The ID3v1 tag is not extensible and therefore cannot support ReplayGain metadata.&amp;lt;/ref&amp;gt; ID3 is used primarily with MP3 audio files but means of adapting the system to other file types have been developed.&lt;br /&gt;
&lt;br /&gt;
The ID3v2 tag is divided into &#039;&#039;frames&#039;&#039;. The preferred means of storing ReplayGain metadata is use of &#039;&#039;TXXX&#039;&#039; key/value pair frames. Two other legacy schemes for storing ReplayGain metadata exist: [[ReplayGain_legacy_metadata_formats#ID3v2_RGAD|RGAD]] and [[ReplayGain_legacy_metadata_formats#ID3v2_RVA2|RVA2]]. These formats are documented in the [[ReplayGain legacy metadata formats|appendix]]. Players may choose to look for these formats if metadata in the &#039;&#039;TXXX&#039;&#039; format is not found in the ID3v2 tag. New scanners may write these older formats in addition to the newer (TXXX) ones if they wish to remain backwards compatible with older players.&lt;br /&gt;
&lt;br /&gt;
ReplayGain uses four TXXX frames. The header of a TXXX frame is coded as follows:&lt;br /&gt;
&lt;br /&gt;
 Frame ID       $54 58 58 58 (&amp;quot;TXXX&amp;quot;) &lt;br /&gt;
 Size           $xx xx xx xx (size of frame excluding this header)&lt;br /&gt;
 Flags          $40 $00      (discard frame if audio data is altered)&lt;br /&gt;
&lt;br /&gt;
Frame data is coded as follows:&lt;br /&gt;
&lt;br /&gt;
 Text encoding  $00          (ISO-8859-1 encoding)&lt;br /&gt;
 Description    &amp;lt;key string&amp;gt; $00&lt;br /&gt;
 Value          &amp;lt;value string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The four frames associated with ReplayGain metadata use the following key/value pairs&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Metadata keys and value formatting&lt;br /&gt;
|-&lt;br /&gt;
!Metadata&lt;br /&gt;
!Key&lt;br /&gt;
!Value format&lt;br /&gt;
|-&lt;br /&gt;
|Track replay gain&lt;br /&gt;
|REPLAYGAIN_TRACK_GAIN&lt;br /&gt;
|[-]a.bb dB&lt;br /&gt;
|-&lt;br /&gt;
|Peak track amplitude&lt;br /&gt;
|REPLAYGAIN_TRACK_PEAK&lt;br /&gt;
|c.dddddd&lt;br /&gt;
|-&lt;br /&gt;
|Album replay gain&lt;br /&gt;
|REPLAYGAIN_ALBUM_GAIN&lt;br /&gt;
|[-]a.bb dB&lt;br /&gt;
|-&lt;br /&gt;
|Peak album amplitude&lt;br /&gt;
|REPLAYGAIN_ALBUM_PEAK&lt;br /&gt;
|c.dddddd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Gains are specified textually in decibels. Negative gains (attenuation) are prefixed with a &#039;-&#039;. Positive gains have no prefix. Integral portion of the gain (a) may be one or two numeric (0-9) digits. If there is no integral portion the field is &#039;0&#039;. The decimal portion of the gain (bb) is two numeric digits. Gains are suffixed with a space followed by &#039;dB&#039;.&lt;br /&gt;
&lt;br /&gt;
Peak levels are specified textually as a positive decimal. Peak level is a dimensionless quantity with 1.000000 representing full scale. No suffix is included on peak values. The integer field (c) is typically 1 or 0. Six numeric digits in the decimal field (dddddd) is adequate to accurately represent peak values for 16-bit audio data.&lt;br /&gt;
&lt;br /&gt;
A robust player should be prepared to parse the following variations in either replay gain or peak level metadata:&lt;br /&gt;
*Positive gains with leading &#039;+&#039;&lt;br /&gt;
*More or fewer significant digits than specified in any field&lt;br /&gt;
*Leading zeros or spaces in integer fields&lt;br /&gt;
*Missing or malformed &#039;dB&#039; suffix (e.g. no space between numeric digits and suffix, alternate capitalization)&lt;br /&gt;
*Alternate capitalization of keys&lt;br /&gt;
&lt;br /&gt;
Other formatting errors indicate more severe problems and should result in player ignoring data as if the frame did not exist.&lt;br /&gt;
&lt;br /&gt;
===Vorbis comments===&lt;br /&gt;
A Vorbis comment&amp;lt;ref&amp;gt;[http://www.xiph.org/vorbis/doc/v-comment.html Vorbis comment metadata format]. ReplayGain metadata is documented on the [http://wiki.xiph.org/VorbisComment#Replay_Gain Xiph Wiki].&amp;lt;/ref&amp;gt; uses an ASCII &amp;lt;tt&amp;gt;key=value&amp;lt;/tt&amp;gt; format. When Vorbis comments are used, the four ReplayGain metadata items are stored as separate comments. The &#039;&#039;keys&#039;&#039; and formatting for &#039;&#039;values&#039;&#039; is the same as specified for ID3v2. Keys and values are required by the Vorbis comment specification to b separated by &#039;=&#039; (equal character).&lt;br /&gt;
&lt;br /&gt;
===APEv2===&lt;br /&gt;
The APEv2 metadata format&amp;lt;ref&amp;gt;[http://wiki.hydrogenaudio.org/index.php?title=APEv2_specification APEv2 Specification at Hydrogen Audio Wiki]&amp;lt;/ref&amp;gt; also organizes data into key/value pairs. Keys are ASCII format. A flags field allows support for several value formats including UTF-8 and binary. Under APEv2, ReplayGain meta data is stored using the same keys and data as ASCII values in the same format as specified for ID3v2.&lt;br /&gt;
&lt;br /&gt;
==Player requirements==&lt;br /&gt;
[[File:RG_Player_control.gif‎|frame|Figure 8: Example ReplayGain control panel]]&lt;br /&gt;
&lt;br /&gt;
Loudness normalization, pre-amplification and clipping prevention are the operations performed by a ReplayGain player.&lt;br /&gt;
&lt;br /&gt;
===Loudness normalization===&lt;br /&gt;
To properly normalize loudness, the player needs to determine if the user desires Track style level normalization (all tracks same loudness), or Album style level normalization (all albums same loudness, tracks of an album played at the same relative level as on the original release). This option should be selectable in the ReplayGain control panel (Figure 8). The player reads the corresponding gain metadata value from the file and scales the audio data as appropriate. Scaling the audio data simply means multiplying each sample value by a constant value. This constant is given by:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;10^\frac{gain}{20}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or, in words, replay gain divided by 20 all raised to the power of ten.&amp;lt;ref&amp;gt;After any such operation, it&#039;s a good idea to dither the result. If this calculation and the pre-amp are implemented separately, then dither should only be added to the final result, just before the result is truncated back to 16 bits, or 24, or 8, as limited by the soundcard&amp;amp;mdash;not the file (i.e. after ReplayGain adjustment, an 8-bit file should be sent to a 16-bit soundcard at 16-bits).&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the file only contains one of the replay gain adjustments (e.g. Album) but the user has requested the other (Track), then the player should use the one that is available (in this case, Album). If neither (Track or Album) gain metadata is available, then the player needs to choose a suitable default gain. Potential choices include unity gain (0 dB) or an average of gains from other tracks in the album or playlist.&lt;br /&gt;
&lt;br /&gt;
===Pre-amplification===&lt;br /&gt;
Although the calibration level used by ReplayGain suggests that the average level of an audio track should be 14 dB below full scale, some pop music is dynamically compressed to peak at 0 dB and average around 3 dB below full scale. This means that, when the replay gain is applied, the level of such tracks will be reduced by 11 dB! If users are listening to a mixture of highly compressed and more dynamic tracks, ReplayGain will make the listening experience more pleasurable by bringing the level of the compressed tracks down into line with that of the others. However, if users are only listening to highly compressed music, then they may complain that all their files are now too quiet.&amp;lt;ref&amp;gt;This problem can be especially noticeable on portable players with limited output or gain.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To address this problem, a pre-amp feature should be incorporated into the player. A user-supplied pre-amp setting is an adjustment to the calculated replay gain. It should default to perform no adjustment. This means that casual users will experience a moderate reduction in the loudness of their compressed pop music. Less-compressed material can generally be played at the same loudness without clipping. Normalization of more dynamic material may cause clipping or invoke the [[#Clipping prevention|clipping prevention]] mechanism (see below). Power users and audiophiles can reduce the pre-amp gain to enjoy the full dynamic range of all of their music.&lt;br /&gt;
&lt;br /&gt;
If enabled, the player should read the user selected pre-amp gain, and scale the audio signal by the appropriate amount. For example, a +6 dB gain requires a scale of 10&amp;lt;sup&amp;gt;6/20&amp;lt;/sup&amp;gt;, which is approximately 2. The replay gain and pre-amp scale factors can be combined&amp;lt;ref&amp;gt;Scale factors in  Decibel units are added to produce the same effect as multiplying scale factors in linear units.&amp;lt;/ref&amp;gt; for simplicity and ease of processing.&lt;br /&gt;
&lt;br /&gt;
===Clipping prevention===&lt;br /&gt;
ReplayGain&#039;s suggestion of a -14 dB average playback level leaves sufficient headroom for the bulk of modern recordings. Nevertheless, there exists the possibility that after application of replay gain and pre-amp adjustment, a track may exceed full scale during its dynamic peaks. Without intervention, this will result in clipping, a severe form of distortion. Factors introducing the possibility of clipping include:&lt;br /&gt;
&lt;br /&gt;
# Recordings from certain genres and certain periods in the history or commercial recordings require additional headroom. Although these recordings can be accommodated through a downwards adjustment of the pre-amp setting, it may be difficult to determine a safe adjustment and it may be undesirable to lower average level to accommodate the rare track which requires it. &lt;br /&gt;
# ReplayGain will make loud dynamically compressed tracks quieter, and quiet dynamically uncompressed tracks louder. The average levels will then be similar, but the quiet tracks will actually have louder peaks. If the user pushes the pre-amp gain upwards the peaks of the (originally) quieter tracks will be pushed well over full scale.&lt;br /&gt;
# In coded audio (e.g. MP3 files) a file that was hard-limited to digital full scale before encoding will often be pushed over the limit by the psychoacoustic compression. A decoder with headroom can recover the over full scale signal by reducing the gain.&lt;br /&gt;
&lt;br /&gt;
ReplayGain suggests two possible solutions which prevent clipping in these situations. A player should support one or both of these.&lt;br /&gt;
&lt;br /&gt;
====Audio limiting====&lt;br /&gt;
In situation 2 above, the user clearly wants all the music to sound very loud. To give them their wish, any signal which would peak above digital full scale should be hard limited at just below digital full scale. This is also useful at lower pre-amp gains, where it allows the average level of classical music to be raised to that of pop music, without distorting. The exact type of nature limiting or compression an implementation choice for the player.&amp;lt;ref&amp;gt;Something like the Hard Limiter found in Cool Edit Pro (Syntrillium) would be appropriate for pop music at least.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reduced gain====&lt;br /&gt;
The audiophile user will not want any compression or limiting on the signal. In this case the only option is to automatically and temporarily reduce the pre-amp gain below the user-selected setting for tracks where clipping would otherwise occur. Clipping can be predicted by examining the peak level of the track or album being played.&lt;br /&gt;
&lt;br /&gt;
The player must read the peak amplitude metadata. If peak level metadata is unavailable, the player should assume a peak level of 1.0. If the peak level for both track and album is stored as metadata in the file, it is possible to calculate if, following the replay gain adjustment and pre-amp gain, the signal will clip at some point. If it won&#039;t, then no further action is necessary. &lt;br /&gt;
&lt;br /&gt;
An overall scale factor for loudness normalization taking into account replay gain, pre-amp setting and clipping prevention through gain reduction is given below.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;min( 10^\frac{RG + G_{pre-amp}}{20}, \frac{1}{peak amplitude} )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware implementation===&lt;br /&gt;
The above three steps are appropriate to software players operating on the digital signal in order to scale it. However, it is possible to send the digital signal to the DAC without level correction, and to place an attenuator in the analogue signal path. The attenuator can then be driven by the Replay Gain value. The clipping problem can be addressed by providing adequate headroom in the analog circuitry. Bit transparency and maximum signal to noise ratio is maintained in the digital signal and DAC process.&amp;lt;ref&amp;gt;A system using today&#039;s 24-bit converters is unlikely to appreciate any overall gain in system performance with such an arrangement. A digitally-controlled analog gain element typically introduces significant noise and distortion.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
The [http://replaygain.hydrogenaudio.org/proposal original ReplayGain proposal] (an [http://replay.waybackmachine.org/20090306202649/http://www.replaygain.org/ archive] is also available) was developed by David Robinson and was published 10 July 2001. Additional updates were published by David Robinson through 10 October 2001.&lt;br /&gt;
&lt;br /&gt;
The following acknowledgement was included with the original proposal, &amp;quot;The algorithm to calculate an ideal replay gain has grown from my research into human hearing, with many additional ideas drawn from the work of E. Zwicker, and Brian Moore. I am currently completing my PhD at the University of Essex, and have been funded by the EPSRC.&amp;quot; Additionally David Robinson credited Glen Sawyer (Snelg) and Jim Casaburi (Walrus) for software contributions and Bob Katz and Matt Ashland for ideas.&lt;br /&gt;
&lt;br /&gt;
This updated ReplayGain specification reflecting current and recommended practice was prepared by Kevin Gross in 2011.&lt;br /&gt;
&lt;br /&gt;
==Contact==&lt;br /&gt;
For ReplayGain-related questions or contributions, please post in the [http://www.hydrogenaudio.org/forums/index.php?showforum=1 General Audio] section of the Hydrogen Audio forums.&lt;br /&gt;
 &lt;br /&gt;
==Appendix==&lt;br /&gt;
# [[ReplayGain legacy metadata formats]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=19353</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=19353"/>
		<updated>2008-12-18T20:02:37Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: Modified &amp;quot;website&amp;quot; link in Software Infoxbox to version 1.1.0 release thread instead of 1.0.0 (which is out of date and doesn&amp;#039;t support the --stdout features needed for EAC anf FB2K integration)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.1.0b&lt;br /&gt;
| preview_release = 1.1.1e&lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=64666&amp;amp;view=findpost&amp;amp;p=577042 Hydrogenaudio]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a new free lossy pre-processor for [[PCM]] audio contained in the [[WAV]] file format. Proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson], it reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression. &lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyWAV is based on the lossyFLAC idea proposed by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 David Robinson] at Hydrogenaudio, which is a method of carefully reducing the bitdepth of samples, therefore utilising the wasted bits feature of the FLAC lossless codec. The aim is to transparently reduce audio bit depth (by making some lower significant bits (lsb&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick Currie] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 Horst Albrecht] at Hydrogenaudio. Although the current lossyWAV implementation has built on David&#039;s original method, the method itself still very much belongs to its author.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure variable bit-depth pre-processor in that the overall sample size remains the same after processing but the number of significant bits used for the samples in a codec-block can change on a block-by-block basis. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 &amp;amp; 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds [[Wikipedia:white noise|white noise]] to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set (16 bit / 44.1kHz)&lt;br /&gt;
!Codec&lt;br /&gt;
!lossless&lt;br /&gt;
!--insane&lt;br /&gt;
!--extreme&lt;br /&gt;
!--standard&lt;br /&gt;
!--portable&lt;br /&gt;
!-q 0&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| TAK&lt;br /&gt;
| 820 kbit/s&lt;br /&gt;
| 615 kbit/s&lt;br /&gt;
| 532 kbit/s&lt;br /&gt;
| 447 kbit/s&lt;br /&gt;
| 359 kbit/s&lt;br /&gt;
| 266 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| FLAC&lt;br /&gt;
| 854 kbit/s&lt;br /&gt;
| 632 kbit/s&lt;br /&gt;
| 548 kbit/s&lt;br /&gt;
| 463 kbit/s&lt;br /&gt;
| 376 kbit/s&lt;br /&gt;
| 285 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!10 Album Test Set&lt;br /&gt;
| Wavpack&lt;br /&gt;
| 852 kbit/s&lt;br /&gt;
| 641 kbit/s&lt;br /&gt;
| 563 kbit/s&lt;br /&gt;
| 481 kbit/s&lt;br /&gt;
| 390 kbit/s&lt;br /&gt;
| 296 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length &#039;fact&#039; chunk into the WAV file immediately after the &#039;fmt &#039; chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV &#039;fact&#039; chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The -check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*--insane: (-q 10) Highest quality preset, generally considered to be excessive;&lt;br /&gt;
*--extreme: (-q 7.5) High quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*--standard: (-q 5) Default preset, generally accepted to be transparent;&lt;br /&gt;
*--portable: (-q 2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]]. [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
&lt;br /&gt;
All tuning has been performed on quality preset --standard with higher presets being more conservative. Quality preset --standard is generally accepted to be (and from testing so far is) transparent. If you find a track which --standard fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
===Important note===&lt;br /&gt;
&#039;&#039;&#039;NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the &amp;quot;Encoder Parameters&amp;quot; in the table above to the command line of the lossless codec in question.&#039;&#039;&#039;&lt;br /&gt;
===Bonus feature===&lt;br /&gt;
Another, possibly not obvious, feature of lossyWAV is that the processed output can be &amp;quot;transcoded&amp;quot; from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.1.0, Copyright (C) 2007,2008 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-I, --insane        highest quality output, suitable for transcoding;&lt;br /&gt;
-E, --extreme       high quality output, also suitable for transcoding;&lt;br /&gt;
-S, --standard      default quality output, considered to be transparent;&lt;br /&gt;
-P, --portable      good quality output for DAP use. Not considered to be fully&lt;br /&gt;
                    transparent, but considered fit for its intended purpose.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-c, --check         check if WAV file has already been processed; default=off.&lt;br /&gt;
                    errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-C, --correction    write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force         forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help          display help.&lt;br /&gt;
-L, --longhelp      display extended help.&lt;br /&gt;
-M, --merge         merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-o, --outdir &amp;lt;t&amp;gt;    destination directory for the output file(s).&lt;br /&gt;
-v, --version       display the lossyWAV version number.&lt;br /&gt;
&lt;br /&gt;
Special thanks:&lt;br /&gt;
&lt;br /&gt;
David Robinson      for the publication of his lossyFLAC method, guidance, and&lt;br /&gt;
                    the motivation to implement the method as lossyWAV.&lt;br /&gt;
Horst Albrecht      for ABX testing, valuable support in tuning the internal&lt;br /&gt;
                    presets, constructive criticism and all the feedback.&lt;br /&gt;
Sebastian Gesemann  for the noise shaping coefficients and help in using them&lt;br /&gt;
                    in the lossyWAV noise shaping implementation.&lt;br /&gt;
Don Cross           for the Complex-FFT algorithm used.&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Example drag&#039;n&#039;drop batch file===&lt;br /&gt;
Simply drag the FLAC files onto this batch file and it will process, recode in FLAC and copy ALL of the tags from the input FLAC file, placing the output lossyFLAC file in the same directory as the input FLAC file. Requires flac.exe and [http://www.synthetic-soul.co.uk/tag/ tag.exe] to be somewhere on the path. &lt;br /&gt;
&amp;lt;pre&amp;gt;@echo off&lt;br /&gt;
:repeat&lt;br /&gt;
if %1.==. goto end&lt;br /&gt;
if exist %1 flac -d %1 --stdout --silent|lossywav - --stdout --standard --stdinname %1|flac - -b 512 -o &amp;quot;%~dpn1.lossy.flac&amp;quot; --silent &amp;amp;&amp;amp; tag --fromfile %1 &amp;quot;%~dpn1.lossy.flac&amp;quot;&lt;br /&gt;
shift&lt;br /&gt;
goto repeat&lt;br /&gt;
:end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example Foobar2000 converter settings===&lt;br /&gt;
lossyFLAC settings:&amp;lt;pre&amp;gt;Encoder: c:\windows\system32\cmd.exe&lt;br /&gt;
Extension : lossy.flac&lt;br /&gt;
Parameters: /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --standard --silent --stdout|&lt;br /&gt;
            c:\&amp;quot;program files&amp;quot;\bin\flac - -b 512 -5 -f -o%d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyTAK settings:&amp;lt;pre&amp;gt;Encoder: c:\windows\system32\cmd.exe&lt;br /&gt;
Extension  : lossy.tak&lt;br /&gt;
Parameters : /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --standard --silent --stdout|&lt;br /&gt;
             c:\&amp;quot;program files&amp;quot;\bin\takc -e -p2m -fsl512 -ihs - %d&lt;br /&gt;
Format is: lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lossyWV settings:&amp;lt;pre&amp;gt;Encoder: c:\windows\system32\cmd.exe&lt;br /&gt;
Extension : lossy.wv&lt;br /&gt;
Parameters: /d /c c:\&amp;quot;program files&amp;quot;\bin\lossywav - --standard --silent --stdout|&lt;br /&gt;
            c:\&amp;quot;program files&amp;quot;\bin\wavpack -hm --blocksize=512 --merge-blocks -i - %d&lt;br /&gt;
Format is : lossless or hybrid&lt;br /&gt;
Highest BPS mode supported: 24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is a known problem within foobar2000 (although more likely to do with cmd.exe itself) when running an executable within the cmd.exe command line from a path which includes spaces. The suggested fix for this is to enclose the element of the path which contains spaces within double quotation marks (&amp;quot;), e.g. c:\&amp;quot;program files&amp;quot;\directory_where_executable_is\executable_name&lt;br /&gt;
&lt;br /&gt;
===Example EAC settings===&lt;br /&gt;
Please see [[EAC and LossyWAV]].&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why is the &amp;quot;.wav&amp;quot; file extension used?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; The &amp;quot;.wav&amp;quot; file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why create a processor which means that I cannot be sure that a lossless file is truly lossless?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; Unless one creates the lossless file personally, one can &#039;&#039;&#039;never&#039;&#039;&#039; be completely sure that the file is indeed lossless. e.g. If a WAV file is encoded to mp3 and then transcoded to a lossless codec, how can this pre-processing be easily determined?&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Do I need to re-process to change lossless codecs?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; At preset --standard, almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact|artifacts]]&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522 Original lossyFLAC thread] - Introduction of the concept by David Robinson (Replay Gain developer) and initial development;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=65499 lossyWAV 1.2.0 Development Thread] - Latest release candidate and beta version in the first post;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 lossyWAV 1.1.0 development thread]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=64617 lossyWAV 1.1.0 release thread] - Release of version 1.1.0 on 12 July 2008;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 lossyWAV Development thread] - Conversion of the original Matlab script to Delphi and evolution of the method;&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0 release thread] - Release of version 1.0.0b on 12 May 2008;&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=18751</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=18751"/>
		<updated>2008-06-15T19:20:06Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Frequently asked questions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.0.0b&lt;br /&gt;
| preview_release = 1.0.1t&lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 Hydrogenaudio]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a new free lossy pre-processor for [[PCM]] audio contained in the [[WAV]] file format. It reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression. &lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyFLAC is an idea started by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 2Bdecided] at Hydrogenaudio, utilising the wasted bits feature of the FLAC lossless codec with the aim of transparently reducing audio bit depth (making some lower significant bits (LSB&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick.C has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 halb27] at Hydrogenaudio.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure [[Wikipedia:variable bitrate|variable bitrate]] pre-processor. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[Wikipedia:fast Fourier transform|fast Fourier Transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 32, 64 &amp;amp; 1024 [[Wikipedia:Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds [[Wikipedia:white noise|white noise]] to the output, however the level of the added noise associated with the removal of a number of bits has been pre-calculated and the number of bits to remove will depend on the level of the noise floor of the codec-block in question. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set&lt;br /&gt;
!Version&lt;br /&gt;
!FLAC -8&lt;br /&gt;
!-q 10&lt;br /&gt;
!-q 9&lt;br /&gt;
!-q 8&lt;br /&gt;
!-q 7&lt;br /&gt;
!-q 6&lt;br /&gt;
!-q 5&lt;br /&gt;
!-q 4&lt;br /&gt;
!-q 3&lt;br /&gt;
!-q 2&lt;br /&gt;
!-q 1&lt;br /&gt;
!-q 0&lt;br /&gt;
|-&lt;br /&gt;
!53 sample &amp;quot;problem&amp;quot; set&lt;br /&gt;
| 1.0.0b&lt;br /&gt;
| 784 kbit/s&lt;br /&gt;
| 654 kbit/s&lt;br /&gt;
| 626 kbit/s&lt;br /&gt;
| 596 kbit/s&lt;br /&gt;
| 565 kbit/s&lt;br /&gt;
| 534 kbit/s&lt;br /&gt;
| 501 kbit/s&lt;br /&gt;
| 470 kbit/s&lt;br /&gt;
| 447 kbit/s&lt;br /&gt;
| 408 kbit/s&lt;br /&gt;
| 366 kbit/s&lt;br /&gt;
| 329 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set&lt;br /&gt;
!Version&lt;br /&gt;
!FLAC -8&lt;br /&gt;
!--insane&lt;br /&gt;
!--extreme&lt;br /&gt;
!--standard&lt;br /&gt;
!--portable&lt;br /&gt;
!-q 0&lt;br /&gt;
|-&lt;br /&gt;
!55 sample &amp;quot;problem&amp;quot; set&lt;br /&gt;
| 1.0.1t&lt;br /&gt;
| 780 kbit/s&lt;br /&gt;
| 656 kbit/s&lt;br /&gt;
| 583 kbit/s&lt;br /&gt;
| 508 kbit/s&lt;br /&gt;
| 425 kbit/s&lt;br /&gt;
| 321 kbit/s&lt;br /&gt;
|-&lt;br /&gt;
!10 album test set&lt;br /&gt;
| 1.0.1t&lt;br /&gt;
| 854 kbit/s&lt;br /&gt;
| 632 kbit/s&lt;br /&gt;
| 548 kbit/s&lt;br /&gt;
| 462 kbit/s&lt;br /&gt;
| 376 kbit/s&lt;br /&gt;
| 285 kbit/s&lt;br /&gt;
|}&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the --merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length &#039;fact&#039; chunk into the WAV file immediately after the &#039;fmt &#039; chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV &#039;fact&#039; chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The -check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*-q 10 to -q 8: Highest quality presets, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*-q 7 to -q 6: High quality presets, disc space-saving alternative to lossless archiving for large audio collections;&lt;br /&gt;
*-q 5: Default preset, generally accepted to be transparent;&lt;br /&gt;
*-q 4 to -q 0: DAP quality presets of reducing bitrate with reducing quality preset number, for usage on a compatible [[Wikipedia:Digital audio player|DAP]]. [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316] &lt;br /&gt;
&lt;br /&gt;
New quality preset synonyms introduced at 1.0.1j/k (and -q &amp;lt;n&amp;gt; quality parameter moved to advanced settings):&lt;br /&gt;
*--insane: (-q 10) Highest quality preset, generally considered to be excessive;&lt;br /&gt;
*--extreme: (-q 7.5) High quality preset, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*--standard: (-q 5) Default preset, generally accepted to be transparent;&lt;br /&gt;
*--portable: (-q 2.5) DAP quality preset for use on a compatible [[Wikipedia:Digital audio player|DAP]]. [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316]&lt;br /&gt;
&lt;br /&gt;
All tuning has been performed on quality preset -q 5 with higher presets being more conservative. Quality preset -q 5 is generally accepted to be (and from testing so far is) transparent. If you find a track which -q 5 fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
===Important note===&lt;br /&gt;
&#039;&#039;&#039;NB: when encoding using a lossless codec, please ensure that the block size of the lossless codec matches that of lossyWAV (default = 512 samples). If this is not done then the lossless encoding of the processed WAV file will (almost certainly) be larger than it would otherwise have been. This is achieved by adding the &amp;quot;Encoder Parameters&amp;quot; in the table above to the command line of the lossless codec in question.&#039;&#039;&#039;&lt;br /&gt;
===Bonus feature===&lt;br /&gt;
Another, possibly not obvious, feature of lossyWAV is that the processed output can be &amp;quot;transcoded&amp;quot; from one lossless codec to another lossless codec with absolutely no loss of quality whatsoever. This is solely due to the fact that lossyWAV output is designed to be losslessly encoded - something that lossless codecs do very well indeed.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.0.0b, Copyright (C) 2007,2008 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-q, --quality &amp;lt;n&amp;gt;   quality preset (10=highest quality, 0=lowest bitrate;&lt;br /&gt;
                    -q 5 is generally accepted to be transparent)&lt;br /&gt;
                    default=-q 5.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-c, --check         check if WAV file has already been processed; default=off.&lt;br /&gt;
                    errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-C, --correction    write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force         forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help          display help.&lt;br /&gt;
-L, --longhelp      display extended help.&lt;br /&gt;
-M, --merge         merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-N, --noclips       set allowable number of clips / channel / codec block to 0;&lt;br /&gt;
                    default=3,3,3,3,2,1,0,0,0,0,0 (-q 0 to -q 10)&lt;br /&gt;
-o, --outdir &amp;lt;dir&amp;gt;  destination directory for the output file(s).&lt;br /&gt;
-v, --version       display the lossyWAV version number.&lt;br /&gt;
&lt;br /&gt;
Special thanks:&lt;br /&gt;
&lt;br /&gt;
David Robinson for the method itself and motivation to implement it.&lt;br /&gt;
Don Cross for the Complex-FFT algorithm used.&lt;br /&gt;
Horst Albrecht for valuable tuning input and feedback.&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Example Foobar2000 converter settings===&lt;br /&gt;
[[Image:lossyWAV_fb2k_CLI_Settings.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Example flossy.bat file called from Foobar2000===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
z:\bin\lossyWAV %1 %3 %4 %5 %6 %7 %8 %9 --below --nowarnings --quiet&lt;br /&gt;
z:\bin\flac -5 -f -b 512 &amp;quot;%~N1.lossy.wav&amp;quot; -o&amp;quot;%~N2.flac&amp;quot; &lt;br /&gt;
del &amp;quot;%~N1.lossy.wav&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why is the &amp;quot;.wav&amp;quot; file extension used?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; The &amp;quot;.wav&amp;quot; file extension is used because lossyWAV is a digital signal processor and not a codec. No decoding is required for any program to play a WAV file which has been processed with lossyWAV as it remains compliant with the RIFF WAVE format.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why create a processor which means that I cannot be sure that a lossless file is truly lossless?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039; Unless one creates the lossless file personally, one can &#039;&#039;&#039;never&#039;&#039;&#039; be completely sure that the file is indeed lossless. e.g. If a WAV file is encoded to mp3 and then transcoded to a lossless codec, how can this pre-processing be easily determined?&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Do I need to re-process to change lossless codecs?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; At preset --standard, almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact|artifacts]]&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522&amp;amp;st=0 Original lossyFLAC thread] Where David Robinson (Replay Gain developer) introduces the method and a MATLAB implementation.&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 Original development thread up to 1.0.0b release]&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0b release thread]&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 Current development thread] You will find the latest release candidate and latest beta version in post #1 of this thread.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;br /&gt;
[[Category:Lossy]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=18459</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=18459"/>
		<updated>2008-05-18T14:37:32Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* External links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.0.0b&lt;br /&gt;
| preview_release = &lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 Hydrogenaudio]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a new free lossy pre-processor for [[PCM]] audio contained in the [[WAV]] file format. It reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression. &lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyFLAC is an idea started by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 2Bdecided] at Hydrogenaudio, utilising the wasted bits feature of the FLAC lossless codec with the aim of transparently reducing audio bit depth (making some lower significant bits (LSB&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick.C has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 halb27] at Hydrogenaudio.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure [[variable bit rate]] pre-processor. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[fast Fourier transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 64 &amp;amp; 1024 [[Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds noise to the output, however the added noise has been pre-calculated and its level will be at or below the noise floor of the codec_block in question. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set&lt;br /&gt;
!Version&lt;br /&gt;
!FLAC -8&lt;br /&gt;
!-q 10&lt;br /&gt;
!-q 9&lt;br /&gt;
!-q 8&lt;br /&gt;
!-q 7&lt;br /&gt;
!-q 6&lt;br /&gt;
!-q 5&lt;br /&gt;
!-q 4&lt;br /&gt;
!-q 3&lt;br /&gt;
!-q 2&lt;br /&gt;
!-q 1&lt;br /&gt;
!-q 0&lt;br /&gt;
|-&lt;br /&gt;
!53 sample &amp;quot;problem&amp;quot; set&lt;br /&gt;
| 1.0.0&lt;br /&gt;
| 784kbps&lt;br /&gt;
| 654kbps&lt;br /&gt;
| 626kbps&lt;br /&gt;
| 596kbps&lt;br /&gt;
| 565kbps&lt;br /&gt;
| 534kbps&lt;br /&gt;
| 501kbps&lt;br /&gt;
| 470kbps&lt;br /&gt;
| 447kbps&lt;br /&gt;
| 408kbps&lt;br /&gt;
| 366kbps&lt;br /&gt;
| 329kbps&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the -merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length FACT chunk into the WAV file immediately after the FMT chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV FACT chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The -check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*-q 10 to -q 8: Highest quality presets, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*-q 7 to -q 6: High quality presets, disc space-saving alternative to lossless archiving for large audio collections;&lt;br /&gt;
*-q 5: Default preset, generally accepted to be transparent;&lt;br /&gt;
*-q 4 to -q 0: DAP quality presets of reducing bitrate with reducing quality preset number, for usage on a compatible [[Wikipedia:Digital audio player|DAP]]. [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316] &lt;br /&gt;
&lt;br /&gt;
All tuning has been performed on quality preset -q 5 with higher presets being more conservative. Quality preset -q 5 is generally accepted to be (and from testing so far is) transparent. If you find a track which -q 5 fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| Yes&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| Yes&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| Yes&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| Yes&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| Yes&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.0.0b, Copyright (C) 2007,2008 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-q, --quality &amp;lt;n&amp;gt;   quality preset (10=highest quality, 0=lowest bitrate;&lt;br /&gt;
                    -q 5 is generally accepted to be transparent)&lt;br /&gt;
                    default=-q 5.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-c, --check         check if WAV file has already been processed; default=off.&lt;br /&gt;
                    errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-C, --correction    write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force         forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help          display help.&lt;br /&gt;
-L, --longhelp      display extended help.&lt;br /&gt;
-M, --merge         merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-N, --noclips       set allowable number of clips / channel / codec block to 0;&lt;br /&gt;
                    default=3,3,3,3,2,1,0,0,0,0,0 (-q 0 to -q 10)&lt;br /&gt;
-o, --outdir &amp;lt;dir&amp;gt;  destination directory for the output file(s).&lt;br /&gt;
-v, --version       display the lossyWAV version number.&lt;br /&gt;
&lt;br /&gt;
Special thanks:&lt;br /&gt;
&lt;br /&gt;
David Robinson for the method itself and motivation to implement it.&lt;br /&gt;
Don Cross for the Complex-FFT algorithm used.&lt;br /&gt;
Horst Albrecht for valuable tuning input and feedback.&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Example Foobar2000 converter settings===&lt;br /&gt;
[[Image:lossyWAV_fb2k_CLI_Settings.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Example flossy.bat file called from Foobar2000===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
z:\bin\lossyWAV %1 %3 %4 %5 %6 %7 %8 %9 --below --nowarnings --quiet&lt;br /&gt;
z:\bin\flac.exe -5 -f -b 512 &amp;quot;%~N1.lossy.wav&amp;quot; -o&amp;quot;%~N2.flac&amp;quot; &lt;br /&gt;
del &amp;quot;%~N1.lossy.wav&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact|artefacts]]&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522&amp;amp;st=0 Original lossyFLAC thread] Where David Robinson (Replay Gain developer) introduces the method and a MATLAB implementation.&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0b release thread]&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 Current development thread] You will find the latest release candidate and latest beta version in post #1 of this thread.&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 Old development thread for 1.0 release] The release candidates and beta versions are in post #1 of this thread.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;br /&gt;
[[Category:Lossy]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=18458</id>
		<title>LossyWAV</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=LossyWAV&amp;diff=18458"/>
		<updated>2008-05-18T14:35:44Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* External links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = lossyWAV&lt;br /&gt;
| screenshot = &lt;br /&gt;
| caption = &lt;br /&gt;
| maintainer = [http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C]&lt;br /&gt;
| stable_release = 1.0.0b&lt;br /&gt;
| preview_release = &lt;br /&gt;
| operating_system = [[Wikipedia:Microsoft Windows|Windows]]&lt;br /&gt;
| use = [[Wikipedia:Digital signal processing|Digital signal processing]]&lt;br /&gt;
| license = [[Wikipedia:GNU General Public License|GNU GPL]]&lt;br /&gt;
| website = [http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 Hydrogenaudio]&lt;br /&gt;
}}&lt;br /&gt;
lossyWAV is a new free lossy pre-processor for [[PCM]] audio contained in the [[WAV]] file format. It reduces [[Wikipedia:Audio bit depth|bit depth]] of the input signal, which, when used in conjunction with certain lossless codecs, reduces the bitrate of the encoded file significantly compared to unpreprocessed compression. &lt;br /&gt;
lossyWAV&#039;s primary goal is to maintain [[transparency]] with a high degree of confidence when processing any audio data.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
lossyFLAC is an idea started by [http://www.hydrogenaudio.org/forums/index.php?showuser=409 2Bdecided] at Hydrogenaudio, utilising the wasted bits feature of the FLAC lossless codec with the aim of transparently reducing audio bit depth (making some lower significant bits (LSB&#039;s) zero), consequently taking advantage of FLAC&#039;s detection of consistently-zeroed lower significant bits within each single frame and significantly increasing coding efficiency.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498179] In this way the user can enjoy audio encoded using the same codec (which may be all important from a hardware compatibility perspective) at a reduced bitrate compared to the lossless version.&lt;br /&gt;
&lt;br /&gt;
[http://www.hydrogenaudio.org/forums/index.php?showuser=42400 Nick.C] ported the original [[Wikipedia:MATLAB|MATLAB]] implementation to [[Wikipedia:Borland Delphi|Delphi]] (Many thanks [[Wikipedia:CodeGear|CodeGear]] for Turbo Explorer!!) with a liberal sprinkling of [[Wikipedia:IA-32|IA-32]] and [[Wikipedia:x87|x87]] Assembly Language for speed.&lt;br /&gt;
&lt;br /&gt;
Subsequently, lossyFLAC proved itself to work with other lossless codecs, so the application name was changed to lossyWAV. &lt;br /&gt;
&lt;br /&gt;
Since then, Nick.C has heavily developed and built upon lossyWAV, with valuable tuning performed by [http://www.hydrogenaudio.org/forums/index.php?showuser=25015 halb27] at Hydrogenaudio.&lt;br /&gt;
&lt;br /&gt;
==Indicative bitrate reduction==&lt;br /&gt;
It must be stressed that lossyWAV is a pure [[variable bit rate]] pre-processor. Bits-to-remove from the audio data are calculated on a block-by-block basis (codec-block length = 512 samples, 11.6msec @ 44.1kHz) using overlapping [[fast Fourier transform]] (FFT) analyses of at least two lengths (default quality preset (-q 5) = 64 &amp;amp; 1024 [[Sampling %28signal processing%29|samples]]). After some manipulation, the results of each FFT analysis for a specific codec-block are then grouped and the minimum value used to determine bits-to-remove for the whole codec-block. Bit removal adds noise to the output, however the added noise has been pre-calculated and its level will be at or below the noise floor of the codec_block in question. Each sample in the codec-block is then rounded such that the first &amp;lt;bits-to-remove&amp;gt; lsb&#039;s are zero. In this way the wasted bits feature of [[FLAC]] et al is exploited.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!lossyWAV Test Set&lt;br /&gt;
!Version&lt;br /&gt;
!FLAC -8&lt;br /&gt;
!-q 10&lt;br /&gt;
!-q 9&lt;br /&gt;
!-q 8&lt;br /&gt;
!-q 7&lt;br /&gt;
!-q 6&lt;br /&gt;
!-q 5&lt;br /&gt;
!-q 4&lt;br /&gt;
!-q 3&lt;br /&gt;
!-q 2&lt;br /&gt;
!-q 1&lt;br /&gt;
!-q 0&lt;br /&gt;
|-&lt;br /&gt;
!53 sample &amp;quot;problem&amp;quot; set&lt;br /&gt;
| 1.0.0&lt;br /&gt;
| 784kbps&lt;br /&gt;
| 654kbps&lt;br /&gt;
| 626kbps&lt;br /&gt;
| 596kbps&lt;br /&gt;
| 565kbps&lt;br /&gt;
| 534kbps&lt;br /&gt;
| 501kbps&lt;br /&gt;
| 470kbps&lt;br /&gt;
| 447kbps&lt;br /&gt;
| 408kbps&lt;br /&gt;
| 366kbps&lt;br /&gt;
| 329kbps&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==File identification==&lt;br /&gt;
lossyWAV-processed WAV files are named with a double filename extension, .lossy.wav, to make them instantly identifiable. e.g. &amp;quot;.lossy.flac&amp;quot; would indicate an audio file which was processed using lossyWAV, and subsequently encoded using FLAC.[http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=55522&amp;amp;view=findpost&amp;amp;p=498559]&lt;br /&gt;
&lt;br /&gt;
The --correction parameter is used when processing to create a correction file which is named with the .lwcdf.wav double filename extension. When &amp;quot;added&amp;quot; to the corresponding .lossy.wav, using the -merge parameter, the original file will be reconstituted.&lt;br /&gt;
&lt;br /&gt;
Combinations of lossyWAV with each specific encoder are referred to as lossy&#039;&#039;&#039;X&#039;&#039;&#039;, where &#039;&#039;&#039;X&#039;&#039;&#039; is an abbreviation of the lossless codec name. Combination names are listed in the &amp;quot;[[LossyWAV#Known supported codecs|known supported codecs]]&amp;quot; section below.&lt;br /&gt;
&lt;br /&gt;
lossyWAV inserts a variable-length FACT chunk into the WAV file immediately after the FMT chunk. This takes the form:&amp;lt;pre&amp;gt;fact/&amp;lt;size&amp;gt;/lossyWAV x.y.z @ dd/mm/yyyy hh:mm:ss, -q 5&amp;lt;/pre&amp;gt;Where the version, date &amp;amp; time and user settings are copied. Additionally, if a lossyWAV FACT chunk is found in a file, the processing will be halted (exit code = 16) to prevent re-processing of an already processed file.&lt;br /&gt;
&lt;br /&gt;
The -check parameter can be used to determine whether a file has previously been processed without trying to process it, exit code = 16 if already processed; exit code = 0 if not.&lt;br /&gt;
&lt;br /&gt;
==Quality presets==&lt;br /&gt;
*-q 10 to -q 8: Highest quality presets, disc space-saving alternative to lossless archiving for large audio collections, considered to be suitable for transcoding to other lossy codecs;&lt;br /&gt;
*-q 7 to -q 6: High quality presets, disc space-saving alternative to lossless archiving for large audio collections;&lt;br /&gt;
*-q 5: Default preset, generally accepted to be transparent;&lt;br /&gt;
*-q 4 to -q 0: DAP quality presets of reducing bitrate with reducing quality preset number, for usage on a compatible [[Wikipedia:Digital audio player|DAP]]. [http://www.hydrogenaudio.org/forums/index.php?s=&amp;amp;showtopic=56129&amp;amp;view=findpost&amp;amp;p=531316] &lt;br /&gt;
&lt;br /&gt;
All tuning has been performed on quality preset -q 5 with higher presets being more conservative. Quality preset -q 5 is generally accepted to be (and from testing so far is) transparent. If you find a track which -q 5 fails to achieve transparency after processing, please post a sample (no more than 30 seconds) in the development thread.&lt;br /&gt;
&lt;br /&gt;
==Supported input formats==&lt;br /&gt;
*[[WAV]]: 9-bit to 32-bit integer; 1 to 8 channels; sample rate &amp;amp;ge; 32kHz [[Pulse Code Modulation|PCM]]. Very high sample rates (&amp;amp;gt;48kHz) have not been extensively tested. Tunings have been focussed on 16-bit, 44.1kHz samples (i.e. [[Wikipedia:Red Book (audio CD standard)|CD]] PCM).&lt;br /&gt;
&lt;br /&gt;
==Codec compatibility==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Codec&lt;br /&gt;
!Supported&lt;br /&gt;
!Encoder parameters&lt;br /&gt;
!Combination name&lt;br /&gt;
|-&lt;br /&gt;
! [[Apple Lossless]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
| Yes&lt;br /&gt;
| -&#039;&#039;&#039;5&#039;&#039;&#039; -&#039;&#039;&#039;b&#039;&#039;&#039; 512 --&#039;&#039;&#039;keep-foreign-metadata&#039;&#039;&#039;&lt;br /&gt;
| lossy&#039;&#039;&#039;FLAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Audio|LA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Lossless Predictive Audio Compression|LPAC]]&lt;br /&gt;
| Yes&lt;br /&gt;
| -&#039;&#039;&#039;b&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;LPAC&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Monkey&#039;s Audio]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:Audio Lossless Coding|MPEG-4 ALS]]&lt;br /&gt;
| Yes&lt;br /&gt;
| -&#039;&#039;&#039;l&#039;&#039;&#039; -&#039;&#039;&#039;n&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;ALS&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[OptimFROG]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[TAK]]&lt;br /&gt;
| Yes&lt;br /&gt;
| -&#039;&#039;&#039;fsl&#039;&#039;&#039;512&lt;br /&gt;
| lossy&#039;&#039;&#039;TAK&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Wikipedia:TTA (codec)|TTA]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
|-&lt;br /&gt;
! [[WavPack]]&lt;br /&gt;
| Yes&lt;br /&gt;
| --&#039;&#039;&#039;blocksize&#039;&#039;&#039;=512&lt;br /&gt;
| lossy&#039;&#039;&#039;WV&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]]&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;amp;mdash;&lt;br /&gt;
| lossy&#039;&#039;&#039;WMALSL&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There is also [http://www.hometheaterhifi.com/volume_8_4/dvd-benchmark-part-6-dvd-audio-11-2001.html#Meridian%20Lossless%20Packing%20(MLP)%20in%20a%20Nutshell evidence] &amp;amp;mdash; so-called &amp;quot;Bit Shifting&amp;quot; &amp;amp;mdash; to suggest that lossyWAV may work with [[Wikipedia:Meridian Lossless Packing|MLP]], but this remains untested due to prohibitive prices of encoders.&lt;br /&gt;
&lt;br /&gt;
A comparison of portable media players is [[Wikipedia:Comparison of portable media players#Audio Formats|here]], which shows FLAC and WMA Lossless compatibility among listed players.&lt;br /&gt;
Any player supported by [http://www.rockbox.org Rockbox] can use FLAC or WavPack files after installing Rockbox.&lt;br /&gt;
&lt;br /&gt;
==Using lossyWAV==&lt;br /&gt;
===Application settings===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lossyWAV 1.0.0b, Copyright (C) 2007,2008 Nick Currie. Copyleft.&lt;br /&gt;
&lt;br /&gt;
This program is free software: you can redistribute it and/or modify it under&lt;br /&gt;
the terms of the GNU General Public License as published by the Free Software&lt;br /&gt;
Foundation, either version 3 of the License, or (at your option) any later&lt;br /&gt;
version.&lt;br /&gt;
&lt;br /&gt;
This program is distributed in the hope that it will be useful,but WITHOUT ANY&lt;br /&gt;
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A&lt;br /&gt;
PARTICULAR PURPOSE.  See the GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License along with&lt;br /&gt;
this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Usage   : lossyWAV &amp;lt;input wav file&amp;gt; &amp;lt;options&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example : lossyWAV musicfile.wav&lt;br /&gt;
&lt;br /&gt;
Quality Options:&lt;br /&gt;
&lt;br /&gt;
-q, --quality &amp;lt;n&amp;gt;   quality preset (10=highest quality, 0=lowest bitrate;&lt;br /&gt;
                    -q 5 is generally accepted to be transparent)&lt;br /&gt;
                    default=-q 5.&lt;br /&gt;
&lt;br /&gt;
Standard Options:&lt;br /&gt;
&lt;br /&gt;
-c, --check         check if WAV file has already been processed; default=off.&lt;br /&gt;
                    errorlevel=16 if already processed, 0 if not.&lt;br /&gt;
-C, --correction    write correction file for processed WAV file; default=off.&lt;br /&gt;
-f, --force         forcibly over-write output file if it exists; default=off.&lt;br /&gt;
-h, --help          display help.&lt;br /&gt;
-L, --longhelp      display extended help.&lt;br /&gt;
-M, --merge         merge existing lossy.wav and lwcdf.wav files.&lt;br /&gt;
-N, --noclips       set allowable number of clips / channel / codec block to 0;&lt;br /&gt;
                    default=3,3,3,3,2,1,0,0,0,0,0 (-q 0 to -q 10)&lt;br /&gt;
-o, --outdir &amp;lt;dir&amp;gt;  destination directory for the output file(s).&lt;br /&gt;
-v, --version       display the lossyWAV version number.&lt;br /&gt;
&lt;br /&gt;
Special thanks:&lt;br /&gt;
&lt;br /&gt;
David Robinson for the method itself and motivation to implement it.&lt;br /&gt;
Don Cross for the Complex-FFT algorithm used.&lt;br /&gt;
Horst Albrecht for valuable tuning input and feedback.&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Example Foobar2000 converter settings===&lt;br /&gt;
[[Image:lossyWAV_fb2k_CLI_Settings.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Example flossy.bat file called from Foobar2000===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
z:\bin\lossyWAV %1 %3 %4 %5 %6 %7 %8 %9 --below --nowarnings --quiet&lt;br /&gt;
z:\bin\flac.exe -5 -f -b 512 &amp;quot;%~N1.lossy.wav&amp;quot; -o&amp;quot;%~N2.flac&amp;quot; &lt;br /&gt;
del &amp;quot;%~N1.lossy.wav&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Frequently asked questions==&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[Variable Bitrate|VBR]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Yes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[transparency|transparent]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; Almost certainly.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Is it [[lossless]]?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Will it ever have a [[Constant Bitrate|CBR]] mode?&lt;br /&gt;
*&#039;&#039;&#039;Short answer:&#039;&#039;&#039; No.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Question:&#039;&#039;&#039; Why should I use this?&lt;br /&gt;
*&#039;&#039;&#039;Answer:&#039;&#039;&#039;&lt;br /&gt;
:*high quality&lt;br /&gt;
:*extremely low chance of audible [[artifact|artefacts]]&lt;br /&gt;
:*reasonable [[bitrate]]s&lt;br /&gt;
:*usable with unmodified, established lossless formats.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=55522&amp;amp;st=0 Original lossyFLAC thread] Where David Robinson (Replay Gain developer) introduces the method and a MATLAB implementation.&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63225 lossyWAV 1.0.0b release thread]&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=63254 Current development thread] You will find the latest release candidate and latest beta version in post #1 of this thread.&lt;br /&gt;
&lt;br /&gt;
*[http://www.hydrogenaudio.org/forums/index.php?showtopic=56129 Old development thread for 1.0 release] The release candidates beta versions were added to post #1 of this thread.&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;br /&gt;
[[Category:Lossy]]&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=ABC/HR&amp;diff=17020</id>
		<title>ABC/HR</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=ABC/HR&amp;diff=17020"/>
		<updated>2007-05-15T21:20:03Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Difference with ABX */ changed &amp;quot;subjective bias&amp;quot; to &amp;quot;personal bias&amp;quot; as with previous minor edit in previous section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ABC/HR&#039;&#039;&#039; is an abbreviation of ABC/Hidden Reference.&lt;br /&gt;
&lt;br /&gt;
It is a method to &#039;score&#039; the quality of audio encodings by comparing them alongside a reference sample. The &#039;hidden&#039; comes from the fact that the listener does not know which sample -- the left or the right one -- is the reference.&lt;br /&gt;
&lt;br /&gt;
The reference used usually is a sample of higher quality than the tested samples, e.g. uncompressed/[[lossless|losslessly]] compressed audio tracks, or a [[lossy|lossily]] compressed track with higher [[bitrate]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Purpose==&lt;br /&gt;
Blind comparison and blind quality rating to remove the effects of personal bias and the [[placebo effect]].&lt;br /&gt;
&lt;br /&gt;
==Difference with [[ABX]]==&lt;br /&gt;
[[ABX]] is used to detect audible differences blindly, thereby removing personal bias or the placebo effect and, over multiple trials, estimating the probability that the tester was guessing. &lt;br /&gt;
&lt;br /&gt;
While an ABC/HR tool can do the same, it adds to that the ability to provide a quality rating on a standardized scale, and multiple participants&#039; results can be statistically evaluated to estimate error bars and statistical significance of differences between encoders or encoder parameters in ranking their quality or tying them.&lt;br /&gt;
&lt;br /&gt;
ABC/HR tends to find particular application in low-to-medium bitrate listening tests (below the quality expected to constitute [[transparency]]). As part of a well-designed [[listening test]], useful quality comparison can be made between a selection of encoders plus a high-quality anchor (high anchor) and low-quality anchor (low anchor) without the tester being aware of which encoder is being evaluated at any time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Standardized quality or impairment scale===&lt;br /&gt;
&lt;br /&gt;
It is most common to use the 1.0 to 5.0 scale defined by [http://www.hydrogenaudio.org/forums/index.php?showtopic=53107 ITU-R BS.1116]. Any value (including fractions) between 1.0 and 5.0 is valid, with the exact whole number representing the following definitions to describe that degree of impairment:&lt;br /&gt;
* 5.0 : Imperceptible &lt;br /&gt;
* 4.0 : Perceptible, but not annoying&lt;br /&gt;
* 3.0 : Slightly annoying&lt;br /&gt;
* 2.0 : Annoying&lt;br /&gt;
* 1.0 : Very annoying&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=ABC/HR&amp;diff=17019</id>
		<title>ABC/HR</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=ABC/HR&amp;diff=17019"/>
		<updated>2007-05-15T21:18:59Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Purpose */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ABC/HR&#039;&#039;&#039; is an abbreviation of ABC/Hidden Reference.&lt;br /&gt;
&lt;br /&gt;
It is a method to &#039;score&#039; the quality of audio encodings by comparing them alongside a reference sample. The &#039;hidden&#039; comes from the fact that the listener does not know which sample -- the left or the right one -- is the reference.&lt;br /&gt;
&lt;br /&gt;
The reference used usually is a sample of higher quality than the tested samples, e.g. uncompressed/[[lossless|losslessly]] compressed audio tracks, or a [[lossy|lossily]] compressed track with higher [[bitrate]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Purpose==&lt;br /&gt;
Blind comparison and blind quality rating to remove the effects of personal bias and the [[placebo effect]].&lt;br /&gt;
&lt;br /&gt;
==Difference with [[ABX]]==&lt;br /&gt;
[[ABX]] is used to detect audible differences blindly, thereby removing subjective bias or the placebo effect and, over multiple trials, estimating the probability that the tester was guessing. &lt;br /&gt;
&lt;br /&gt;
While an ABC/HR tool can do the same, it adds to that the ability to provide a quality rating on a standardized scale, and multiple participants&#039; results can be statistically evaluated to estimate error bars and statistical significance of differences between encoders or encoder parameters in ranking their quality or tying them.&lt;br /&gt;
&lt;br /&gt;
ABC/HR tends to find particular application in low-to-medium bitrate listening tests (below the quality expected to constitute [[transparency]]). As part of a well-designed [[listening test]], useful quality comparison can be made between a selection of encoders plus a high-quality anchor (high anchor) and low-quality anchor (low anchor) without the tester being aware of which encoder is being evaluated at any time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Standardized quality or impairment scale===&lt;br /&gt;
&lt;br /&gt;
It is most common to use the 1.0 to 5.0 scale defined by [http://www.hydrogenaudio.org/forums/index.php?showtopic=53107 ITU-R BS.1116]. Any value (including fractions) between 1.0 and 5.0 is valid, with the exact whole number representing the following definitions to describe that degree of impairment:&lt;br /&gt;
* 5.0 : Imperceptible &lt;br /&gt;
* 4.0 : Perceptible, but not annoying&lt;br /&gt;
* 3.0 : Slightly annoying&lt;br /&gt;
* 2.0 : Annoying&lt;br /&gt;
* 1.0 : Very annoying&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=ABC/HR&amp;diff=16938</id>
		<title>ABC/HR</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=ABC/HR&amp;diff=16938"/>
		<updated>2007-05-01T23:15:29Z</updated>

		<summary type="html">&lt;p&gt;Dynamic: /* Standardized quality scale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ABC/HR&#039;&#039;&#039; is an abbreviation of ABC/Hidden Reference.&lt;br /&gt;
&lt;br /&gt;
It is a method to &#039;score&#039; the quality of audio encodings by comparing them alongside a reference sample. The &#039;hidden&#039; comes from the fact that the listener does not know which sample -- the left or the right one -- is the reference.&lt;br /&gt;
&lt;br /&gt;
The reference used usually is a sample of higher quality than the tested samples, e.g. uncompressed/[[lossless|losslessly]] compressed audio tracks, or a [[lossy|lossily]] compressed track with higher [[bitrate]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Purpose==&lt;br /&gt;
Blind comparison and blind quality rating to remove the effects of subjective bias and the [[placebo effect]].&lt;br /&gt;
&lt;br /&gt;
==Difference with [[ABX]]==&lt;br /&gt;
[[ABX]] is used to detect audible differences blindly, thereby removing subjective bias or the placebo effect and, over multiple trials, estimating the probability that the tester was guessing. &lt;br /&gt;
&lt;br /&gt;
While an ABC/HR tool can do the same, it adds to that the ability to provide a quality rating on a standardized scale, and multiple participants&#039; results can be statistically evaluated to estimate error bars and statistical significance of differences between encoders or encoder parameters in ranking their quality or tying them.&lt;br /&gt;
&lt;br /&gt;
ABC/HR tends to find particular application in low-to-medium bitrate listening tests (below the quality expected to constitute [[transparency]]). As part of a well-designed [[listening test]], useful quality comparison can be made between a selection of encoders plus a high-quality anchor (high anchor) and low-quality anchor (low anchor) without the tester being aware of which encoder is being evaluated at any time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Standardized quality or impairment scale===&lt;br /&gt;
&lt;br /&gt;
It is most common to use the 1.0 to 5.0 scale defined by [http://www.hydrogenaudio.org/forums/index.php?showtopic=53107 ITU-R BS.1116]. Any value (including fractions) between 1.0 and 5.0 is valid, with the exact whole number representing the following definitions to describe that degree of impairment:&lt;br /&gt;
* 5.0 : Imperceptible &lt;br /&gt;
* 4.0 : Perceptible, but not annoying&lt;br /&gt;
* 3.0 : Slightly annoying&lt;br /&gt;
* 2.0 : Annoying&lt;br /&gt;
* 1.0 : Very annoying&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Dynamic</name></author>
	</entry>
</feed>