Выражения. Работа со звуком. Свойство audioLevels After Effects
Свойство audioLevels в Adobe After Effects, связанное с аудиослоями и определяющее уровень громкости звука. Оно может быть использовано в выражениях, чтобы управлять громкостью или использовать аудио для управления другими параметрами.
Список эффектов и не только After Effects
Выражения After Effects список
audioLevels — это массив из двух чисел: [левый канал, правый канал].
thisComp.layer(«Музыка»).audioLevels; // Возвращает [object Property]
vol1 = thisComp.layer(«Музыка»).audioLevels[0];
vol2 = thisComp.layer(«Музыка»).audioLevels[1]; // Возвращает 0, 0[vol1, vol2];
По умолчанию значение [0, 0] означает 100% громкость.
Значение -∞ (или сильно отрицательное число вроде -192) означает полную тишину.
Значения выше 0 увеличивают громкость. Например [6, 6] означает +6 дБ
Уменьшить громкость на 50%
[ value[0] — 6, value[1] — 6 ];
или так
[-6, -6];
———
1
Привязать уровень громкости к ползунку
Допустим, у вас есть эффект «Элемент управления «Ползунок»»
effect(«Элемент управления «Ползунок»»)(1); //Выражение для свойства Ползунок эффекта Элемент Ползунок
effect(«Элемент управления «Ползунок»»)(1) + Math.sin(time * 2) * 3;
vol1 = effect(«Элемент управления «Ползунок»»)(1); //Выражение для свойства Уровень аудио слоя Музыка
vol2 = effect(«Элемент управления «Ползунок»»)(1);
[vol1, vol2];
———-
2
Плавное уменьшение громкости к нулю за 10 секунд
linear(time, 0, 10, [0, 0], [-48, -48]);
———
3
Выражение для свойства Уровни аудио слоя Музыка анимируется только левый канал звука, правый канал по умолчанию 0, то есть исходный уровень звука
audio.audioLevels + Math.sin(time * 3) * 3;
Выражения позволяют использовать audioLevels аудиосигнала для управления анимацией, например, масштабом объектов под музыку.
val = thisComp.layer(«Музыка»).audioLevels;
avg = (val[0] + val[1]) / 2;
s = avg * 100;
[s, s];
val = thisComp.layer(«Музыка»).audioLevels;
avg = (val[0] + val[1]) / 2;
x = transform.scale[0] + avg * 100;
y = transform.scale[1] + avg * 100;
[x, y];
val = thisComp.layer(«Музыка»).audioLevels;
avg = (val[0] + val[1]) / 2;
s = value[0] + avg * 100;
s = Math.max(s, 10); // минимальный масштаб 10%
[s, s];
——————
3
Выражение для свойства Уровень аудио слоя Музыка
left = audioLevels[0] + Math.sin(time * 3) * 3;
right = audioLevels[1] + Math.sin(time * 3) * 3;
[left, right];
Выражение для свойства Масштаб Текстового слоя
x = thisLayer.transform.scale[0] * thisComp.layer(«Музыка»).audioLevels[0];
y = thisLayer.transform.scale[1] * thisComp.layer(«Музыка»).audioLevels[0];
[x, y];
Выражения для свойства Исходный текст Текстового слоя
используя метод округления Math.roud()
left = Math.round(thisComp.layer(«Музыка»).audioLevels[0]);
right = Math.round(thisComp.layer(«Музыка»).audioLevels[1]);[left, right];
или вот так используя метод округления toFixed()
left = thisComp.layer(«Музыка»).audioLevels[0];
right = thisComp.layer(«Музыка»).audioLevels[1];[left.toFixed(2), right.toFixed(2)];
————-
4
Animation > Keyframe Assistant > Convert Audio to Keyframes
//Выражения для свойства Исходный текст Текстового слоя
ampL = thisComp.layer(«Амплитуда аудио»).effect(«Левый канал»)(«Ползунок»).value;
ampR = thisComp.layer(«Амплитуда аудио»).effect(«Правый канал»)(«Ползунок»).value;
«Left: » + ampL.toFixed(2) + «\nRight: » + ampR.toFixed(2)
//Выражение для свойства Масштаб Текстового слоя
x = thisComp.layer(«Амплитуда аудио»).effect(«Левый канал»)(«Ползунок»).value;
y = thisComp.layer(«Амплитуда аудио»).effect(«Правый канал»)(«Ползунок»).value;
[x * 3, y * 3];