Codec2
Codec2 is a low-bitrate speech audio codec (speech coding) that is patent free and open source.[1] 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.
Overview
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).[2] 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.[3]
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).
The digital bytes are in a bit-field format that have been packed together into bytes. These bit-fields are also optionally gray coded before being grouped together. The gray coding may be useful if sending raw, but normally an application will just burst the bit-fields out. The bit-fields make-up the various parameters that are stored or exchanged (pitch, energy, voicing booleans, LSP's, etc).
For example, Mode 3200, has 20 ms of audio converted to 64 Bits. So 64 Bits will be output every 20 ms (50 times a second), for a minimum data rate of 3200 bits/sec. These 64 bits are sent as 8 bytes to the application, which has to unwrap the bit-fields, or send the bytes over a data channel.
Another example is Mode 1300, which is sent 40 ms of audio, and outputs 52 Bits every 40 ms (25 times a second), for a minimum rate of 1300 bits/sec. These 52 bits are sent as 7 bytes to the application or data channel.
The codec software is open source and is freely available in a subversion (SVN) repository.[4] The source code is released under LGPL Version 2.1[5] It has been tested on Linux and MS Windows.
The codec has been presented in various conferences and has received the 2012 ARRL Technical Innovation Award,[6] and the Linux Australia Conference's Best Presentation Award.[7]
History
Open source evangelist and radio amateur Bruce Perens lobbied for the creation of an alternative, open-source audio codec. Perens did not have the speech-processing background to do the programming himself, and was introduced to speech-coding scientist David Rowe by Jean-Marc Valin. Rowe eventually agreed to take on the project.[8] It has now been fully realized with the creation of Codec2.[9] Rowe has also created a frequency-division multiplex (FDM) soft-modem which carries the digital voice (DV) in only 1.3 kHz of radio bandwidth.[10] The codec and FDM modem are used every day on amateur radio shortwave bands.
Before Codec2, there were no similarly licensed, patent free, low bitrate audio codecs.
Adoption
Codec 2 is currently used in several radios and Software Defined Radio Systems
Currently Codec 2 is also planned for adoption in the Algoram Whitebox series of DV servers[14] and radios.
References
- ↑ "DCC2011-Codec2-VK5DGR" (PDF).
- ↑ "A Pitch-Energy Quantizer for Codec2".
- ↑ "Techniques for Harmonic Sinusoidal Coding" (PDF).
- ↑ "Repository for Codec2 Source".
- ↑ "Codec2 - an Open Source, Low-Bandwidth Voice Codec - Slashdot".
- ↑ ARRL Technical Innovation Award in 2012
- ↑ Linux Australia 2012 conference
- ↑ "Open Source Low Rate Speech Codec Part 1".
- ↑ "Codec2 V0.1 Alpha Released".
- ↑ "FDMDV Modem".
- ↑ "FreeDV".
- ↑ "FreeDV, CODEC2 and the WaveformAPI".
- ↑ "Introducing the SM1000 Smart Mic".
- ↑ "Algoram Digital Voice Server".
External links
|
|