LoginSignup
1
1

More than 5 years have passed since last update.

minilogue xdで参照できる外部変数について

Last updated at Posted at 2019-02-24

minilogue xdには外部変数として、下記のものが osc_api.sym に定義されている。

k_osc_api_version = 0x0800f000;
midi_to_hz_lut_f = 0x0800f100;
sqrtm2log_lut_f = 0x0800f360;
tanpi_lut_f = 0x0800f764;
log_lut_f = 0x0800fb68;
bitres_lut_f = 0x0800ff6c;
wt_par_lut_f = 0x08010170;
wt_par_notes = 0x08010f8c;
wt_sqr_lut_f = 0x08010f94;
wt_sqr_notes = 0x08011db0;
wt_saw_lut_f = 0x08011db8;
wt_saw_notes = 0x08012bd4;
wt_sine_lut_f = 0x08012bdc;
schetzen_lut_f = 0x08012de0;
cubicsat_lut_f = 0x08012fe4;
wavesA = 0x080131e8;
wavesB = 0x0801546c;
wavesC = 0x080174ec;
wavesD = 0x0801915c;
wavesE = 0x0801abc4;
wavesF = 0x0801ca3c;
_osc_mcu_hash = 0x0801eabc;
_osc_bl_saw_idx = 0x0801eac8;
_osc_bl_sqr_idx = 0x0801ebb0;
_osc_bl_par_idx = 0x0801ec98;
_osc_rand = 0x0801ed80;
_osc_white = 0x0801edb8;

以下、それぞれの変数について判明し次第追記:

  • k_osc_api_version
    • logue SDKのAPI番号が入っている?
  • midi_to_hz_lut_f
    • midiのノート番号と発振周波数の対応テーブル
    • おそらく、マイクロチューニングを切り替えるたびに中身が変わる -> 確かめてないので違うかも
  • sqrtm2log_lut_f
    • sqrt(-2*log(x)) を計算するためのテーブル
    • osc_apifx_api にこれを使った関数が定義されているので、このテーブルを直接使うことはなさげ
  • tanpi_lut_f
    • tan(pi*x) を計算するためのテーブル。これも直接使うことはなさげ。
  • log_lut_f
    • log(x) を計算するためのテーブル。同上。
  • bitres_lut_f
    • bit depthの変換テーブル? osc_bitresf関数で使用。
  • wt_par_lut_f
    • 放物線波形テーブル。osc_parf関数で使用
  • wt_par_notes
    • 不明
  • wt_sqr_lut_f
    • 矩形波テーブル
  • wt_sqr_notes
    • 不明
  • wt_saw_lut_f
    • ノコギリ波テーブル
  • wt_saw_notes
    • 不明
  • wt_sine_lut_f
    • サイン波テーブル
  • schetzen_lut_f
    • osc_apiのソースコメントには "Schetzen saturation" と書いてある
    • 歪み用のテーブル?
  • cubicsat_lut_f
    • osc_api のソースコメントには "Cubic saturation" と書いてある
    • 歪み用のテーブル?
  • wavesA〜D
    • プリセットのUser OSCで使っている六種類のwavetable
    • それぞれ16個の波形を格納
  • _osc_mcu_hash
    • マイコンに関する何かのハッシュ値を返す関数?
  • _osc_bl_saw_idx
    • "Get band-limited sawtooth wave index for note."とある
    • バンドリミットされたノコギリ波に関連するなんかのindexを返す関数なのだが、使用例がないのでよくわからない
    • どうでもいいが、引数のレンジが[0-151]なのに型がfloatなのは変
  • _osc_bl_sqr_idx
    • 矩形波に関すること以外は同上
  • _osc_bl_par_idx
    • 放物線波形に関すること以外は同上
  • _osc_rand
    • ランダム関数
    • 0からUINT_MAXまでの整数値をランダムに返す
  • _osc_white
    • ホワイトノイズを返す関数(=返り値がfloatのランダム関数)
1
1
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
1
1