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