Kevin Camp
Forum Replies Created
-
Kevin Camp
June 17, 2014 at 6:11 pm in reply to: How to generate a static waveform presentation of an audio file.to clamp the audio amplitude scale expression to a max of 100%, you could change the s line to this:
s = Math.min(100,linear(avg,0,maxAmp,0,100));
that will make it better resemble the example you posted, and it may make it so you don’t need to adjust the maxAmp value as often.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
June 17, 2014 at 5:42 pm in reply to: How to generate a static waveform presentation of an audio file.i think this will get you what you want.
first you’ll want to create a new comp, add a file that has audio and then convert the audio to key frames.
then add a new solid with the width that you want each line to be and the height that you want the maximum height to be (ex: 4 x 100), and drag it bellow the audio amplitude layer (that was created by convert audio to keyframes).
on that solid you’ll want to add these expressions.
for position:
target = thisComp.layer(“Audio Amplitude”);
offset = 1;
x = (index – target.index) * (width + offset);
value + [x,0]and for scale:
lines = 100;
maxAmp = 18;
target = thisComp.layer(“Audio Amplitude”);
amp = target.effect(“Both Channels”)(“Slider”);
smpl = amp.numKeys / lines;
smplT = framesToTime((index – target.index) * smpl – (smplT / 2));
avg = amp.smooth(framesToTime(smpl)/2, smpl, smplT)
s = linear(avg,0,maxAmp,0,100);
[100,s]the position expression will offset the solid (and copies of the solid) horizontally by the width of the solid + the number of pixels set by the offset value (default 1 px).
the scale expression then divides up the audio amplitude ‘both channels’ value into the number of ‘lines’ that you set (default 100). you’ll need to determine the ‘maxAmp’ value by looking at the ‘both channels’ keyframe values.
so once you have those values set, just duplicate that solid the number of times based on your ‘lines’ value and it should build your audio wave form.
to update the wave form, add another file with audio and convert the audio to keframes. by default the new audio amplitude layer will be at the top of the comp and the expression will look at the first ‘audio amplitude’ layer that it finds, so the wave form should change immediately. but since both expressions assume that the lines (the solids with the expressions) will be immediately bellow the audio amplitude layer, you’ll want to delete the old amplitude layer and probably the actual audio layer, or at least move it to the bottom of the comp.
different audio layers may have different max audio levels, so you may need to adjust that value in the expression. make that adjsutment on one layer, then select that scale property and choose edit>copy expression only. then choose all the other ‘line’ layers and paste.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
June 16, 2014 at 11:07 pm in reply to: Expression to keep two text layers centered in comp and maintain space betweeni’d try to put both the url and phone# in the same text layer with a few spaces in between.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
it looks like an animated texture applied to a mesh, quite possibly in a 3d app.
you could try creating the animated texture in ae with particular. you could either use a skinny comp, or plan on masking it when you nest it in another comp, but either way, try adding the puppet tool to create a ‘branch’ that the texture would travel along.
you can make the branch layer 3d and arrange several of them to resemble the branches in your example.
the puppet pins could be animated to make the swaying or you could try a distortion effects like cc bend it or cc bender to create some swaying.
it would be a lot of work , but i think you could create something similar in ae.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
June 13, 2014 at 9:01 pm in reply to: Resize a box depending on the number of characters?that’s a good way to do the outline. i’ve also used layer styles>stroke, but that too usually requires the box to be a separate layer from the text, otherwise you are limited to stroke the same color as the text and stroke position set to inside…
the text box trick is petty cool, and since the effects can be stacked on a single layer, it can be saved as a preset to easily recall it when you needed it.
i should also have mentioned that if you needed rounded corners you can add simple choker after the shift channels effect. it works pretty well unless you need really round corners… when you push choker too far it starts looking ‘bulgy’.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
June 13, 2014 at 7:31 pm in reply to: Resize a box depending on the number of characters?you don’t need an expression, just creative use of effects…
on your text layer:
- add the fast blur effect and set blur to 5 (this is arbitrary, you’ll adjust it later to set the amount of padding for the box).
- then add the shift channels effect setting the take alpha to full on.
- add the fill effect and pick a color for the text box.
- then add cc composite to put the text back in the box.
if you needed to adjust the transparency of the box, addjust the opacity of the fill effect and uncheck the ‘rgb onky’ option in the cc composite effect.
one drawback is if you are using upper and lower case letter ascenders and descenders will effect the height of the box, and you may not want that.
in those cases, i’ll usually duplicate the fast blur and set one to blur horizontal, the other to blur vertical, then increase the vertical blur amount. then add 2 linear wipe effects, one to crop off the top edge and the other to crop off the bottom so that the height will remain consistent.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
June 10, 2014 at 11:45 pm in reply to: How Do I Vertically Scroll Without Horizontal Distortions?try setting the magnification to 100% (bottom-left corner of preview window… currently says 94%)
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
June 10, 2014 at 8:19 pm in reply to: i need this complicated expression. any expert around here?i would set it up differently…
It would be much simpler to use layer controls to select the countries. that would mean that all the countries would need to be in that comp, but you could make them shy layers to keep the comp simple (maybe even lock those layers to prevent accidental repositioning).
so in the comp that has all the countries, add and new solid. add 2 layer controls and the beam effect. then use an expression like this to link the start point:
target = effect(“Layer Control”)(“Layer”);
fromComp(target.toComp(target.anchorPoint))and this to the end point:
target = effect(“Layer Control 2”)(“Layer”);
fromComp(target.toComp(target.anchorPoint))now as you change the layer control the start and end points should move to the anchor points of those layers.
if you needed to add another line, simply duplicate the beam layer and choose new start and end point layers.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
[Trevor Asquerthian] “Is there an advantage to using the expression in the posterise time effect, rather than just setting the frame rate to 0?”
doh! zero would probably work just fine… i was over thinking and trying to get too fancy.
[Trevor Asquerthian] “I would have thought that this extra copy of the source layer would be fully opaque, negating the difference composite, rather than having the (desired) blending effect back on top?”
by default the effect is set to composite only the rgb channels onto the layer and not effect the current alpha, however, you can set the ‘operate on channel’ setting to rgb & alpha (argb) or even just the alpha, both of which can be very useful when needed.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
there are transfer modes called ‘stencil alpha’ and ‘silhouette alpha’ (near the bottom of the list of modes).
try moving your solid above the layers to get cropped, then trying one of those transfer modes.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW