diff --git a/content/otopoiesis.md b/content/otopoiesis.md index 2ab2adee..5395d945 100644 --- a/content/otopoiesis.md +++ b/content/otopoiesis.md @@ -28,7 +28,8 @@ type iVec = BoxA> 例えばMIDIの記録されたデータは ```rust -Vec> //ノート番号、ベロシティ +type NOTE= Event<(u8,u8)>//ノート番号、ベロシティ +type MIDI = Vec ``` みたいになる @@ -42,6 +43,7 @@ type Project = Vec> -> iVec type Track = Device * Device //デバイス情報 *( Vec> + | Vec> | Generator ) type Region = (time*time)* //start,duration @@ -62,6 +64,11 @@ let Track2 = Generator::SineWave(Track1,Constant(1.0),Constant(0.0)); ここからがDAWをプログラミングで操作できる面白いとこで、例えばリージョンに対するフェードインアウトとかを`Region->Region`の関数として定義できるところ +CubaseにおけるインストゥルメントトラックとかはMIDIトラック+シンセサイザーの合成なので、 +`Track`に`Vec->iVec