Archive-name: comp-speech-faq/part2
Last-modified: 1995/01/19
COMP.SPEECH FAQ POSTING - PART 2/3
[Note: this document has been automatically extracted from a WWW site:
http://www.speech.su.oz.au/comp.speech
This may introduce some formatting errors.]
===========================================================================
FAQ SECTION 2 - Signal Processing for Speech
Q2.1: WHAT SAMPLING DO I NEED FOR SPEECH?
For recorded speech to be understood by humans you need an 8kHz
sampling rate or more and at least 8 bit sampling. This produces poor
quality speech - but in can be understood.
Improvements can be achieved by increasing the number of bits in
sampling to 12bits or 16bits, or by using a non-linear encoding
technique such as mu-law or A-law (see Q2.7). This improves the
"signal-to-noise" ratio.
Increasing the sampling rate above 8kHz, say to 10kHz, 16kHz or 20Khz,
improves the frequency response: the higher the sampling frequency the
better the high frequency content will be. A 16kHz sampling rate is a
reasonable target for high quality speech recording and playback.
When doing speech recognition you need to remember that the your
computer is not as good as your ear so it will have trouble with poor
quality sounds. The choice of an appropriate sampling setup depends
very much on the speech recognition task and the amount of computer
power available.
_________________________________________________________________
Q2.2: HOW DO I FIND THE PITCH OF A SPEECH SIGNAL?
This topic comes up regularly in the comp.dsp newsgroup. Question 2.5
of the FAQ posting for comp.dsp gives a comprehensive list of
references on the definition, perception and processing of pitch.
_________________________________________________________________
Q2.3: HOW DO I FIND THE START AND END POINTS OF A SPEECH SIGNAL?
A large number of papers have been presented on this task. Try the
following papers:
* Rabiner LR, Sambur MR, "An Algorithm for Determining the Endpoints
of Isolated Utterances", Bell System Technical Journal, Vol 54,
No. 2, pp 297-315, 1975.
* Drago, P.G. et al. "Digital Dynamic Speech Detectors." IEEE Trans
on Communications, Vol 26, No 1, Jan 78, pp. 140-145.
* Newman, W.C. "Detecting Speech with an Adapative Neural Network."
Electronic Design. 22 March 1990.
* Taboada. J et al "Explicit Estimation of Speech Boundaries" IEE
Proc. Sci. Meas. Technol., Vol 141, No.3, May 1994 pp153-159.
_________________________________________________________________
Q2.4: WHERE CAN I FIND FFT SOFTWARE?
Try the following file available by anonymous ftp. It contains a
series of optimised fft routines, including mixed-radix algorithms.
The .gz suffix indicates GNU zip format.
* ftp://usc.edu/pub/C-numanal/fft-stuff.tar.gz
_________________________________________________________________
Q2.5: WHAT SIGNAL PROCESSING TECHNIQUES ARE USED IN SPEECH TECHNOLOGY?
This question is far to big to be answered in a FAQ posting.
Fortunately there are many good books which answer the question. Some
good introductory books include
* Digital processing of speech signals; L. R. Rabiner, R. W.
Schafer. Englewood Cliffs; London: Prentice-Hall, 1978
* Voice and Speech Processing; T. W. Parsons. New York; McGraw Hill
1986
* Computer Speech Processing; ed Frank Fallside, William A. Woods
Englewood Cliffs: Prentice-Hall, c1985
* Digital speech processing : speech coding, synthesis, and
recognition edited by A. Nejat Ince; Kluwer Academic Publishers,
Boston, c1992
* Speech science and technology; edited by Shuzo Saito pub. Ohmsha,
Tokyo, c1992
* Speech analysis; edited by Ronald W. Schafer, John D. Markel New
York, IEEE Press, c1979
* Douglas O'Shaughnessy -- Speech Communication: Human and Machine
Addison Wesley series in Electrical Engineering: Digital Signal
Processing, 1987.
* Discrete-time processing of speech signals; John R Deller, John G
Proakis, John H L Hansen; Macmillan 1993.
* Signal processing of speech; F J Owens; Macmillan 1993.
_________________________________________________________________
Q2.6: WHAT SPEECH SAMPLING AND SIGNAL PROCESSING HARDWARE CAN I USE?
In addition to the following information, have a look at the Audio
File format document prepared by Guido van Rossum (see details in
Section 1.8).
Can anyone provide information on Mac, SGI, NeXT and other hardware?
Sun standard audio port: SPARC I & II
* Input and Output: 1 channel, 8 bit mu-law encoded, 8kHz sample
rate. This provides telephone quality sampling.
Sun standard audio port (SPARC 10 & 20)
* Input and Output: Stereo (2 channels). 16-bit linear sampling.
Multiple sample rates (48000, 44100, 37800, 32000, 22050, 18900,
16000, 11025, 9600, 8000 Hz)
Macintosh Audio Hardware - an overview
* Description: ALL Macintosh computers come with the ability to
play back sounds at any sample rate (sample rate conversion is
done in software.) Older machines have 8 bit stereo output
(hardware runs at 22254 samples/second). The newer machines have
16 bit stereo hardare running at 44100 samples/second.
Most of the recent Macintosh computers come with sound input
hardware. There are probably exceptions to this, but the older and
some of the current low-end machines have 8 bit (linear) mono
hardware running at 22254.54 samples/second. All of the PowerPC,
AV, and the 500 series notebook computers come with 16 bit 44kHz
stereo sampling hardware. They can also record at 22050
samples/second. The sound manager implements an AGC (Automatic
Gain Control) function for the 8 bit hardware. The drivers have a
switch to turn off the AGC.
There are a number of DSP vendors that support high quality audio.
Generally this means quieter analog sections, and more IO formats
(AES/IBU, for example). Try DigiDesign and Spectral Innovations.
The software drivers for sound are described in "Inside Macintosh:
Sound". If you want to see some sample code check out the sources
for the Matlab "Sound and Image Toolbox". They can be found at
+ ftp://ftp.apple.com/pub/malcolm/SoundAndImageToolbox.cpt.hqx
Routines that play and record sounds using the toolbox are
included (and interfaced to Matlab).
Ariel Signal Processors
* Platform: Various
* Description: A range of signal I/O, A/D, D/A and DSP products
are available. There are too many to list.
* Contact:
Ariel Corp.
433 River Road, Highland Park, NJ 08904.
Ph: 908-249-2900 Fax: 908-249-2123 DSP BBS: 908-249-2124
IBM RS/6000 ACPA (Audio Capture and Playback Adapter)
* Description: The card supports PCM, Mu-Law, A-Law and ADPCM at
44.1kHz (& 22.05, 11.025, 8kHz) with 16-bits of resolution in
stereo. The card has a built-in DSP (don't know which one). The
device also supports various formats for the output data, like
big-endian, twos complement, etc. Good noise immunity.
The card is used for IBM's VoiceServer (they use the DSP for
speech recognition). Apparently, the IBM voiceserver has a
speaker-independent vocabulary of over 20,000 words and each ACPA
can support two independent sessions at once.
* Cost: $US495
* Contact: ?
Sound Galaxy NX , Aztech Systems
* Platform: PC - DOS,Windows 3.1
* Cost: ?
* Input: 8bit linear, 4-22 kHz.
* Output: 8bit linear, 4-44.1 kHz
* Misc: 11-voice FM Music Synthesizer YM3812; Built-in power
amplifier; DSP signal processing support - ST70019SB Hardware
ADPCM decompression (2:1,3:1,4:1) "AdLib" and "Sound Blaster"
compatbility. Software includes a simple Text-to-Speech program
"Monologue".
Sound Galaxy NX PRO, Aztech Systems
* Platform: PC - DOS,Windows 3.1
* Cost: ?
* Input: 2 * 8bit linear, 4-22.05 kHz(stereo), 4-44.1 KHz(mono).
* Output: 2 * 8bit linear, 4-44.1 kHz(stereo/mono)
* Misc: 20-voice FM Music Synthesizer; Built-in power amplifier;
Stereo Digital/Analog Mixer; Configuration in EEPROM. Hardware
ADPCM decompression (2:1,3:1,4:1). Includes DSP signal processing
support. "AdLib" and "Sound Blaster Pro II" compatybility.
Software includes a simple Text-to-Speech program "Monologue" and
Sampling laboratory for Windows 3.1: WinDAT.
* Contact: USA (510)6238988
ATI Stereo F/X Sound Board
* Platform: PC XT or AT - DOS, Windows 3.0, 3.1
* Cost: $120 Canadian
* Description: Input - 8 bit ADC, 44.1 kHz mono, 22.05 kHz Stereo.
Output - Dynamic range = 48 dB, 32 anti-aliasing filters. Adds
Stereo effect to existing mono Adlib or Sound Blaster apps.
11-voice YAMAHA FM Music Synthesizer. Built-in 8 watt power
amplifier, 4 watts per channel. Volume ctrl on rear. 2 Joystick
input, software setup (no switches), software included. "AdLib"
and "Sound Blaster" compatibility. DMA support for high speed
digital audio. ADPCM decomp @ 4:1, 3:1, 2:1. Will play .WAV files.
Optional MIDI I/O port $79. (MIDI IN, OUT, THRU, and sequencer).
* Contact:
ATI Technologies Inc.
3761 Victoria Park Avenue, Scarborough, Ontario
CANADA, M1W 3S2
Ph: (416) 756-0711 Fax: (416) 756-0720
BBS: (416) 764-9404 (9600 baud N.8.1)
Other PC Sound Cards
============================================================================
sound stereo/mono compatible included voices
card & sample rate with ports
============================================================================
Adlib Gold stereo: 8-bit 44.1khz Adlib ? audio 20 (opl3)
1000 16-bit 44.1khz in/out, +2 digital
mono: 8-bit 44.1khz mic in, channels
16-bit 44.1khz joystick,
MIDI
Sound Blaster mono: 8-bit 22.1khz Adlib audio 11 synth.
FM synth with in/out,
2 operators joystick,
Sound Blaster stereo: 8-bit 22.05khz Adlib audio 22
Pro Basic mono: 8-bit 44.1khz Sound Blaster in/out,
joystick,
Sound Blaster stereo: 8-bit 22.05khz Adlib audio 11
Pro mono: 8-bit 44.1khz Sound Blaster in/out
joystick,
MIDI, SCSI
Sound Blaster stereo: 8-bit 4-44.1khz Sound Blaster audio 20
16 ASP stereo: 16-bit 4-44.1khz in/out,
joystick,
MIDI
Audio Port mono: 8-bit 22.05khz Adlib audio 11
Sound Blaster in/out,
joystick
Pro Audio stereo: 8-bit 44.1khz Adlib audio, 20
Spectrum + Pro Audio in/out,
Spectrum joystick
Pro Audio stereo: 16-bit 44.1khz Adlib audio 20
Spectrum 16 Pro Audio in/out,
Spectrum joystick,
Sound Blaster MIDI, SCSI
Thunder Board stereo: 8-bit 22khz Adlib audio 11
Sound Blaster in/out,
joystick
Gravis stereo: 8-bit 44.1khz Adlib, audio line 32 sampled
Ultrasound mono: 8-bit 44.1khz Sound Blaster in/out, 32 synth.
amplified
out,
(w/16-bit daughtercard) mic in, CD
stereo: 16-bit 44.1khz audio in,
mono: 16-bit 44.1khz daughterboard
ports (for
SCSI and
16-bit)
MultiSound stereo: 16-bit 44.1kHz Nothing audio 32 sampled
64x oversampling in/out,
joystick,
MIDI
=============================================================================
_________________________________________________________________
Q2.7: HOW DO I CONVERT TO/FROM MU-LAW FORMAT?
Mu-law coding is a form of compression for audio signals including
speech. It is widely used in the telecommunications field because it
improves the signal-to-noise ratio without increasing the amount of
data. Typically, mu-law compressed speech is carried in 8-bit samples.
It is a companding technqiue. That means that carries more information
about the smaller signals than about larger signals.
On SUN Sparc systems have a look in the directory /usr/demo/SOUND.
Included are table lookup macros for ulaw conversions. [Note however
that not all systems will have /usr/demo/SOUND installed as it is
optional - see your system admin if it is missing.]
OR, here is some sample conversion code in C.
/**
** Signal conversion routines for use with Sun4/60 audio chip
**/
#include stdio.h
unsigned char linear2ulaw(/* int */);
int ulaw2linear(/* unsigned char */);
/*
** This routine converts from linear to ulaw
**
** Craig Reese: IDA/Supercomputing Research Center
** Joe Campbell: Department of Defense
** 29 September 1989
**
** References:
** 1) CCITT Recommendation G.711 (very difficult to follow)
** 2) "A New Digital Technique for Implementation of Any
** Continuous PCM Companding Law," Villeret, Michel,
** et al. 1973 IEEE Int. Conf. on Communications, Vol 1,
** 1973, pg. 11.12-11.17
** 3) MIL-STD-188-113,"Interoperability and Performance Standards
** for Analog-to_Digital Conversion Techniques,"
** 17 February 1987
**
** Input: Signed 16 bit linear sample
** Output: 8 bit ulaw sample
*/
#define ZEROTRAP /* turn on the trap as per the MIL-STD */
#define BIAS 0x84 /* define the add-in bias for 16 bit samples */
#define CLIP 32635
unsigned char
linear2ulaw(sample)
int sample; {
static int exp_lut[256] = {0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7};
int sign, exponent, mantissa;
unsigned char ulawbyte;
/* Get the sample into sign-magnitude. */
sign = (sample >> 8) & 0x80; /* set aside the sign */
if (sign != 0) sample = -sample; /* get magnitude */
if (sample > CLIP) sample = CLIP; /* clip the magnitude */
/* Convert from 16 bit linear to ulaw. */
sample = sample + BIAS;
exponent = exp_lut[(sample >> 7) & 0xFF];
mantissa = (sample >> (exponent + 3)) & 0x0F;
ulawbyte = ~(sign | (exponent << 4) | mantissa);
#ifdef ZEROTRAP
if (ulawbyte == 0) ulawbyte = 0x02; /* optional CCITT trap */
#endif
return(ulawbyte);
}
/*
** This routine converts from ulaw to 16 bit linear.
**
** Craig Reese: IDA/Supercomputing Research Center
** 29 September 1989
**
** References:
** 1) CCITT Recommendation G.711 (very difficult to follow)
** 2) MIL-STD-188-113,"Interoperability and Performance Standards
** for Analog-to_Digital Conversion Techniques,"
** 17 February 1987
**
** Input: 8 bit ulaw sample
** Output: signed 16 bit linear sample
*/
int
ulaw2linear(ulawbyte)
unsigned char ulawbyte;
{
static int exp_lut[8] = {0,132,396,924,1980,4092,8316,16764};
int sign, exponent, mantissa, sample;
ulawbyte = ~ulawbyte;
sign = (ulawbyte & 0x80);
exponent = (ulawbyte >> 4) & 0x07;
mantissa = ulawbyte & 0x0F;
sample = exp_lut[exponent] + (mantissa << (exponent + 3));
if (sign != 0) sample = -sample;
return(sample);
}
_________________________________________________________________
===========================================================================
FAQ SECTION 3 - Speech Coding and Compression
Q3.1: SPEECH COMPRESSION TECHNIQUES.
Can anyone provide a 1-2 page summary on speech compression?
Note: the FAQ for comp.compression includes a few questions and
answers on the compression of speech.
_________________________________________________________________
Q3.2: WHAT ARE SOME GOOD REFERENCES/BOOKS ON CODING/COMPRESSION?
* Douglas O'Shaughnessy -- Speech Communication: Human and Machine
Addison Wesley series in Electrical Engineering: Digital Signal
Processing, 1987.
* Bishnu Atal in ed. Fallside, F. and W. Woods, ed. Computer Speech
Processing. London: Prentice/Hall International, 1985.
* Makhoul, J. "Linear Prediction: A Tutorial Review." Proc. of the
IEEE 63 (1975): 561 - 580.
_________________________________________________________________
Q3.3: WHAT SPEECH COMPRESSION/CODING SOFTWARE IS AVAILABLE?
Note: there are two types of speech compression technique referred to
below. Lossless technqiues preserve the speech through a
compression-decompression phase. Lossy techniques do not preserve the
speech prefectly. As a general rule, the more you compress speech, the
more the quality degardes.
File format conversion
* Platform: SUN OS?
* Description: Conversion utility able to encode and decode
between the the following formats: G.723, G.721, A-law, u-law and
linear.
* Availability: By anonymous ftp from
+ ftp://ftp.cwi.nl/pub/audio/ccitt-adpcm.tar.Z
shorten - a lossless compressor for speech signals
* Platform: UNIX/DOS
* Description: A fast waveform coder suitable for a speech and
music signals in a wide variety of file formats. The degree of
compression is adjustable from lossless to three bits a sample.
16bit 16kHz speech generally attains 50% lossless compression and
16:3 compression of CDROM quality speech is obtainable with only
minor audiable degredation.
* Availability: Anonymous ftp - UNIX and DOS versions are in
+
ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/sources/shorten-1.
14.tar.Z
+
ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/sources/shn114.zip
32 kbps ADPCM
* Platform: SGI and Sun Sparcs
* Description: 32 kbps ADPCM C-source code (G.721 compatibility is
uncertain)
* Contact: Jack Jansen
* Availablity: Anoymous ftp
+ ftp://ftp.cwi.nl/pub/adpcm.shar
GSM 06.10 Compression
* Platform: Unix; faster than real time on most Sun SPARCstations
* Description: GSM 06.10 is a standardized lossy speech
compression employed by most European wireless telephones. It uses
RPE/LTP (residual pulse excitation/long term prediction) coding to
compress frames of 160 13-bit samples (8 kHz sampling rate, i.e. a
frame rate of 50 Hz) into 260 bits.
* Contact: GSM 06.10 support and implementation
jutta@cs.tu-berlin.de, cabo@cs.tu-berlin.de
* Availability: The following configurations are available be
anonymous ftp:
+ gzip compression from Germany:
ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/gsm-1.0.5.
tar.gz
+ MS-DOS compression from Germany:
ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/gsm-105.zi
p
+ MS-DOS compression from USA:
ftp://ftp.mv.com/pub/ddj/1194.12/gsm-105.zip
* Misc: The WWW site is
+ http://www.cs.tu-berlin.de/~jutta/toast.html
G.711/721/723 Compression
* Description:
+ G.711 : CCITT u-law and A-law compression
+ G.721 : CCITT 32 kbps ADPCM coder
+ G.723 : CCITT 24 kbps and 40 kbps ADPCM coders
* Availability: By email to teledoc@itu.arcom.ch, with
GET ITU-3022
as the *only* line in the body of the message. This is also available
by anonymous ftp from:
+
ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/sources/G711_G721_
G723.tar.Z
G.728 Compression
* Description: G.728 low delay celp package written by Alex
Zatsman of Analog Devices, Inc.
* Availability: By anonymous ftp from
+ ftp://dspsun.eas.asu.edu/pub/speech/ldcelp.tgz
G.728 LD-CELP vocoder
* Platform: Analog Devices ADSP-2171
* Description: Real-time, full-duplex G.728 LD-CELP vocoder that
runs on a single Analog Devices ADSP-2171. Source and object code
available for a one-time license fee.
* Contact:
Cole Erskine
Analogical Systems
299 California Avenue, Suite 120
Palo Alto, CA 94306, USA
Tel:(415) 323-3232 FAX:(415) 323-4222
Internet: cole@analogical.com
U.S.F.S. 1016 CELP vocoder for DSP56001
* Platform: DSP56001
* Description: Real-time U.S.F.S. 1016 CELP vocoder that runs on a
single 27MHz Motorola DSP56001. Free demo software available for
PC-56 and PC-56D. Source and object code available for a one-time
license fee.
* Contact:
Cole Erskine
Analogical Systems
299 California Avenue, Suite 120
Palo Alto, CA 94306, USA
Tel:(415) 323-3232 FAX:(415) 323-4222
Email: cole@analogical.com
8 Kbit/s CELP on the TMS320C5x family of DSP chips
* Description: For low bandwidth transmission of voice, compact
voice storage for archival purposes, low-cost digital answering
machines and efficient storage for voice mail. Features :
+ near toll quality at 8 Kb/s.
+ Variable rate option with 1 Kb/s silence encoding.
+ Implemented on a fixed-point processor for lower system cost.
+ Attractive licensing scheme.
+ Future availability of 4 Kb/s.
+ Custom rates possible.
Capacity :
+ Two half-duplex or one full duplex channels on the 20 MIPS
'C5x (at 95% and 55% CPU utilization respectively).
+ Two full duplex channels on the 28.6 MIPS 'C5x (at 77% CPU
utilization).
+ Requires 9 K-words program memory and 3 K-words data memory.
+ Decoding in real-time on a 486 class CPU.
* Contact:
CVI Inc.
443 Vienna Cres. North Vancouver, BC, Canada V7N 3B3
Tel: (604) 987 1719 Fax: (604) 986 8139
Email: cvi@extropia.wimsey.com
CELP 3.2a & LPC
* Platform: Sun (the makefiles & source can be modified for other
platforms)
* Description: CELP is lossy compression technqiue. The U.S. DoD's
Federal-Standard-1016 based 4800 bps code excited linear
prediction voice coder version 3.2a (CELP 3.2a) Fortran and C
simulation source codes. Available for worldwide distribution (on
DOS diskettes, but configured to compile on Sun SPARC stations)
from NTIS and DTIC. Example input and processed speech files are
included. A Technical Information Bulletin (TIB), "Details to
Assist in Implementation of Federal Standard 1016 CELP," and 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 also available.
* Availability 1: Through the National Technical Information
Service:
NTIS
U.S. Department of Commerce
5285 Port Royal Road, Springfield, VA 22161, USA
The "AD" ordering number for the CELP software is AD M000 118 (US$
90.00) and for the TIB it's AD A256 629 (US$ 17.50). The LPC-10
standard, described below, is FIPS Pub 137 (US$ 12.50). There is a
$3.00 shipping charge on all U.S. orders. The telephone number for
their automated system is 703-487-4650, or 703-487-4600 if you'd
prefer to talk with a real person.
(U.S. DoD personnel and contractors can receive the package from
the Defense Technical Information Center: DTIC, Building 5,
Cameron Station, Alexandria, VA 22304-6145. Their telephone number
is 703-274-7633.)
* Availability 2: By anonymous ftp from:
+ ftp://ftp.super.org(192.31.192.1)/pub/celp_3.2a.tar.Z
+ OR
ftp://svr-ftp.eng.cam.ac.uk/comp.speech/sources/celp_3.2a.tar
.Z
* Misc: 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 Conf. on Acoustics, Speech, and Signal
Processing, 1986, p. 473-6.
Copies of the official standard, "Federal Standard 1016, Tele-
communications: Analog to Digital Conversion of Radio Voice by
4,800 bit/second Code Excited Linear Prediction (CELP)" are
available for US$ 5.00 each from:
GSA Federal Supply Service Bureau
Specification Section, Suite 8100
470 E. L'Enfant Place, S.W.
Washington, DC 20407
(202)755-0325
Realtime DSP code for FS-1015 and FS-1016 is sold by:
John DellaMorte, DSP Software Engineering
165 Middlesex Tpk, Suite 206, Bedford, MA 01730, USA
Ph: 1-617-275-3733 Fax: 1-617-275-4323
dspse.bedford@channel1.com
DSP Software Engineering's FS-1016 code can run on a DSP Research's
Tiger 30 (a PC board with a TMS320C3x and analog interface suited
to development work).
DSP Research
1095 E. Duane Ave, Sunnyvale, CA 94086, USA
Ph: (408)773-1042 Fax: (408)736-3451
_________________________________________________________________
===========================================================================
FAQ SECTION 4 - Natural Language Processing
There is now a newsgroup specifically for Natural Language Processing.
It is called comp.ai.nat-lang.
There is also a lot of useful information on Natural Language
Processing in the FAQ for comp.ai. That FAQ lists available software
and useful references. It includes a substantial list of software,
documentation and other info available by ftp.
_________________________________________________________________
Q4.1: WHAT ARE SOME GOOD REFERENCES/BOOKS ON NLP?
Take a look at the FAQ for the "comp.ai" newsgroup as it also includes
some useful references.
* James Allen: Natural Language Understanding, (Benjamin/Cummings
Series in Computer Science) Menlo Park: Benjamin/Cummings
Publishing Company, 1987.
+ This book consists of four parts: syntactic processing,
semantic interpretation, context and world knowledge, and
response generation.
* G. Gazdar and C. Mellish, Natural Language Processing in Prolog,
Addison Wesley, 1989
* G. Gazdar and C. Mellish, Natural Language Processing in Lisp,
Addison Wesley, 1989
* G. Gazdar and C. Mellish, Natural Language Processing in Pop11,
Addison Wesley, 1989
+ Emphasis on parsing, especially unification-based parsing,
lots of details on the lexicon, feature propagation, etc.
Fair coverage of semantic interpretation, inference in
natural language processing, and pragmatics; much less
extensive than in Allen's book, but more formal. There are
three versions, one for each programming language listed
above, with complete code.
* Shapiro, Stuart C.: Encyclopedia of Artificial Intelligence Vol.1
and 2. New York: John Wiley & Sons, 1990.
+ There are articles on the different areas of natural language
processing which also give additional references.
* Paris, Ce'cile L.; Swartout, William R.; Mann, William C.:
Natural Language Generation in Artificial Intelligence and
Computational Linguistics. Boston: Kluwer Academic Publishers,
1991.
+ The book describes the most current research developments in
natural language generation and all aspects of the generation
process are discussed. The book is comprised of three
sections: one on text planning, one on lexical choice, and
one on grammar.
* Readings in Natural Language Processing, ed by B. Grosz, K.
Sparck Jones and B. Webber, Morgan Kaufmann, 1986
+ A collection of classic papers on Natural Language
Processing. Fairly complete at the time the book came out
(1986) but now seriously out of date. Still useful for ATN's,
etc.
* Klaus K. Obermeier, Natural Language Processing Technologies in
Artificial Intelligence: The Science and Industry Perspective,
Ellis Horwood Ltd, John Wiley & Sons, Chichester, England, 1989.
Journals
The major journals of the field are
* Computational Linguistics and Cognitive Science for the
artificial intelligence aspects,
* Cognition for the psychological aspects,
* Language and Linguistics and Philosophy and Linguistic
Inquiry for the linguistic aspects.
* Artificial Intelligence occasionally has papers on natural
language processing.
Conferences
The major conferences of the field are
* ACL (held every year)
* and COLING (held every two years). Most AI conferences have a NLP
track; AAAI, ECAI, IJCAI and the Cognitive Science Society
conferences usually are the most interesting for NLP. CUNY is an
important psycholinguistic conference. There are lots of
linguistic conferences: the most important seem to be NELS, the
conference of the Chicago Linguistic Society (CLS), WCCFL, LSA,
the Amsterdam Colloquium, and SALT.
_________________________________________________________________
Q4.2: WHAT NLP SOFTWARE IS AVAILABLE?
Check the comments at the start of this section for information on
other newsgroups and sources of information on NLP.
Natural Language Software Registry (NLSR) - NLP Tools
* The Natural Language Software Registry is available from the
German Research Institute for Artificial Intelligence (DFKI) in
Saarbrucken. Its purpose is to facilitate the exchange and
evaluation of natural language processing software within the
research community. To this end, the NLSR is cataloging natural
language software projects, both commercial and non- commercial.
The new updated and enlarged version contains more than 100
descriptions of natural processing software. Registry listings
include:
+ speech signal processors, such as the Computerized Speech Lab
(Kay Elemetrics)
+ morphological analyzers, such as PC-KIMMO (Summer Institute
for Linguistics)
+ parsers, such as Alveytools (University of Edinburgh)
+ semantic and pragmatic analyzer, such as NLL (University of
the Saarland, Germany)
+ generation programs, such as FUF (Ben Gurion University of
the Negev)
+ knowledge representation systems, such as Rhet (University of
Rochester)
+ multicomponent systems, such as ELU (ISSCO), PENMAN (ISI),
Pundit (UNISYS), SNePS (SUNY Buffalo),
+ NLP-Tools, such as GULP (University of Georgia) or Linguist
(Kansai Research Laboratory)
+ applications programs (misc.)
* If you have developed a piece of software for natural language
processing that other researchers might find useful, you can
include it by returning the questionnaire available from the
sources below.
* ftp://ftp.dfki.uni-sb.de/pub/registry
* e-mail: registry@dfki.uni-sb.de
* post:
Natural Language Software Registry
Deutsches Forschungsinstitut fuer Kuenstliche Intelligenz (DFKI)
Stuhlsatzenhausweg 3
D-66123 Saarbruecken
Germany
* Other ftp sites are
+ ftp://crlftp.nmsu.edu/pub/non-lexical/NL_Software_Registy
+ ftp://dri.cornell.edu/pub/Natural_Language_Software_Registry
Part of Speech Tagger
* Description: A rule-based part pf speech tagger developed by
Eric Brill. For a detailed description of the tagger see chapter 6
of his thesis.
* Availability: The tagger and description are available by
anonymous ftp from
+ ftp://lightning.lcs.mit.edu/pub/BRILL/Programs & Papers
_________________________________________________________________
Andrew Hunt
---
Speech Technology Research Group Ph: 61-2-351 4509
Dept. of Electrical Engineering Fax: 61-2-351 3847
University of Sydney, NSW, 2006, Australia email: andrewh@speech.su.oz.au