ConvolverNode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Giao diện ConvolverNode là một AudioNode thực hiện phép tích chập tuyến tính trên một AudioBuffer cho trước, thường được dùng để tạo hiệu ứng vang âm (reverb). Một ConvolverNode luôn có đúng một đầu vào và một đầu ra.

Note: Để tìm hiểu thêm về lý thuyết đằng sau phép tích chập tuyến tính, hãy xem bài viết về Convolution trên Wikipedia.

EventTarget AudioNode ConvolverNode
Số lượng đầu vào 1
Số lượng đầu ra 1
Chế độ đếm kênh "clamped-max"
Số lượng kênh 1, 2, hoặc 4
Diễn giải kênh "speakers"

Constructor

ConvolverNode()

Tạo một thực thể đối tượng ConvolverNode mới.

Thuộc tính thể hiện

Kế thừa các thuộc tính từ đối tượng cha của nó, AudioNode.

ConvolverNode.buffer

Một AudioBuffer đơn âm, stereo hoặc 4 kênh chứa đáp ứng xung (có thể là đa kênh) được ConvolverNode dùng để tạo hiệu ứng reverb.

ConvolverNode.normalize

Một giá trị boolean điều khiển việc đáp ứng xung từ bộ đệm có được scale bằng phép chuẩn hóa equal-power khi thuộc tính buffer được đặt hay không.

Phương thức thể hiện

Không có phương thức riêng; kế thừa các phương thức từ đối tượng cha của nó, AudioNode.

Ví dụ

Ví dụ sau minh họa cách sử dụng cơ bản một AudioContext để tạo một nút convolver. Bạn sẽ cần tìm một đáp ứng xung để hoàn thiện ví dụ bên dưới. Hãy xem ví dụ HolySpaceCow của chúng tôi để có một ví dụ đầy đủ và thực tế.

js
let audioCtx = new window.AudioContext();

async function createReverb() {
  let convolver = audioCtx.createConvolver();

  // load impulse response from file
  let response = await fetch("path/to/impulse-response.wav");
  let arraybuffer = await response.arrayBuffer();
  convolver.buffer = await audioCtx.decodeAudioData(arraybuffer);

  return convolver;
}

// …

let reverb = await createReverb();

// someOtherAudioNode -> reverb -> destination
someOtherAudioNode.connect(reverb);
reverb.connect(audioCtx.destination);

Thông số kỹ thuật

Specification
Web Audio API
# ConvolverNode

Khả năng tương thích trình duyệt

Xem thêm