These notes are abstracts from the standard that might
be useful in understanding what's going on.


How stuff works
---------------

The input speech is sampled at 8kHz. This speech is broken
down into 20ms speech codec frames, each consisting of 160
samples. The format synthesis (LPC) filter coefficients are
updated once per frame, regardless of the data rate selected.
The number of bits used to encode the LPC parameters is a
function of the selected rate (1, 1/2, 1/4, 1/8).


Parameter codes transmitted for each rate packet (Page 25)
----------------------------------------------------------

LSPi     |  line spectral pair frequency i
LSPVi    |  line spectral pair frequencies grouped into five R2 vectors
PLAGi    |  pitch lag for the ith pitch subframe
PFRACi   |  fractional pitch Lag for the ith pitch subframe
PGAINi   |  pitch gain for the ith pitch subframe
CBINDEXi |  codebook index for the ith codebook subframe
CBGAINi  |  unsigned codebook gain for the ith codebook subframe
CBSEED   |  random seed for rate 1/8 packets
CBSIGNi  |  sign of the codebook gain for the ith codebook subframe


Bits for each rate packet (Page 26)
-----------------------------------

Rate 1   | 264 + 2 Reserved
Rate 1/2 | 124
Rate 1/4 | 52  + 2 Reserved
Rate 1/8 | 16  + 4 Reserved

Optional 'codec frame' packing (seen on our samples)
----------------------------------------------------

This is an abstract from IETF's "RTP Payload Format for
PureVoice(tm) Audio"

http://tools.ietf.org/html/draft-mckay-qcelp-02

OCTET 0   RATE      TOTAL CODEC data frame size (in octets)
-----------------------------------------------------------
  0       Blank     1
  1       1/8       4
  2       1/4       8
  3       1/2       17
  4       1         35
  5       reserved  8 (SHOULD be treated as a reserved value)
 14       Erasure   1 (SHOULD NOT be transmitted by sender)
 other    N/A       reserved
