2016年10月20日木曜日

MDX解析で色々2:ピッチ関連

というわけで、少しづつ鳴り出したMDX。

繰り返し処理なんかは良く考えられていて、鳴らす方はあんまり何も考えずにやっても
すぐに繰り返しできたし、そういえば最大のネックの一つだった全体ループも割とすんなり。

このまま調子よく行くかと思いきや、ピッチ関連でどハマりしたのでした。

実際、現在の状態でもあんまりちゃんと鳴っていないポルタメントO。
これはこんな感じになっております。MDXフォーマットから引用。

・ポルタメント
    [$F2] + [変移※1]w
        変移 = 1クロックあたりの変化量

ポルタメントはシンプルなんだけど、1クロックあたりにどんだけピッチが動くかが入ってる
って、これ誤差でまくり仕様じゃないの!?と思ったらやっぱりそうでした。厳密に計算
すると、全く想定通りに鳴らない!

なので考え方を変えて、当時の整数計算を意識してざっくりとやりだしたらある程度うまく
いきました。でも未だに変な挙動アリ。


そしてLFOはこんな感じ。

・音程LFO制御
    [$EC] + [$80]b    MPON
    [$EC] + [$81]b    MPOF
    [$EC] + [WAVE]b + [周期※2]w + [変移※1]w

        WAVE0 [ 鋸波 ] : 周期 = 設定値×4 : 変移 = 設定値×周期÷512
        WAVE1 [矩形波] : 周期 = 設定値×2 : 変移 = 設定値×256
        WAVE2 [三角波] : 周期 = 設定値×2 : 変移 = 設定値×周期÷512

・LFOディレイ設定
    [$E9] + [???]b    MDコマンド対応

これはしょうがないので、本家の動きをキャプチャーして、自分でざっくり作ってみて、
比べてみるというかなり原始的な方法で作ってみました。これはこれで何だかうまく
いってるのだかいってないのだかよくわからない感じに。

雰囲気で勝負という結果となりました。でもここもたっぷり時間がかかったなぁ・・。

つづく~

0 件のコメント:

コメントを投稿