Fade
Fade (Chuyển đổi Âm lượng Âm thanh)
Sự tăng (fade-in) hoặc giảm (fade-out) dần dần âm lượng âm thanh trong khoảng thời gian được chỉ định, được sử dụng để tạo phần mở đầu và kết thúc mượt mà cho các bản nhạc hoặc chuyển đổi giữa các đoạn âm thanh.
Chi tiết kỹ thuật
Fade được triển khai bằng cách nhân mỗi mẫu âm thanh với đường bao khuếch đại chuyển đổi từ 0.0 đến 1.0 (fade-in) hoặc 1.0 đến 0.0 (fade-out) trong suốt thời gian fade. Các đường cong bao gồm tuyến tính (tốc độ thay đổi hằng số), lũy thừa (cảm nhận tự nhiên hơn cho fade-out), logarit (tự nhiên cho fade-in), đường cong S/sigmoid (tăng tốc và giảm tốc mượt mà) và công suất bằng nhau (duy trì độ to cảm nhận trong crossfade). linearRampToValueAtTime() và exponentialRampToValueAtTime() của GainNode trong Web Audio API cung cấp hỗ trợ fade gốc. Crossfade chồng chéo fade-out với fade-in để chuyển đổi liền mạch giữa hai clip âm thanh.
Ví dụ
```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();
```