Crea un Visualizzatore Audio in After Effects: Espressioni e Flusso di Lavoro
After Effects non ha un effetto "visualizzatore audio" nativo. Ne costruisci uno collegando ampiezza e frequenza audio alle proprietà dei livelli tramite **Espressioni**. Ecco un flusso di lavoro pronto per la produzione, da barre semplici a spettro suddiviso per frequenze.
Setup (Fai questo per primo)
- Importa l'audio → Trascinalo nella composizione.
- Tasto destro sul livello audio → **Assistente Chiavi → Converti Audio in Chiavi**. Crea un oggetto nullo "Audio Amplitude" con cursori **Entrambi i Canali**, **Sinistro**, **Destro** (intervallo 0–100).
- Rinomina il nullo: `AUDIO_CTRL`. Bloccalo.
Livello 1: Reazione Ampiezza Semplice (Barre, Cerchi, Scala)
Applicabile a qualsiasi proprietà (Scala, Opacità, Posizione, Dimensione Tracciato):
// Scala pulsante (100% = base, 200% = picco) amp = thisComp.layer("AUDIO_CTRL").effect("Both Channels")("Slider"); base = 100; maxScale = 250; linear(amp, 0, 100, base, maxScale) Smorzamento: Le chiavi audio grezze sono irregolari (1 fotogramma = 1 campione). Aggiungi il pannello **Smoother** (Finestra → Smoother) → Applica al cursore "Entrambi i Canali" (tolleranza 1–3). Oppure usa un'espressione:
smooth(3, 5) // finestra 3 sec, 5 campioni/sec - applica al cursore stesso tramite espressione // OPPURE sulla proprietà: linear(smooth(thisComp.layer("AUDIO_CTRL").effect("Both Channels")("Slider"), 0.5, 10), 0, 100, 100, 250) Livello 2: Bande di Frequenza (Visualizzatore EQ) — Il Metodo Professionale
L'espressione `audioFrequency` di AE è **lenta e single-thread**. Non usarla su 100 livelli. Invece: **Precuoci i dati di frequenza.**
Flusso A: Cottura Esterna (Più Veloce, Più Accurato)
- In Audition / Python (librosa) / REAPER: Esegui FFT → Esporta CSV: `tempo, bassi, medio-bassi, medio-alti, acuti`.
- In AE: File → Importa → CSV → Crea un livello foglio di calcolo.
- L'espressione legge il foglio: `thisComp.layer("audio_data").cell(riga, colonna)` — istantaneo, pulibile, zero CPU in rendering.
Flusso B: Nativo AE (Senza Strumenti Esterni)
- Duplica il livello audio 4 volte. Nominalo: `BASSI`, `MEDIO-BASSI`, `MEDIO-ACUTI`, `ACUTI`.
- Su ciascuno: Effetto → **Audio → Bassi e Acuti** (o **EQ Parametrico**):
- BASSI: Potenzia 60–250 Hz, taglia il resto.
- MEDIO-BASSI: 250–500 Hz.
- MEDIO-ACUTI: 500–2000 Hz.
- ACUTI: 2000–8000 Hz.
- Su ciascuno: **Converti Audio in Chiavi** → Crea `Audio Amplitude 2`, `3`, `4`, `5`.
- Rinomina i cursori: `BASS_CTRL`, `MID_CTRL`, ecc.
Ora ogni elemento visivo si collega alla sua banda:
// Su Scala della Barra Bassi bass = thisComp.layer("BASS_CTRL").effect("Both Channels")("Slider"); linear(bass, 0, 100, 50, 400) Livello 3: Spettro Circolare / Radiale (Coordinate Polari)
- Crea Livello Forma → Tracciato Ellisse → **Aggiungi → Ripetitore**.
- Copie Ripetitore: 64 (o 128). Trasformazione: Posizione 0,0. Rotazione: `360 / copie`.
- Dimensione Tracciato Ellisse collegata alla banda di frequenza tramite espressione su **Scala** o **Dimensione Tracciato**.
- Usa `valueAtTime(time - index * offset)` per l'effetto onda strascicata.
Livello 4: Sistemi di Particelle (Trapcode Particular / Stardust / CC Particle World Integrato)
- Frequenza Emettitore / Velocità / Dimensione collegata al cursore `BASS_CTRL`.
- Fisica → Gravità / Vento collegata a `TREBLE_CTRL`.
- Colore nel Tempo → Gradiente mappato su `HIGHMID_CTRL` (spostamento tonalità HSB).
Ottimizzazione Prestazioni (Critica)
- Pre-componi le composizioni del visualizzatore pesanti. Trasformazioni collassate DISATTIVATE.
- Riduci Densità Espressioni: Un nullo di controllo per banda, non per livello. Usa riferimenti `thisComp.layer("CTRL")`.
- Cache Chiavi Audio: Attiva **Cache su Disco** (Preferenze → Media e Cache su Disco → 50+ GB su NVMe).
- Rendering con Multi-Frame Rendering (MFR): Attivo (predefinito in AE 22+).
- Proxy: Esegui il rendering del visualizzatore in ProRes 422 HQ / DNxHR HQX → sostituisci nella composizione principale.
Struttura Modello Iniziale
COMP: MAIN_VISUALIZER ├─ AUDIO_CTRL (Nullo, Audio→Chiavi precotte) ├─ BASS_CTRL, MID_CTRL, HIGH_CTRL (Nulli, EQ + Chiavizzati) ├─ VIS_BARS (Pre-comp) │ ├─ BAR_1 (Forma) → Scala → expr(BASS_CTRL) │ ├─ BAR_2 → expr(LOWMID_CTRL) │ └─ ... ├─ VIS_CIRCULAR (Pre-comp) → Ripetitore + Polare └─ VIS_PARTICLES (Pre-comp) → Particular Salva come modello `.aep`. Sostituisci audio → Converti in Chiavi → Ricollega `AUDIO_CTRL` → Rendering. 10 minuti di consegna per revisioni del cliente.