Creature Sounds in MAX/MSP
Recently I undertook a project to create a system in MAX/MSP that could manipulate a vocal input in real time for the creation of creature sounds. All of the creature sounds found in my current sound design showreel were created using this system, which I shall explain here.
The primary inspiration for the system was Dehumaniser by Krotos. One of the features I was keen to emulate was the ability to convolve human voices with animal sounds in real time. This however posed a problem, as the vocal input in a continuous signal, whereas the animal samples it is being convolved with are of finite length. One solution to this is to simply loop the animal samples, however this approach is not particularly responsive to input. The solution I arrived at involved a combination of granular synthesis and convolution. A granular synthesis engine scrubs through the animal sample, with the position of the playhead governed by the RMS amplitude of the voice input. This means that the louder the input gets, the further towards the end of the sample the playhead will get. This approach proved effective for two reasons. Not only does the scrubbing method ensure that there is always material to convolve the voice with, but many animal calls will naturally start soft and get progressively louder. This leads to a good amount of dynamic tracking between the input and the animal sample. Three samples can be loaded into the system simultaneously to allow for blending of different animal calls.
In order to ensure the system was capable of creating the largest range of sounds possible, a modular approach was taken to the design. At the heart of the system is a routing matrix that allows the user to route any of the various modules to any other, in whatever order they see fit, and a mixer that allows the user to combine multiple signal chains. The mixer also contains a number of master effects such as stereo width enhancement, compression, delay and reverb. Each module features an independent send level for both delay and reverb effects for maximum flexibility.
The system features a parallel distortion processor that allows for overdrive, bit crushing and waveshaping via either Chebyshev polynomials or a transfer function drawn by the user. Very useful for adding some grit!
There are probably too many modules to cover in detail here, but to summarise the other modules include:
- Resonators based on the Karplus-Strong model to emulate the vocal resonances of alien creatures
- A ring modulator for robotic/synthetic sounds
- Pitch shift to easily alter the perceived size of the creature
- An input responsive formant filter to add a more vocal quality to processed sounds
- A vocoder with blendable carrier waveforms
- A frequency shifter to allow for Darth Vader-esque vocalisations
- An additional granular synthesis module with an emphasis on creating highly warped sounds
- A recording module to allow the user to easily capture sounds for export to a DAW etc
- Difference between protonix and nexium
I am currently working on creating a stable standalone version of the system, which I am hoping to post here for free download at some point soon. Stay tuned!