One of the most common requests to arrive in the 3D World inbox is for tutorials explaining how to create a procedural animation driven automatically by a soundtrack. This month, that request can finally be ticked off the list. In this tutorial we'll explore how use 3ds Max to model a basic loudspeaker using spline curves, shared lathing and a touch of polygon modelling, then get the speaker cone and the diaphragm flexing in time to an audio sample. As a final touch, we'll show you how to generate 'soundwaves' emitted by the speaker, driven by a Particle Flow system.
The basic animation set-up consists of an AudioFloat controller included within a Dummy object's Position controller, so that the audio track (also loaded into the scene's main Sound track for playback) repositions the Dummy object according to the amplitude of the WAV file at each frame. Objects will then be linked directly to this Dummy using Max's standard Link tool, or by using a Linked XForm modifier so that sub-object selections can be assigned to generate the flexing motion of the rubber cone and diaphragm.
By adding additional AudioFloat controllers, the WAV file can be used to drive not only positional controllers but a particle system, so that when the speaker flexes to emit a burst of sound, the system will also generate a higher number of particles, at a higher velocity. The particles themselves reference a Torus primitive which has an animated Radius 2 value. Animated particle scaling based on particle age then makes the resulting 'wave' appear to dissipate over time.
You aren't limited to one specific type of input in a project of this type: the animation could also be controlled by additional MIDI inputs or direct motion capture, or blended with keyframed animation or noise, using List controllers to mix between the inputs.
The settings used in the walkthrough are based on the audio track supplied in the support files. This is a basic vocal sample, so if you plan to use your own WAV file, you may need to tweak the Threshold and Oversampling values. Otherwise, you're quite likely to end up with deformations and particle emissions that would blow up your speaker!