組み込み関数

mimiumでライブラリなしで利用できるプリミティブな関数

mimiumにおける組み込み関数について説明します。

delay(input:float,time:float)->float

入力をtime(単位:sample)だけ遅らせた値を返します。

たとえばディレイはselfと組み合わせることで以下のようなフィードバックディレイを作ることが可能です。

fn fbdelay(input:float,time:float,feedback:float){
    return delay(input*self*feedback,time)
}

random()->float

-1~1のランダムな値を返します。 C++言語上での実装は以下のようになっています。

 (double)rand() / RAND_MAX) * 2 - 1

数学関数

C言語のmath.hの以下の関数を呼び出します。注記がない場合は1つのfloatを受け取り1つのfloatを返却します。

  • sin
  • cos
  • tan
  • asin
  • acos
  • atan
  • atan2 (x,y)
  • sinh
  • cosh
  • tanh
  • log
  • log10
  • exp
  • pow (x,y)
  • sqrt
  • abs
  • ceil
  • floor
  • trunc
  • round
  • fmod (x,y) %演算子はこの関数へのエイリアスです
  • remainder (x,y)
  • min (x,y) fminへのエイリアス
  • max (x,y) fmaxへのエイリアス

デバッグ用途などに利用される関数です。 標準出力に値を出力します。 printprintlnは数値型のみを受け付けます。printlnは改行を入れて出力します。 printstr("hoge")のようにすると文字列の出力が可能です

loadwav(path:string)->[float x 0] / loadwavsize(path:string)->float

LibSndFileを利用してオーディオファイルを読み込みます。 どちらもオーディオファイル(.wav、.aiff、.flacなど)のファイルパスをパラメータにとります。 パスは絶対パスでなければソースファイルの位置を基準とした相対パスとして解釈されます。

loadwavsize(path)はオーディオファイルのサンプル数を返却します。

loadwav(path)はオーディオファイルを読み込み配列として返却します。 ファイルサイズより大きいインデックスでアクセスした場合はクラッシュしますので、loadwavsizeの値を利用して値を制限して使用する必要があります。


最終更新 07.02.2021: updating argicle (f6a9f96)