Codec2 is a low-bitrate speech audio codec (speech coding) that is patent free and open source. Codec2 compresses speech using sinusoidal coding, a method specialized for human speech. Bit rates of 3200 to 700 bit/s have been successfully created. Codec2 was designed to be used for amateur radio and other high compression voice applications.
The codec was developed by David Rowe (Amateur Radio Call-Sign VK5DGR), with support and cooperation of other researchers (e.g., Jean-Marc Valin from Speex). Codec2 uses sinusoidal coding to model speech. In sinusoidal coding, spoken audio is recreated by modelling speech as a sum of harmonically related sine waves with independent amplitudes called Line spectral pairs, or LSP. The fundamental frequency of the speaker's voice (pitch) and the amplitude (energy) of the harmonics is encoded, and with the LSP's are exchanged across a channel in a digital format. The LSP coefficients represent the Linear Predictive Coding (LPC) model in the frequency domain, and lend themselves to a robust and efficient quantisation of the LPC parameters.
Codec2 consists of 3200, 2400, 1600, 1400, 1300, 1200, and 700 bit/s codec modes. It outperforms most other low-bitrate speech codecs. For example, it uses half the bandwidth of Advanced Multi-Band Excitation to encode speech with similar quality. The speech codec uses 16-bit PCM sampled audio, and outputs packed digital bytes. Likewise, you send it packed digital bytes, and it outputs PCM sampled audio. The audio sample rate is fixed at 8 kHz. Internally, the codec algorithms operate on 10 ms PCM frames, with each of these audio segments declared voiced (vowel) or unvoiced (consonant).