<!--#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" -->