Skip to content

Cum să aplici compresie dinamică audio cu FFmpeg

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn about Cum să aplici compresie dinamică audio cu FFmpeg. We cover key concepts, practical examples, and best practices.

Problema

Audio-ul tău are variații mari de volum — secțiunile liniștite sunt aproape inaudibile, iar cele tari sunt mult prea puternice. Filtrul compand comprimă gama dinamică pentru un sunet uniform.

Soluția rapidă

Fix 1: Compresie Simplă (Uniformizare)

GRESIT — parametri compand greșiți:

ffmpeg -i input.mp4 -af "compand" output.mp4
# (folosește valorile implicite — posibil ineficiente)

CORECT — specifică punctele de compresie și câștigul:

ffmpeg -i input.mp4 -af "compand=0:0:1:-60/-40|-20/-10|-5/-2:6:0:-90:0.2" output.mp4
# Format: atac:decădere:puncte_de_control:gain:delay:initial_vol:delay_vol
# Puncte: intrare/ieșire în dB

Fix 2: Compresie pentru Vorbire (Podcast)

ffmpeg -i input.mp4 -af "compand=0.1:0.5:-60/-60|-30/-20|-10/-3|0/-3:3:0:-90:0.1" output.mp4
# Sunetele liniștite sunt amplificate, cele tari sunt atenuate
# Intervalul dinamic este redus de la 60dB la ~20dB

Fix 3: Compresie pentru Muzică

ffmpeg -i input.mp4 -af "compand=0.3:1:-60/-60|-40/-35|-20/-15|0/-8:6:0:-90:0.3" output.mp4
# Compresie mai blândă pentru muzică, păstrând dinamică naturală

Fix 4: Expandor (Creștere Dinamică)

ffmpeg -i input.mp4 -af "compand=0.1:0.3:-60/-80|-40/-40|-20/-15|0/0:5:0:-90:0.1" output.mp4
# Expandorul mărește gama dinamică — efect invers compresiei

Fix 5: Gate (Eliminare Zgomot Fundal)

ffmpeg -i input.mp4 -af "compand=0:0:-90/-90|-50/-90|-40/-40|0/0:0:0:-90:0" output.mp4
# Zgomote sub -50dB sunt reduse la -90dB (silențioase)
# Sunete peste -40dB sunt lăsate neschimbate

Fix 6: Măsurare Gama Dinamică

ffmpeg -i input.mp4 -af "volumedetect" -f null /dev/null
# Verifică diferența dintre mean_volume și max_volume
# O diferență mare indică nevoia de compresie

Folosește DodaTech's Audio Compressor pentru a aplica compresie dinamică cu interfață vizuală.

Prevenție

  • Începe cu compresie ușoară (raport 2:1) și ajustează treptat.
  • Atac rapid (0.1-0.3s) pentru control, atac lent (0.5-1s) pentru natural.
  • Gain prea mare produce zgomot de fundal amplificat.
  • Verifică gama dinamică înainte și după compresie.
  • Testează pe un segment reprezentativ.

Greșeli comune

  1. Puncte de control incorecte — formatul trebuie să fie intrare/ieșire pereche.
  2. Gain prea mare — compresia cu gain mare amplifică zgomotul de fundal.
  3. Atac prea lent — compresorul nu reacționează la sunete bruște.
  4. Compresie excesivă — sunet plat, lipsit de viață.
  5. Fără măsurare prealabilă — nu știi câtă compresie este necesară.

Aceste greșeli apar frecvent în codul FFmpeg real. Contribuitorii DodaTech au identificat aceste modele prin analiza proiectelor open-source și a sistemelor de producție.

Exercițiu practic

Aplică compresie dinamică pe o înregistrare vocală cu variații mari de volum, folosind un atac de 0.2s și un raport de compresie 4:1.

Acest exercițiu întărește conceptele prezentate în acest ghid. Încearcă să-l implementezi înainte de a verifica soluțiile online.

FAQ

### Cum funcționează punctele de control în compand?

Fiecare punct este o pereche intrare/ieșire în dB. De exemplu, -60/-40 înseamnă că sunetul de -60dB este amplificat la -40dB. Punctele definesc curba de transfer.

Ce parametri de atac și release recomandați?

Pentru vorbire: atac=0.1-0.3s, release=0.3-0.5s. Pentru muzică: atac=0.3-1s, release=0.5-2s. Mai rapid = mai agresiv.

Cum evit efectul de "pumping"?

Pumping apare când atacul este prea rapid sau release-ul prea lent. Încearcă atac=0.3 și release=0.5 pentru un sunet natural.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro