<!--#include virtual="/ssi/header.include" -->
<!--  Enter custom page information and styles here -->

<title>Speex:  A free codec for free speech</title>
<style type="text/css">
<!--
#navlink_ a {
	text-decoration: underline !important;
}
-->
</style>
</head>
<body>
<!--#include virtual="/common/xiphbar.include" -->
<!--#include virtual="/ssi/pagetop.include" -->
<!--  All your page content goes here  -->
<h1>Codec Quality Comparison</h1>
<p> Warning: these are machine-generated results (not from real listeners) and hence should be taken with a grain of salt.</p>
<p align="center"><a href="nb_codecs.png"><img src="nb_codecs_small.png" width="598" height="429"></a></p>


<h1>Codec Feature Comparison</h1>
<table border="2" cellpadding="2" width="100%">
	<thead>
		<tr>
			<th>Codec</th>
			<th>Rate (kHz)</th>

			<th>bitrate (kbps)</th>
			<th>delay frame+lookahead (ms)</th>
			<th><a href="#multiRate">multi-rate</a></th>
			<th><a href="#embedded">embedded</a></th>
			<th><a href="#vbr"><abbr title="variable bitrate">VBR</abbr></a></th>
			<th><a href="#plc"><abbr title="packet loss concealment">PLC</abbr></a></th>

			<th><a href="#bitRobust">bit-robust</a></th>
			<th>license</th>
		</tr>
	</thead>
	<tbody>
		<tr class="speex">
			<td>Speex</td>

			<td>8, 16, 32</td>
			<td>
				2.15-24.6 (<abbr title="narrowband">NB</abbr>)<br/>
				4-44.2    (<abbr title="wideband">WB</abbr>)
			</td>
			<td>

				20+10 (<abbr title="narrowband">NB</abbr>)<br/>
				20+14 (<abbr title="wideband">WB</abbr>)
			</td>
			<td>yes</td>
			<td>yes</td>
			<td>yes</td>

			<td>yes</td>
			<td/>
			<td>open-source/<br/>free software</td>
		</tr>
		<tr>
			<td>iLBC</td>
			<td>8</td>

			<td>15.2 or 13.3</td>
			<td>20+5 or 30+10</td>
			<td/>
			<td/>
			<td/>
			<td>yes</td>
			<td/>

			<td>no charge, but not open-source</td>
		</tr>
		<tr>
			<td>AMR-NB</td>
			<td>8</td>
			<td>4.75-12.2</td>
			<td>20+5?</td>

			<td>yes</td>
			<td/>
			<td/>
			<td>yes</td>
			<td>yes</td>
			<td>proprietary</td>
		</tr>

		<tr>
			<td>AMR-<abbr title="wideband">WB</abbr><br/>(G.722.2)</td>
			<td>16</td>
			<td>6.6-23.85</td>
			<td>20+5?</td>
			<td>yes</td>

			<td/>
			<td/>
			<td>yes</td>
			<td>yes</td>
			<td>proprietary</td>
		</tr>
		
		<tr>
			<td>G.722.1 (Siren7)</td>
			<td>16</td>
			<td>(16) 24, 32</td>
			<td>20+20</td>
			<td>yes</td>

			<td/>
			<td/>
			<td>yes</td>
			<td>yes</td>
			<td>no charge, but not open-source</td>
		</tr>
		
		<tr>

			<td>G.729</td>
			<td>8</td>
			<td>8</td>
			<td>10+5</td>
			<td/>
			<td/>
			<td/>

			<td>yes</td>
			<td>yes</td>
			<td>proprietary</td>
		</tr>
		<tr>
			<td><a href="http://kbs.cs.tu-berlin.de/~jutta/toast.html">GSM-FR</a></td>
			<td>8</td>

			<td>13</td>
			<td>20+?</td>
			<td/>
			<td/>
			<td/>
			<td>?</td>
			<td>?</td>

			<td>patented?</td>
		</tr>
		<tr>
			<td>GSM-EFR</td>
			<td>8</td>
			<td>12.2</td>
			<td>20+?</td>

			<td/>
			<td/>
			<td/>
			<td>yes</td>
			<td>yes</td>
			<td>proprietary</td>
		</tr>

		<tr>
			<td>G.723.1</td>
			<td>8</td>
			<td>5.3 6.3</td>
			<td>37.5</td>
			<td/>
			<td/>

			<td/>
			<td>yes</td>
			<td>?</td>
			<td>proprietary</td>
		</tr>
		<tr>
			<td>G.728</td>

			<td>8</td>
			<td>16</td>
			<td>0.625</td>
			<td/>
			<td/>
			<td/>
			<td/>

			<td/>
			<td>proprietary</td>
		</tr>
		<tr>
			<td>G.722</td>
			<td>16</td>
			<td>48 56 64</td>

			<td>?</td>
			<td/>
			<td>yes</td>
			<td/>
			<td/>
			<td>?</td>
			<td>?</td>

		</tr>
	</tbody>
</table>
<h2>Definitions</h2>
<dl>
	<dt><dfn id="multiRate">multi-rate</dfn></dt>
	<dd>
		Allows the codec to change bitrate
		dynamically, at any moment
	</dd>

	<dt><dfn id="embedded">embedded</dfn></dt>
	<dd>
		A codec that embeds narrowband
		bitstreams in wideband bitstreams
	</dd>

	<dt><dfn id="vbr"><abbr title="variable bitrate">VBR</abbr></dfn></dt>
	<dd>
		Variable bitrate
	</dd>

	
	<dt><dfn id="plc"><abbr title="packet loss concealment">PLC</abbr></dfn></dt>
	<dd>
		Packet loss concealment
	</dd>

	<dt><dfn id="bitRobust">bit-robust</dfn></dt>
	<dd>
		Robust to corruption at the bit level,
		as found on wireless networks
	</dd>

</dl>
<h2>Special Features</h2>
<dl>
	<dt>Speex</dt>
	<dd>
		Speex supports intensity stereo encoding
		and 32 kHz sampling
	</dd>
	<dt>iLBC</dt>
	<dd>

		iLBC frames are encoded completely
		independently; while this provides better
		quality when 10% (or more) of the packets
		are being dropped, this makes the codec
		suboptimal for clean line conditions.
	</dd>
</dl>


<!--#include virtual="/ssi/pagebottom.include" -->