Manipulator
勉強も兼ねてJSON形式で音色を指定できるWeb Audio APIのライブラリを作ってみました。
-
GitHubリポジトリ
-
デモページ
特徴
- JSON形式で音色を指定できる
- Web Audio APIを知らなくても一般的なシンセサイザーの知識があれば使える
- Web Audio APIの知識があれば簡単に新しいフィルタやエフェクトを追加できる
使い方
以下のようなJSONを用意します。
var toneRecipe = {
name: 'VCA',
gain: 0.9,
input: {
name: 'Env',
param:{
gain: 1,
attack: 0,
decay: 0.1,
sustain: 0.5,
release: 0.1,
},
input: {
name: 'VCF',
param: {
frequency: 400,
type: 'bandpass',
Q: 8,
gain: 1
},
input: {
name: 'VCO',
param: {
frequency: 'cv',
type: 'triangle'
}
}
}
}
};
用意したJSONを指定し、Manipulatiorオブジェクトを作成します。
音はnoteOnメソッドでならします。
詳しくはGitHubリポジトリをみてください。
var tone = new Manipulator(ctx, toneRecipe);
//数字で音高を設定
//12はド
tone.noteOn(12);