{'fraction_non_alphanumeric': 0.02273271117492223, 'fraction_numerical': 0.0011964584828906438, 'mean_word_length': 5.093294460641399, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Flexible Sound Effects

Despite exponential growth in the power of consumer computers and despite the dollars generated by the “interactive” multimedia industry (particularly in the form of games), applications using more than trivially interactive sounds are almost non-existent. To address this state of affairs, we have developed a) a collection of controllable sound effects, b) a graphical interface for selecting sounds and controlling parameters in real-time, c) an API for using the sounds in other applications, and d) a manager for timing and queuing simultaneous embedded sound processes. Our sound effects models are based on wavetable event patterns with table lengths and event rates that range between sample-file playback on one extreme and granular synthesis on the other. Most of the interactivity is at the level of controlling algorithms for event generation. The demonstration will focus on the range of sound classes for which this representation is effective. The noise instruments of Luigi Russolo were among the first of a long line of ingenious contraptions used to create sound effects to accompany theatrical and film performances through the first half of this century. Through the careful attention and skills of the instrumentalist, sounds were intimately tied to the actions on the stage or screen, and were naturally “realtime interactive”. The current state-of-the-art of sound in multimedia typically involves the playback of prerecorded sounds, and interactivity is limited to initiation and volume. Furthermore, we are subject to waterfalls made of three second loops, and crashes that sound exactly the same at each occurrence. Our goal is to provide developers (non experts in synthesis) with tools to build more realistic audio experiences into any application on current popular computer platforms. While CPU speed and lack of operating system support are obvious reasons why realtime general purpose synthesis is not a part of most applications, there is an equally fundamental non-technical reason for its absence, and that is the lack of tools to bridge the gap between sound synthesis and people who “don’t know much about sound, but know what they like.” The usability issues of sound control strategies and graphical and code interfaces for embedding flexible sounds in applications is addressed elsewhere (Wyse and Kellock, 1997). Here we focus on sound modeling techniques. Our approach has been to construct sounds via the algorithmic generation of events. The atomic “events” are wavetables, so the CPU is burdened with sound construction primarily at the “event rate”. This is significant, because our system is designed to be embedded in applications that are typically CPU intensive themselves, such as virtual environments and games. We have been able to construct a wide class of flexible sounds models within the event-generation paradigm. The justification for this approach to sound modeling goes beyond computational costs. There are no sounds that fall outside the domain of sound effects. Some effects are not meant to be imitations of real-world sounds (e.g. cartoon whooshes, bonks, etc.), but many must not reveal a synthetic origin if they are to be effective. Decades of research have been devoted to developing digital synthesis techniques that produce “realistic” musical instrument sounds. While steady progress is being made with specific techniques for specific sound sources or types, there is nothing that approaches the generality and realism of using actual recordings in wavetable synthesis (Figure 1). Recorded sounds are not models, and they provide little in the way of flexibility, but when constructing sounds out of patterns of many events, we have access to the parameters that control the event patterns. In general, the shorter the “atomic” events are, the more control we have over the constructed sound until we reach the far end of this scale where we have the complete generality of granular synthesis. Before we reach that extreme, however, we can get interesting handles on sound construction, and provide a degree of interactivity far beyond current practice for a wide range of sounds.