Выражения. Работа со звуком. Свойство 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];