|Part One: Creating the Volume Meter
Create a 320*240 composition.
Import three solids: red, yellow, and green, each the size of 50*70 and arrange them as a volume meter:
Now we need to give it the look of real volume meter. Let's pre-compose the three solids, by selecting
them, and pressing Ctrl+Alt+C and choose the option “move all attributes into the new composition” and name it volume meter.
Import a new solid the size of the composition and lay it over our new pre-composition.
On this new solid we’ll apply the grid effect, from the Render group. Give the Border the value 4, and the corner the
value 226, 128, so there are no vertical lines over our volume meter.
Change the track matte of the volume meter layer to "Alpha inverted matte" and you'll get
something like this:
Now again, precompose the two Layers, let's name them volume meter (again) and apply the Glow Effect from the Stylize
group, and we have our volume meter.
We need this volume meter to respond to music, lets import a sound file, drag it to time line, and then right click
From keyframe assistant choose "convert Audio to keyframes" and you'll have a new layer called "Audio Amplitude". Click
the small triangle on the next to the layer, choose effects, then click the triangle next to "both channels" you'll see a stop watch next to the word "slider". keep it opened, because we'll
need it soon.
On the volume meter layer, apply the Linear wipe effect from the transition group, make the wipe angle 180.
Alt click the stop watch of the "transition complete" and drag the pick whip from transition complete to the slider
in the Audio Amplitude Layer:
You'll notice that this is not the result you wanted as the red area is moving slowly and in the opposite
Let's correct this by going to the transition complete, where we see the following expression written:
thisComp.layer("Audio Amplitude").effect("Both Channels")("Slider")
Press the expression -so you can edit it- and at the end of it write *-2+100, so our new expression will
thisComp.layer("Audio Amplitude").effect("Both Channels")("Slider")*-2+100
If you don't care to know what this addition did, it's ok but if you do, here's what happened:
When we gave a transition angle of 180, we meant that we wanted the transition to be from up to down, then we linked it
to the audio keyframes. The problem with those keyframes is that when there is no sound, they have the value of zero, and they have greater value when the sound is louder. So, by adding
100 to the transition, it makes the transition has a 100% value when there is no sound, by multiplying it with a minus number, it moves. Let's say that the music keyframe has the value of
three, the result of the transition will be: 3*-2+100=94.
Why -2 and not -1? Because the differences between keyframes values are very small, so we have to "amplify" these
differences by multiplying them.. you can try other numbers, but the result will be very extreme and not realistic.
Our job is technically done, but we still can add some fun to our composition.
Create a new composition, and drag comp1 to it. Duplicate it three times, so we have four copies of it. Name the layers:
front, back, left right, and turn them into 3d layers.
Give the four layers the following transform values:
- front: change the y position to 95
- back: change the z position to 50, change the y position to 95
- right: give the y rotation a value of 90 degrees and the x position the value of 185, change the y position
- left: give the y rotation a value of 90 degrees and the x position the value of 135,change the y position to
now add a new layer, make it 3D layer. give it the following values: position values: 170,203,0
Add a new spot light, with the option cast shadow turned on. from the material option of each layer, activate the cast
Add a new camera, and add the following expression to the position property of the camera:
where z is the zoom value of the camera, and y is y position of the targeted layers, in our case the expression goes like
You'll notice that the camera is now moving in a circle around our volume meter.
*tip of the day: for the expression guys, instead of writing the long boring: Math.paw(time,2) just write: time*time..
it will do.