CMU Artificial Intelligence Repository
Home INFO Search FAQs Repository Root

CELP: FS-1016 Code Excited Linear Prediction coder

CELP is a lossy compression algorithm used for low bit rate (e.g., 4800 bps in U.S. Fed-Std-1016) speech coding. CELP stands for "code excited linear prediction". CELP coding, at 4800 bps, breaks the performance barrier of most Government standards, providing Consortium ratings of "very good" intelligibility and "excellent" quality, comparable to 32,000 bps CVSD. Like all vector quantization techniques, CELP coding is a frame-oriented technique that breaks a sampled input signal into blocks of samples (i.e., vectors) that are processed as one unit. CELP coding is based on analysis-by-synthesis search procedures, perceptually weighted vector quantization (VQ), and linear prediction (LP). A 10th order LP filter is used to model the speech signal's short-term spectrum, or formant structure. Long-term signal periodicity, or pitch, is modeled by an adaptive code book VQ. The residual from the short-term LP and pitch VQ is vector quantized using a fixed stochastic code book. The optimal scaled excitation vectors from the adaptive and stochastic code books are selected by minimizing a time varying, perceptually weighted distortion measure that improves subjective speech quality by exploiting masking properties of human hearing. The CELP coder's computational requirements are dominated by the two code book searches. The computational complexity and speech quality of the coder depend upon the search sizes of the code books. Any subset of either code book can be searched to fit processor constraints, at the expense of speech quality. Fed-Std-1016 uses an 8 kHz sample rate and a 30 ms frame size with four 7.5 ms subframes. CELP analysis consists of three basic functions: 1) short-term linear prediction, 2) long-term adaptive code book search, and 3) innovation stochastic code book search. CELP synthesis consists of the corresponding three synthesis functions performed in reverse order with the optional addition of a fourth function, called a postfilter, to enhance the output speech. The transmitted CELP parameters are the stochastic code book index and gain, the adaptive code book index and gain, and 10 line spectral parameters (LSP). This directory contains the U.S. DoD's Federal-Standard-1016 based 4800 bps code excited linear prediction voice coder version 3.2 (CELP 3.2) Fortran and C simulation source codes. Example input and processed speech files are included. [Not really AI, but included for completeness relative to comp.speech. --mark]
See Also: 

Origin: []

Version: 3.2a (3-AUG-93) Requires: C or Fortran Ports: Tested on a Sun4 (SunOS 4.1.3) Copying: Worldwide distribution permitted. CD-ROM: Prime Time Freeware for AI, Issue 1-1 Author(s): Joe Campbell or <> Very limited support is available from the authors. Please do not send questions or suggestions without first reading the documentation (README files, the Technical Information Bulletin, etc.). Contact: Joe Campbell Department of Defense Craig F. Reese IDA/Supercomputing Research Center Keywords: Authors!Campbell, C!Code, CELP, Code Excited Linear Prediction, Fortran!Code, Linear Prediction, Speech Coding, Speech Compression, Vector Quantization References: Technical Information Bulletin (TIB), "Details to Assist in Implementation of Federal Standard 1016 CELP", is available through the National Technical Information Service: NTIS, U.S. Department of Commerce, 5285 Port Royal Road, Springfield, VA 22161, USA, (phone: 703-487-4650/4600). The following articles describe the Federal-Standard-1016 4.8-kbps CELP coder (it's unnecessary to read more than one): Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch, "The Federal Standard 1016 4800 bps CELP Voice Coder," Digital Signal Processing, Academic Press, 1991, Vol. 1, No. 3, p. 145-155. Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch, "The DoD 4.8 kbps Standard (Proposed Federal Standard 1016)," in Advances in Speech Coding, ed. Atal, Cuperman and Gersho, Kluwer Academic Publishers, 1991, Chapter 12, p. 121-133. Campbell, Joseph P. Jr., Thomas E. Tremain and Vanoy C. Welch, "The Proposed Federal Standard 1016 4800 bps Voice Coder: CELP," Speech Technology Magazine, April/May 1990, p. 58-64. The U.S. DoD's Federal-Standard-1015/NATO-STANAG-4198 based 2400 bps linear prediction coder (LPC-10) was republished as a Federal Information Processing Standards Publication 137 (FIPS Pub 137). It is described in: Thomas E. Tremain, "The Government Standard Linear Predictive Coding Algorithm: LPC-10," Speech Technology Magazine, April 1982, p. 40-49. There is also a section about FS-1015 in the book: Panos E. Papamichalis, Practical Approaches to Speech Coding, Prentice-Hall, 1987. The voicing classifier used in the enhanced LPC-10 (LPC-10e) is described in: Campbell, Joseph P., Jr. and T. E. Tremain, "Voiced/Unvoiced Classification of Speech with Applications to the U.S. Government LPC-10E Algorithm," Proceedings of the IEEE International Conference on Acoustics, Speech, and Signal Processing, 1986, p. 473-6. Copies of the official standard "Federal Standard 1016, Telecommunications: Analog to Digital Conversion of Radio Voice by 4,800 bit/second Code Excited Linear Prediction (CELP)" are available for $5.00 each from GSA Federal Supply Service Bureau, Specification Section, Suite 8100, 470 E. L'Enfant Place, S.W., Washington, DC 20407, 1-202-755-0325.
Last Web update on Mon Feb 13 10:28:22 1995