OscillatorNode インタフェースは、正弦波などの周期的な波形を表します。これは、指定された波形で、特定の周波数の一定のトーンを発生させる、オーディオ処理モジュール AudioScheduledSourceNode
です。
この OscillatorNode は AudioContext.createOscillator()
で生成されます。常に1つの出力だけをもち、入力はありません。基本的なプロパティのデフォルト値 (定義 については AudioNode
を参照)は、次のとおりです。
入力数 | 0 |
---|---|
出力数 | 1 |
チャンネル カウントモード | max |
チャンネル カウント | 2 (デフォルトのカウントモードでは使用されません。) |
チャンネル 解釈 | speakers |
コンストラクタ
OscillatorNode()
- ノードの properties の初期値を任意で設定し、新しい OscillatorNode のインスタンスを作成します。
任意なプロパティ変更が不要で、初期値そのままで良いならば、単にファクトリメソッド、AudioContext.createOscillator()
を呼び出すことができます。
プロパティ
親インターフェース、AudioScheduledSourceNode
のプロパティ継承に加え、以下のプロパティがあります。
OscillatorNode.frequency
- a-rate
AudioParam
であり、振動数・周波数をヘルツ (hertz、記号:Hz)で表わしたものです。(AudioParam は読み取り専用ですが、この値は設定できます。)初期値は 440 HZ (標準 A(ラ) 音) です。
OscillatorNode.detune
- a-rate
AudioParam
であり、振動の離調をセントで表わしたものです。(AudioParam は読み取り専用ですが、この値は設定できます。)初期値は 0 です。
OscillatorNode.type
- 再生する波形の種類を指定する文字列です。いくつかの標準値の中から1つ、または、
PeriodicWave
を使用した、カスタム波形を設定することができます。設定する波の種類により、それぞれに合わせたトーンが生成されます。初期値は sine (サイン波) です。
メソッド
親である AudioScheduledSourceNode
のメソッド継承に加え、以下のメソッドがあります。
OscillatorNode.setPeriodicWave()
- 標準的な波形の代わりに、
PeriodicWave
で設定した周期的な波形が、カスタムな波形として設定されます。これは、廃止されたOscillatorNode.setWaveTable()
メソッドの代わりです。
Examples
次の例は、AudioContextを使用し、オシレーターノードでトーンを再生する、基本的な例です。応用例については、Violent Theremin のデモをチェックしてみてください。 (コードは app.js を参照してください。)
// create web audio api context
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
// create Oscillator node
var oscillator = audioCtx.createOscillator();
oscillator.type = 'square';
oscillator.frequency.value = 440; // value in hertz
oscillator.connect(audioCtx.destination);
oscillator.start();
Specifications
Specification | Status | Comment |
---|---|---|
Web Audio API OscillatorNode の定義 |
草案 |
Browser compatibility
現在、互換性データを可読形式の JSON フォーマットに置き換えているところです。
この互換性一覧は古い形式を使っており、これに含まれるデータの置き換えが済んでいません。
手助けしていただける場合は、こちらから!