Fade
Fade (Transisi Volume Audio)
Perubahan bertahap dalam volume audio dari hening ke volume penuh (fade in) atau dari volume penuh ke hening (fade out), digunakan untuk transisi yang halus di awal atau akhir trek atau antar segmen audio.
Detail Teknis
Fade mengalikan sampel audio dengan kurva amplitudo yang bervariasi dari 0.0 (hening) hingga 1.0 (volume penuh). Tipe kurva: Linear (konstan dB/detik — terdengar tidak alami karena persepsi manusia yang logaritmik), Logaritmik/Eksponensial (cocok dengan persepsi loudness — naik cepat kemudian meratakan), Kurva-S (perubahan lambat di kedua ujung, cepat di tengah — paling halus), dan Equal-power (mempertahankan energi yang dirasakan konstan selama crossfade, menggunakan kurva akar kuadrat). Crossfade: fade out trek 1 yang tumpang tindih dengan fade in trek 2. Durasi crossfade tipikal: 5-10 ms untuk penghilangan klik, 1-5 detik untuk transisi musik. Implementasi: perkalian sampel demi sampel, atau gain node Web Audio API dengan linearRampToValueAtTime()/exponentialRampToValueAtTime().
Contoh
```javascript
// Fade: Web Audio API example
const audioCtx = new AudioContext();
const response = await fetch('audio.mp3');
const buffer = await audioCtx.decodeAudioData(await response.arrayBuffer());
const source = audioCtx.createBufferSource();
source.buffer = buffer;
source.connect(audioCtx.destination);
source.start();
```