7. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a sound-recognition operation, the method comprising: recognizing a sequence of sound primitives in an audio stream, wherein a sound primitive is associated with a semantic label comprising one or more words that describe a sound characterized by the sound primitive, wherein recognizing the sequence of sound primitives comprises, performing a feature-detection operation on a sequence of sound samples from the audio stream to detect a set of sound features, wherein each sound feature comprises a measurable characteristic for a time window of consecutive sound samples, and wherein detecting the sound feature involves generating a coefficient indicating a likelihood that the sound feature is present in the time window, creating a set of feature vectors from coefficients generated by the feature-detection operation, wherein each feature vector comprises a set of coefficients for sound features in the set of sound features, and identifying the sequence of sound primitives from the sequence of feature vectors; feeding the sequence of sound primitives into a finite-state automaton that recognizes events associated with sequences of sound primitives; and feeding the recognized events into an output system that generates an output associated with the recognized events to be displayed to a user.
9. The non-transitory computer-readable storage medium of claim 7 , wherein feeding the sequence of sound primitives into the finite-state automaton comprises: feeding the sequence of sound primitives into a first-level finite-state automaton that recognizes first-level events from the sequence of sound primitives to generate a sequence of first-level events; feeding the sequence of first-level events into a second-level finite-state automaton that recognizes second-level events from the sequence of first-level events to generate a sequence of second-level events; and repeating the process for zero or more additional levels of finite-state automatons to generate the recognized events.