OscillatorNode

OscillatorNode インタフェースは、正弦波などの周期的な波形を表します。これは、指定された波形で、特定の周波数の一定のトーンを発生させる、オーディオ処理モジュール AudioScheduledSourceNode です。

この OscillatorNode は AudioContext.createOscillator() で生成されます。常に1つの出力だけをもち、入力はありません。基本的なプロパティのデフォルト値 (定義 については AudioNode を参照)は、次のとおりです。

入力数 0
出力数 1
チャンネル カウントモード max
チャンネル カウント 2 (デフォルトのカウントモードでは使用されません。)
チャンネル 解釈 speakers

コンストラクタ

OscillatorNode() (en-US)
ノードの properties の初期値を任意で設定し、新しい OscillatorNode のインスタンスを作成します。
任意なプロパティ変更が不要で、初期値そのままで良いならば、単にファクトリメソッド、AudioContext.createOscillator() を呼び出すことができます。

プロパティ

親インターフェース、AudioScheduledSourceNode のプロパティ継承に加え、以下のプロパティがあります。

OscillatorNode.frequency (en-US)
a-rate AudioParam であり、振動数・周波数をヘルツ (hertz、記号:Hz)で表わしたものです。(AudioParam は読み取り専用ですが、この値は設定できます。)初期値は 440 HZ (標準 A(ラ) 音) です。
OscillatorNode.detune (en-US)
a-rate AudioParam であり、振動の離調をセントで表わしたものです。(AudioParam は読み取り専用ですが、この値は設定できます。)初期値は 0 です。
OscillatorNode.type (en-US)
再生する波形の種類を指定する文字列です。いくつかの標準値の中から1つ、または、PeriodicWave (en-US) を使用した、カスタム波形を設定することができます。設定する波の種類により、それぞれに合わせたトーンが生成されます。初期値は sine (サイン波) です。

メソッド

親である AudioScheduledSourceNode のメソッド継承に加え、以下のメソッドがあります。

OscillatorNode.setPeriodicWave() (en-US)
標準的な波形の代わりに、PeriodicWave (en-US) で設定した周期的な波形が、カスタムな波形として設定されます。これは、廃止された 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

BCD tables only load in the browser

See also