First International Conference on Spoken Language Processing (ICSLP 90)

Kobe, Japan
November 18-22, 1990

WAL - A Speech Recognition Programming Language

S. Atkins, P. Kenne, D. Landy, S. Nulsen, M. O'Kane

University of Canberra, Belconnen, Australia

The Wave Analysis Language (WAL) is a functional programming language which is primarily designed to allow rapid writing, testing and modification of speech-to-phonetics recognition rules. WAL has an extremely simple production-rule syntax which is easy for non-programmers to learn and use. The simplicity and innate modularity of the WAL syntax is accompanied by a rich semantic expressive capacity for capturing and combining those features of a speech waveform and various associated signal processing derivations that indicate the presence of whatever phoneme of phonetic class is under consideration.

The result of the recognition rule firings can be examined interactively through a flexible signal processing package into which WAL has been embedded. Rules can also be batched to run over a labelled speech database with the rules being run in inverse mode to provide an explanation for mis-firings. Output from WAL can also be produced in the form of a string of phonetic labels which can be considered either with or without time alignment to the original speech waveform. This phonetic string can be passed to other components of a speech recognition or understanding system. Thus WAL is used both as a recognition rule development tool and as an integral component of a large speech recognition/understanding architecture. Rules in WAL can be combined explicitly using the various temporal reasoning primitives provided ('and', 'or', 'not', 'then', 'before', 'after') or implicitly using a context-tree mechanism which allows for hierarchical overwriting. Rules can be either categorical or probabilistic. WAL includes the notion of 'rubber-templates' i.e. a set of primitives for describing shapes and their deformations. This idea, together with the ability to perform temporal reasoning, provides a powerful extension to picture languages and their use in speech recognition. The original version of the language was implemented in Prolog and has now been reimplemented in C. It and the associated signal processing package are now maintained both under MS-DOS and Unix.

Full Paper

Bibliographic reference.  Atkins, S. / Kenne, P. / Landy, D. / Nulsen, S. / O'Kane, M. (1990): "WAL - a speech recognition programming language", In ICSLP-1990, 233-236.