Đã bật tính năng đầu vào âm thanh trực tiếp trên web

Chris Wilson
Chris Wilson

Tôi rất hào hứng với một tính năng mới được đưa vào bản dựng Chrome Canary (23.0.1270.0) của hôm qua – khả năng truy cập âm thanh trực tiếp có độ trễ thấp từ micrô hoặc thiết bị đầu vào âm thanh khác trên OSX! (Tính năng này chưa được bật trên Windows – nhưng đừng lo, chúng tôi đang nỗ lực để cải thiện tính năng này!)

Để bật tính năng này, bạn cần truy cập vào chrome://flags/ rồi bật mục "Web Audio Input" (Đầu vào âm thanh trên web) ở gần cuối trang, sau đó khởi chạy lại trình duyệt. Giờ thì bạn đã có thể bắt đầu!

Bạn có thể kiểm thử dữ liệu đầu vào âm thanh trực tiếp bằng cách kiểm tra phổ của dữ liệu đầu vào bằng trình trực quan hoá dữ liệu đầu vào trực tiếp.

Đối với những lập trình viên Âm thanh trên web, sau đây là cách yêu cầu luồng đầu vào âm thanh và nhận một nút để kết nối với bất kỳ biểu đồ xử lý nào mà bạn muốn!

// success callback when requesting audio input stream
function gotStream(stream) {
    window.AudioContext = window.AudioContext || window.webkitAudioContext;
    var audioContext = new AudioContext();

    // Create an AudioNode from the stream.
    var mediaStreamSource = audioContext.createMediaStreamSource( stream );

    // Connect it to the destination to hear yourself (or any other node for processing!)
    mediaStreamSource.connect( audioContext.destination );
}

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia;
navigator.getUserMedia( {audio:true}, gotStream );

Có nhiều khả năng phong phú cho đầu vào âm thanh có độ trễ thấp, đặc biệt là trong không gian âm nhạc. Bạn có thể xem ví dụ nhanh về cách sử dụng tính năng này trong một trình phát hiện âm độ đơn giản mà tôi đã tạo – hãy thử cắm một cây đàn ghi-ta hoặc thậm chí chỉ huýt sáo vào micrô.

Và như đã hứa, tôi đã thêm âm thanh trực tiếp làm nguồn đầu vào vào Vocoder tôi đã viết cho Google IO – chỉ cần chọn "đầu vào trực tiếp" trong bộ điều biến. Bạn có thể cần phải điều chỉnh Bộ điều biến Gain và Mức Synth. Có một chút độ trễ do quá trình xử lý (không phải do độ trễ đầu vào). Giờ đây, khi đã có dữ liệu âm thanh trực tiếp, đã đến lúc điều chỉnh một chút!

Cuối cùng, bạn nên xem bộ sưu tập các bản minh hoạ âm thanh trên web của tôi – có thể khi bạn đọc bài viết này, tôi đã có thêm một số bản minh hoạ âm thanh trực tiếp!