For my masters in computer science at UBC, I developed a tool to help produce randomized audio streams from samples of source material. It was built to help create soundscapes for virtual environments and other scenarios where long streams of audio are used. While mostly in the background, these streams are vital for the creation of mood and realism.
Our approach is to extract the component parts of sampled audio signals, and use them to resynthesize a continuous audio stream of indeterminate length. An automatic segmentation algorithm involving wavelets is used to split the input signal into syllable-like audio segments that we call natural grains. For each grain, a table of similarity between it and all the other grains is constructed. The grains are then output in a continuous stream, with the next grain being chosen from among those other grains which best follow from it. Using this sampling-resynthesis technique, we can construct an infinite number of variations on the original signal with a minimum amount of interaction. Examples of original and resynthesized audio. [MORE…]