Oscillatorは波形の生成と合成機能を提供するprocessing用ライブラリです。
ライブラリはサイン波を初め一般的な波形をサポートし、またそれらを合成して複雑な波形を簡単に生成することができます。

Oscillatorライブラリでは、オシレータと呼ばれる波形を生成するクラスを操作することで多様な波形を生成します。
ライブラリは、波形オシレータ(OscSin等), 合成オシレータ(OscComposite), ノイズオシレータ(OscWhiteNoise), 定数オシレータ(OscConstant)の4種類のオシレータと、それらを格納できる変数型Oscillatorで構成されています。

Download

oscillator.zip (2005/may/03) sample

classes

OscSin, OscCos, OscTriangle, OscSquare, OscSawTooth, OscSawTooth2

多様な波形を生成する波形オシレータのクラス群です。

Basic Method
update()
getValue()
setAmplitude()
getAmplitude()
setPeriod()
getPeriod()

Intermediate Method
setAmpOffset()
getAmpOffset()

setPerOffset()
getPerOffset()
toString()

Advanced Method
setAmplitudeOsc()
getAmplitudeOsc()
setPeriodOsc()
getPeriodOsc()
setAmpOffOsc()
getAmpOffOsc()
setPerOffOsc()
getPerOffOsc()

OscWhiteNoise

ランダムなノイズを発生させる特殊なオシレータ(ノイズオシレータ)です。

Basic Method
update()
getValue()

Intermediate Method
setAmplitude()
getAmplitude()
setAmpOffset()
getAmpOffset()
toString()

Advanced Method
setAmplitudeOsc()
getAmplitudeOsc()
setAmpOffsetOsc()
getAmpOffsetOsc()

OscComposite

複数のオシレータを内部に格納し、合成した波を出力する特殊なオシレータ(合成オシレータ)です。

Basic Method
update()
getValue()
addOscillator()
getChildOscillators()
setChildOscillators()
getAmplitude()
setAmplitude()

Intermediate Method
getAmpOffset()
setAmpOffset()
toString()

Advanced Method
getAmplitudeOsc
setAmplitudeOsc
getAmpOffOsc
setAmpOffOsc

OscConstant

一定の値を返す特殊なオシレータ(定数オシレータ)です。通常は特に使う必要はありません。

Basic Method
update()
getValue()
setValue()
toString()

Oscillator

全てのオシレータの基底クラスです。基本的にこのクラス自体を使用することはありません。
しかし、変数の型をこのOscillator型にすることで、あらゆるオシレータを格納できる変数を作ることができます。

tutorial

・波形オシレータで波を生成する
・合成オシレータで複数の波を合成する
・オシレータで他のオシレータのパラメータを制御する

known bugs

  • オシレーターを、別のオシレーターの周期(period)に割り当てることは現在は推奨されていません。
  • オシレーターを、別のオシレーターの周期のオフセット(perOffset)に割り当てることは現在は推奨されていません。
  • オシレータを合成オシレータ(OscComposite)に登録すると、オシレータの内部カウントが1加算されます。通常用途では問題ありませんが、複数の波を頻繁に追加削除する場合、波形のシンクロが徐々にずれる危険性があります。
  • credit

    by Takayuki Fukatsu
    http://www.fladdict.net
    fukatsu !at! gmail.com