The InsaniacA sonic particle cloud computation engine and kinematically-informed synthesis experience
Insaniac_Files.zip - Zip file containing code and XCode project
Moon_Tremor.m4a - Drone music created with the insaniac, 11:36, 186MB, Apple Lossless
A fun, inspiring, informative and (maybe) useful toy/instrument/artwork. While Insanic provides visual facilities for experimenting with various parameters of granular sound synthesis, it truly is intended as a meditative piece of generative art. In a way, it is like a screensaver which is saving both your screen and you ears.
Historically, software for particle-based synthesis has been either too simplistic to afford a wide coverage of the various techniques (such as those proposed by Curtis Roads), or overly generalized in programming tools that are difficult to use for average users. Musical instruments should be beautiful and inspiring, software applications should be intuitive to use, and experimental 'laboratories' should be highly flexible. The Insaniac began as an attempt to create a beautiful, inspiring, and flexible granular synthesizer. After working on the project for several weeks, we realized that rather than creating a standard synthesizer, it might be fun and more novel to create a granular environment which accepts fewer parameters and uses them to produce an endless generative audio/visual piece based on the input. In this way, we could create a non-repeating generative world that could essentially play itself continuously, but still be changed or "played" by the user at command. We feel that our end product is certainly beautiful, as it is both visual and aurally soothing and is constantly morhping. It is inspiring because it can embrace you with calm wonder. And it is definitely flexible. How many other instruments continue to play on their own without repetition, but are also equally as willing to accept user input at any time and change.
As little understood as granular synthesis is, kinematics is hardly used at all in sound synthesis except by synthesists who are also programmers (think specialized max/pd/processing patches or gaming engines). There is an irony to this, since so much of our understanding of real sounds comes from the way objects interact with their enviornment. Computers are capable of simulating these interactions, so it seems appropriate to utilize kinematics for both realistic and abstract sound synthesis.
Kinematics ∩ Granular
Can you imagine the sonification of a rain cloud floating in the sky? What happens when the water molecules condense to raindrops? What is the sound of a raindrop falling? What does it sound like when a single raindrop hits the ground? What if the sky turns to Jell-O as the cloud passes through it? These are questions that can be mused upon using The Insaniac.
The user experience is simple: the granular synthesis engine plays sounds, which are visualized on the screen by bubbles. The bubbles are magnetically attracted based on their size. As the particles move and interact, control data is sent back to the synthesis engine for sonification. When they touch, given that they are a compatible size, they combine (which is sonified.) And when enough bubbles combine to hit a user-defined threshold, the bubbles drop with gravity to the floor, which is also sonified. This can all be done as fast or slow as the user defines, forming anything from very soothing to downright unsettling results.
The core feature set of The Insaniac is as follows:
- Cloud Generator Module
- Describes grain cloud parameters (grain size, window type, density, pitch, etc)
- Values have min/max ranges for controls over stochastics
- Performs Sample-based and synthetic synthesis
- Kinematic Alogorithm
- Magnetically attracts sound grains (bubbles) to each other
- Combines them on impact
- Gives them gravity at a user definable threshold of combinations
- Interaction Sound Design
- Long grain clouds are formed with the bubbles and create the main drone
- Filtered random noise is created on each bubble combination
- More granualar grain clouds are used for the sounds of the bubbles dropping
- Monday 11/16:
- Adam: Working synthetic granular synth engine with UI controls
- Nick: Prototype variety of physical simulations in processing
- Friday 11/20:
- Adam and Nick: Integrate processing code into C++ OpenGL environment
- Adam: Visualize sound particles
- Monday 11/31:
- Adam and Nick: Integrate the graphics with the audio
- Adam: Generalize and Modularize code
- Final Presentation Thursday 12/10:
- Adam and Nick: Sound and Visual Design
- Multiple kinematic/granular scenes
- Further mapping between the audio and visual environments
- Interaction with the kinematic processes