内容简介
1 Introduction
1.1 About this book
1.2 Purpose of this book
1.3 Some reasons to use this book
1.4 What's in the book(and what's not)
1.5 Computational set-up needed for this book
1.6 Computational skills that are necessary in order to use the book
1.7 Free software suggestions
1.8 Book structure
2 Sounds and numbers
2.1 Preparatory assignments
2.2 Solutions
2.3 Sampling
2.4 Quantization
2.5 The sampling theorem
2.6 Generating a signal
2.7 Numeric data types
2.8 The program
2.9 Structure of a loop
2.10 Structure of an array
2.11 Calculating the cosine values
2.12 Structure of the program
2.13 Writing the signal to a file
Chapter summary
Further Exercises
Further reading
3 Digital filters and resonators
3.1 Operations on sequences of numbers
3.2 A program for calculating RMS amplitude
3.3 Filtering
3.4 A program for calculating running means of 4
3.5 Smoothing over a longer time-window
3.6 Avoiding the need for long window
3.7 IIR filters in C
3.8 Structure of the Klatt formant synthesizer
Chapter summary
Exercises
Further reading
4 Frequency analysis and linear predictive coding
4.1 Spectral analysis
4.2 Spectral analysis in C
4.3 Cepstral analysis
4.4 Computation of the cepstrum in C
4.5 Pitch tracking using cepstral analysis
4.6 Voicing detection
4.7 f0 estimation by the autocorrelation method
4.8 Linear predictive coding
4.9 C programs for LPC analysis and resynthesis
4.10 Trying it out
4.11 Applications of LPC
Chapter Summary
Further exercises
Further reading
5 Finite-state machines
5.1 Some simple examples
5.2 A more serious example
5.3 Deterministic and non-deterministic automata
5.4 Implementation in Prolog
5.5 Prolog's processing strategy and the treatment of variables
5.6 Generating strings
5.7 Three possibly useful applications of that idea
5.8 Another approach to describing finite-state machines
5.9 Self-loops
5.10 Finite-state transducers(FSTs)
5.11 Using finite-state transducers to relate speech to phonemes
5.12 Finite-state phonology
5.13 Finite-state syntactic processing
Chapter summary
Further exercises
Further reading
6 Introduction to speech recognition techniques
6.1 Architectures for speech recognition
6.2 The pattern-recognition approach
6.3 Dynamic time warping
6.4 Applications
6.5 Sources of variability in speech
Chapter summary
Further reading
7 Probabilistic finite-state models
7.1 Introduction
7.2 Indeterminacy:n-gram models for part-of-speech tagging
7.3 Some probability theory for language modelling
7.4 Markov models
7.5 Trigram models
7.6 Incompleteness of the training corpus
7.7 Part-of-speech model calculations
7.8 Using HMMs for speech recognition
7.9 Chomsky's objections to Markov models and some rejoinders
Chapter summary
Further reading
8 Parsing
8.1 Introduction
8.2 A demo
8.3 'Intuitive'parsing
8.4 Recursive descent parsing
8.5 The simplest parsing program
8.6 Difference lists
8.7 Generating a parse tree
8.8 Syllabification
8.9 Other parsing algorithms
8.10 Chart parsing
8.11 Depth-first vs.breadth-first search
8.12 Deterministic parsing,Marcus parsing and minimal commitment parsing
8.13 Parallel parsing
Chapter summary
Further reading
9 Using probabilistic grammars
9.1 Motivations
9.2 Probabilistic context-free grammars
9.3 Estimation of rule probabilities
9.4 A practical example
9.5 A limitation of probabilistic context-free grammars
9.6 Tree adjoining grammars
9.7 Data-oriented parsing
Chapter Summary
Conclusion and suggestions for further reading
Appendix:The American Standard Code for Information Interchange(ASCII)
Glossary
References
Index