LoginSignup
23
26

More than 5 years have passed since last update.

JSON形式で音色を指定できるWeb Audio APIのライブラリを作った

Last updated at Posted at 2016-04-19

Manipulator

勉強も兼ねてJSON形式で音色を指定できるWeb Audio APIのライブラリを作ってみました。

特徴

  • 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);
23
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
26