Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web Audio API でお手軽10バンドイコライザー

hiro-tan
September 08, 2016

Web Audio API でお手軽10バンドイコライザー

WebAudio.tokyo #1 で発表した資料です。

hiro-tan

September 08, 2016
Tweet

More Decks by hiro-tan

Other Decks in Technology

Transcript

  1. 自己紹介 廣田 洋平 (Yohei Hirota) ドリコム16 新卒入社 「 ちょこっとファー ム」

    サー バー サイド Web Audio API 歴3 ヶ月とちょっと 作ったもの https://hiro-tan.github.io/
  2. アジェンダ Web Audio API でイコライザー を作る イコライザー とは? Web Audio

    API で音声ファイルを読み込む 音声にフィルタをかける Web Audio API におけるのノー ドの概念 webaudio-controls を使ってみる
  3. 音声ファイルを読み込む var context = new AudioContext(); var buffer = null;

    loadSound("path/to/source") var source = context.createBufferSource(); source.buffer = buffer; source.connetct(context.destination) source.start(0) function loadSound(url) { var req = new XMLHttpRequest(); req.open("GET", url, true); req.responseType = "arraybuffer"; req.onload = function() { context.decodeAudioData(req.response, function(b) { buffer = b; }, function() {}); } req.send(); }
  4. 音声にフィルタをかける var source = context.createBufferSource(); var filter = context.createBiquadFilter(); filter.type

    = "peaking"; filter.frequency.value = 440; filter.gain.value = 10; // 中略 source.buffer = buffer; source.connect(filter); filter.connect(context.destination); source.start(0);