[obsidian] vault backup: 2025-08-28 21:21:11[
All checks were successful
Build / build (push) Successful in 14m40s
All checks were successful
Build / build (push) Successful in 14m40s
This commit is contained in:
@@ -154,24 +154,43 @@ fn sinosc(freq,amp){
|
|||||||
// --ここから上はstage 1 value
|
// --ここから上はstage 1 value
|
||||||
|
|
||||||
//track_1はstage0として参照する
|
//track_1はstage0として参照する
|
||||||
let track1 = Track(|| phasor(1.0)|> scale(_,0.0,1.0,100,4000))
|
let track1:`()->float = Track(|| phasor(1.0)|> scale(_,0.0,1.0,100,4000))
|
||||||
|
|
||||||
//track1をfrequencyとして参照することにする
|
//track1をfrequencyとして参照することにする
|
||||||
|
|
||||||
let r1 = {
|
let r1 = {
|
||||||
start: 100ms,
|
start: 100ms,
|
||||||
dur: 1000ms,
|
dur: 1000ms,
|
||||||
content: || sinosc(track1(), 1.0)
|
content: || sinosc($track1(), 1.0)
|
||||||
|
}
|
||||||
|
|
||||||
|
let regions = [r1,r2,...]//regionの列はstage0のvalue
|
||||||
|
|
||||||
|
let track3 = track_regions(regions)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
```rust
|
||||||
|
|
||||||
|
fn track_regions(regions:[{start:float,dur:float,generator:()->float}]){
|
||||||
|
Track()
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## トラックのランタイム構造
|
## トラックのランタイム構造
|
||||||
|
|
||||||
```
|
```rust
|
||||||
fn Track()
|
|
||||||
|
|
||||||
|
fn Track(content:()->float)->`()->float{
|
||||||
|
let thunk = bind_to_runtime(content)//ここでprobeも行うことで、波形とメーター表示をする
|
||||||
|
thunk
|
||||||
|
}
|
||||||
|
|
||||||
|
fn master(tracks:[`()->float])->`()->float{
|
||||||
|
`{ || map(tracks,|t| $t() ) |> sum}
|
||||||
|
}
|
||||||
|
let dsp = Track!($master([t1,t2,t3,...]))
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user