Sau Bài 2 tạo ra âm sắc, bài này thêm 3 loại node xử lý tín
hiệu kinh điển: BiquadFilterNode lọc tần số, DelayNode tạo tiếng vọng, và
ConvolverNode mô phỏng không gian vang (reverb) — 3 công cụ nền tảng của mọi bàn trộn âm
thanh, từ phòng thu tới pedal guitar.
1. BiquadFilterNode: Lọc Tần Số
BiquadFilterNode loại bỏ hoặc nhấn mạnh 1 dải tần số cụ thể. 2 tham số quan trọng nhất:
frequency (tần số cắt) và Q (độ cộng hưởng — Q càng cao, đỉnh cộng hưởng
ngay tại tần số cắt càng nhọn, thậm chí có thể tự dao động ở Q rất cao).
| Loại filter | Hiệu ứng | Cảm giác nghe |
|---|---|---|
lowpass |
Cho tần số thấp hơn frequency đi qua, cắt tần số cao |
Nghe "bí"/trầm, giống âm thanh qua tường |
highpass |
Cho tần số cao hơn frequency đi qua, cắt tần số thấp |
Nghe mỏng/the thé, giống loa điện thoại nhỏ |
bandpass |
Chỉ cho 1 dải hẹp quanh frequency đi qua |
Nghe như phát qua radio cũ/điện thoại bàn |
2. DelayNode: Tiếng Vọng (Echo)
DelayNode trì hoãn tín hiệu 1 khoảng thời gian (giây). Để tạo tiếng vọng lặp lại nhiều
lần (không chỉ 1 lần trễ), nối đầu ra của delay quay ngược lại chính đầu vào của nó qua 1
GainNode (hệ số feedback) — mỗi vòng lặp tín hiệu bị nhân với hệ số này, dần nhỏ đi tới
khi tắt hẳn.
0 – 0.9.
3. ConvolverNode: Mô Phỏng Không Gian Vang (Reverb)
Reverb thật (tiếng vang trong 1 căn phòng) là hàng ngàn phản xạ âm thanh chồng lên nhau từ tường,
trần, sàn. ConvolverNode mô phỏng điều này bằng phép toán
tích chập (convolution) giữa tín hiệu khô (dry) và 1 buffer gọi là
impulse response — về cơ bản là "chữ ký âm thanh" của 1 không gian, ghi lại cách nó
phản xạ 1 xung âm thanh cực ngắn.
Q mặc định của BiquadFilterNode là 1 (gần như phẳng quanh tần số cắt). Kéo
Q lên cao (10-20+) tạo 1 đỉnh cộng hưởng rõ rệt ngay tại frequency — hiệu
ứng "wah" hoặc âm sắc synth analog kinh điển, và ở giá trị cực cao filter có thể gần như tự phát ra
1 tần số riêng dù tín hiệu đầu vào không có tần số đó.
GainNode riêng rồi cộng lại ở destination. Đây là lý do Web Audio tự động
cộng dồn (sum) mọi tín hiệu nối vào cùng 1 input — không cần node "mixer" đặc biệt
nào cả.
Sân chơi tương tác: Bàn Trộn Hiệu Ứng
Bấm "Phát" để nghe 1 tone liên tục, rồi kéo slider filter/delay/reverb — nghe thay đổi ngay lập tức trên cùng 1 đồ thị đang chạy, không cần dừng/phát lại.
Nhật ký
Trắc nghiệm ôn tập
Câu 1: Vì sao phải giữ hệ số feedback của delay trong khoảng nhỏ hơn 1.0?
Trắc nghiệm ôn tập
Câu 2: Q của BiquadFilterNode càng cao thì điều gì xảy ra tại tần số cắt
(frequency)?
Trắc nghiệm ôn tập
Câu 3: ConvolverNode tạo hiệu ứng reverb bằng cách nào?