[obsidian] vault backup: 2023-11-15 16:09:00[
This commit is contained in:
@ -19,7 +19,7 @@ TTCはジェネリックなタイプ`A`に対して、以下の3つの型コン
|
||||
type time = Real;
|
||||
//時間に紐づいたイベント。MIDIノートとか
|
||||
struct Event<A>{v:A, t:time}
|
||||
//有限ベクトル。オーディオファイルとか
|
||||
//有限ベクトル。オーディオクリップとか
|
||||
type Vec<A> = std::Vec<A>
|
||||
//無限ベクトル、またはストリーム。1論理時刻毎にA型のものを返す漸化式(内部状態を持つかもしれない)
|
||||
type iVec<A> = Box<dyn FnMut()->A>
|
||||
@ -67,7 +67,11 @@ let Track2 = Generator::SineWave(Track1,Constant(1.0),Constant(0.0));
|
||||
CubaseにおけるインストゥルメントトラックとかはMIDIトラック+シンセサイザーの合成なので、
|
||||
`Track<NOTE,NOTE>`に`Vec<NOTE>->iVec<Audio>`みたいなのを適用する関数としてあらわせ、、、る?
|
||||
|
||||
## 考えうるユースケース
|
||||
|
||||
- ドラッグしてるオブジェクトのスナップ対象は例えばCubaseなら固定のグリッドor既存のイベントorその両方とかだけど、例えばグリッドをジェネラティブに生成できる
|
||||
- もちろんクオンタイズにも使える
|
||||
- 非破壊的クォンタイズ。録音されたと
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user