@audiofab-io/fv1-core 0.6.1 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blocks/ATL_DEVELOPER_REFERENCE.md +156 -156
- package/blocks/control/constant.atl +36 -36
- package/blocks/control/entropy_lfo.atl +74 -74
- package/blocks/control/envelope.atl +120 -120
- package/blocks/control/invert.atl +33 -33
- package/blocks/control/pot.atl +149 -149
- package/blocks/control/power.atl +76 -76
- package/blocks/control/ramp_lfo.atl +122 -122
- package/blocks/control/scale_offset.atl +84 -84
- package/blocks/control/sincos_lfo.atl +126 -126
- package/blocks/control/smoother.atl +48 -48
- package/blocks/control/tremolizer.atl +54 -54
- package/blocks/effects/delay/micro_stutter.atl +77 -77
- package/blocks/effects/delay/mn3011.atl +280 -280
- package/blocks/effects/delay/simple_delay.atl +96 -96
- package/blocks/effects/delay/triple_tap_delay.atl +176 -176
- package/blocks/effects/lo-fi/bit_mangler.atl +74 -74
- package/blocks/effects/lo-fi/chiptune.atl +311 -311
- package/blocks/effects/lo-fi/tape_degrade.atl +181 -181
- package/blocks/effects/modulation/chorus.atl +141 -141
- package/blocks/effects/modulation/chorus_4voice.atl +188 -188
- package/blocks/effects/modulation/flanger.atl +184 -184
- package/blocks/effects/modulation/harmonic_trem.atl +129 -129
- package/blocks/effects/modulation/phaser.atl +299 -299
- package/blocks/effects/pitch/octave_up_down.atl +80 -80
- package/blocks/effects/pitch/pitch_offset.atl +149 -149
- package/blocks/effects/pitch/pitch_offset_dual.atl +197 -197
- package/blocks/effects/pitch/pitch_shift.atl +115 -115
- package/blocks/effects/pitch/sub_octave.atl +100 -100
- package/blocks/effects/reverb/ducking_reverb.atl +145 -145
- package/blocks/effects/reverb/min_reverb.atl +132 -132
- package/blocks/effects/reverb/plate_reverb.atl +344 -344
- package/blocks/effects/reverb/room_reverb.atl +293 -293
- package/blocks/effects/reverb/smear.atl +90 -90
- package/blocks/effects/reverb/spring_reverb.atl +353 -353
- package/blocks/filter/1p_high_pass.atl +62 -62
- package/blocks/filter/1p_low_pass.atl +58 -58
- package/blocks/filter/auto_wah.atl +207 -207
- package/blocks/filter/bbd_loss.atl +79 -79
- package/blocks/filter/shelving_high_pass.atl +76 -76
- package/blocks/filter/shelving_low_pass.atl +76 -76
- package/blocks/filter/svf_2p.atl +116 -116
- package/blocks/gain_mix/crossfade.atl +93 -93
- package/blocks/gain_mix/crossfade2.atl +86 -86
- package/blocks/gain_mix/crossfade3.atl +71 -71
- package/blocks/gain_mix/gainboost.atl +54 -54
- package/blocks/gain_mix/mixer2.atl +76 -76
- package/blocks/gain_mix/mixer3.atl +109 -109
- package/blocks/gain_mix/mixer4.atl +151 -151
- package/blocks/gain_mix/volume.atl +50 -50
- package/blocks/io/adc.atl +53 -53
- package/blocks/io/dac.atl +61 -61
- package/blocks/other/stickynote.atl +24 -24
- package/blocks/other/tone_gen_adjustable.atl +137 -137
- package/blocks/other/tone_gen_fixed.atl +109 -109
- package/dist/blockDiagram/builtinBlocks.js +107 -107
- package/dist/blockDiagram/builtinBlocks.js.map +1 -1
- package/dist/simulator/FV1Simulator.js +1 -1
- package/package.json +1 -1
|
@@ -1,132 +1,132 @@
|
|
|
1
|
-
---
|
|
2
|
-
{
|
|
3
|
-
"type": "effects.reverb.min",
|
|
4
|
-
"name": "Simple Reverb",
|
|
5
|
-
"category": "Effects",
|
|
6
|
-
"subcategory": "Reverb",
|
|
7
|
-
"description": "Minimal 100% wet reverb with 4 input allpass and 2 delay loops. Reverb time can be controlled via parameter or external CV.",
|
|
8
|
-
"color": "#7100FC",
|
|
9
|
-
"width": 180,
|
|
10
|
-
"inputs": [
|
|
11
|
-
{
|
|
12
|
-
"id": "input",
|
|
13
|
-
"name": "Audio Input",
|
|
14
|
-
"type": "audio",
|
|
15
|
-
"required": true
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"id": "reverb_time",
|
|
19
|
-
"name": "Reverb Time",
|
|
20
|
-
"type": "control",
|
|
21
|
-
"required": false,
|
|
22
|
-
"parameter": "reverbTime"
|
|
23
|
-
}
|
|
24
|
-
],
|
|
25
|
-
"outputs": [
|
|
26
|
-
{
|
|
27
|
-
"id": "output",
|
|
28
|
-
"name": "Audio Output",
|
|
29
|
-
"type": "audio"
|
|
30
|
-
}
|
|
31
|
-
],
|
|
32
|
-
"parameters": [
|
|
33
|
-
{
|
|
34
|
-
"id": "reverbTime",
|
|
35
|
-
"name": "Reverb Time",
|
|
36
|
-
"type": "number",
|
|
37
|
-
"default": 0.5,
|
|
38
|
-
"min": 0,
|
|
39
|
-
"max": 0.99,
|
|
40
|
-
"description": "Feedback coefficient for the reverb tail (0.0 to 0.99). Controls the decay length.",
|
|
41
|
-
"step": 0.01
|
|
42
|
-
}
|
|
43
|
-
],
|
|
44
|
-
"memories": [
|
|
45
|
-
{
|
|
46
|
-
"id": "api1",
|
|
47
|
-
"size": 122
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"id": "api2",
|
|
51
|
-
"size": 303
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"id": "api3",
|
|
55
|
-
"size": 553
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"id": "api4",
|
|
59
|
-
"size": 922
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"id": "ap1",
|
|
63
|
-
"size": 3823
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"id": "del1",
|
|
67
|
-
"size": 6512
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"id": "ap2",
|
|
71
|
-
"size": 4732
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"id": "del2",
|
|
75
|
-
"size": 5016
|
|
76
|
-
}
|
|
77
|
-
],
|
|
78
|
-
"registers": [
|
|
79
|
-
"apout",
|
|
80
|
-
"dry"
|
|
81
|
-
]
|
|
82
|
-
}
|
|
83
|
-
---
|
|
84
|
-
; Minimal 100% wet reverb
|
|
85
|
-
@equals kap 0.325
|
|
86
|
-
|
|
87
|
-
; Store dry signal
|
|
88
|
-
rdax ${input.input}, 1.0
|
|
89
|
-
wrax ${reg.dry}, 0.0
|
|
90
|
-
|
|
91
|
-
; Input with scaling to prevent clipping (wet path)
|
|
92
|
-
rdax ${reg.dry}, 0.25
|
|
93
|
-
|
|
94
|
-
; 4 series input allpass filters
|
|
95
|
-
rda ${mem.api1}#, ${kap}
|
|
96
|
-
wrap ${mem.api1}, -1.0
|
|
97
|
-
rda ${mem.api2}#, ${kap}
|
|
98
|
-
wrap ${mem.api2}, -1.0
|
|
99
|
-
rda ${mem.api3}#, ${kap}
|
|
100
|
-
wrap ${mem.api3}, -1.0
|
|
101
|
-
rda ${mem.api4}#, ${kap}
|
|
102
|
-
wrap ${mem.api4}, -1.0
|
|
103
|
-
|
|
104
|
-
; Save allpass output for second loop
|
|
105
|
-
wrax ${reg.apout}, 1.0
|
|
106
|
-
|
|
107
|
-
; First loop delay
|
|
108
|
-
rda ${mem.del2}#, 1.0
|
|
109
|
-
@mulcv reverb_time
|
|
110
|
-
|
|
111
|
-
; Loop allpass 1
|
|
112
|
-
rda ${mem.ap1}#, -${kap}
|
|
113
|
-
wrap ${mem.ap1}, ${kap}
|
|
114
|
-
|
|
115
|
-
; Write to delay 1
|
|
116
|
-
wra ${mem.del1}, 1.99
|
|
117
|
-
|
|
118
|
-
; Second loop delay
|
|
119
|
-
rdax ${reg.apout}, 1.0
|
|
120
|
-
|
|
121
|
-
rda ${mem.del1}#, 1.0
|
|
122
|
-
@mulcv reverb_time
|
|
123
|
-
|
|
124
|
-
; Loop allpass 2
|
|
125
|
-
rda ${mem.ap2}#, -${kap}
|
|
126
|
-
wrap ${mem.ap2}, ${kap}
|
|
127
|
-
|
|
128
|
-
; Write to delay 2 and output
|
|
129
|
-
wra ${mem.del2}, 1.99
|
|
130
|
-
|
|
131
|
-
; Export final wet signal (already at 0.25 scale)
|
|
132
|
-
wrax ${output.output}, 0.0
|
|
1
|
+
---
|
|
2
|
+
{
|
|
3
|
+
"type": "effects.reverb.min",
|
|
4
|
+
"name": "Simple Reverb",
|
|
5
|
+
"category": "Effects",
|
|
6
|
+
"subcategory": "Reverb",
|
|
7
|
+
"description": "Minimal 100% wet reverb with 4 input allpass and 2 delay loops. Reverb time can be controlled via parameter or external CV.",
|
|
8
|
+
"color": "#7100FC",
|
|
9
|
+
"width": 180,
|
|
10
|
+
"inputs": [
|
|
11
|
+
{
|
|
12
|
+
"id": "input",
|
|
13
|
+
"name": "Audio Input",
|
|
14
|
+
"type": "audio",
|
|
15
|
+
"required": true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "reverb_time",
|
|
19
|
+
"name": "Reverb Time",
|
|
20
|
+
"type": "control",
|
|
21
|
+
"required": false,
|
|
22
|
+
"parameter": "reverbTime"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"outputs": [
|
|
26
|
+
{
|
|
27
|
+
"id": "output",
|
|
28
|
+
"name": "Audio Output",
|
|
29
|
+
"type": "audio"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"parameters": [
|
|
33
|
+
{
|
|
34
|
+
"id": "reverbTime",
|
|
35
|
+
"name": "Reverb Time",
|
|
36
|
+
"type": "number",
|
|
37
|
+
"default": 0.5,
|
|
38
|
+
"min": 0,
|
|
39
|
+
"max": 0.99,
|
|
40
|
+
"description": "Feedback coefficient for the reverb tail (0.0 to 0.99). Controls the decay length.",
|
|
41
|
+
"step": 0.01
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"memories": [
|
|
45
|
+
{
|
|
46
|
+
"id": "api1",
|
|
47
|
+
"size": 122
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "api2",
|
|
51
|
+
"size": 303
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "api3",
|
|
55
|
+
"size": 553
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "api4",
|
|
59
|
+
"size": 922
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"id": "ap1",
|
|
63
|
+
"size": 3823
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "del1",
|
|
67
|
+
"size": 6512
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"id": "ap2",
|
|
71
|
+
"size": 4732
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "del2",
|
|
75
|
+
"size": 5016
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"registers": [
|
|
79
|
+
"apout",
|
|
80
|
+
"dry"
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
---
|
|
84
|
+
; Minimal 100% wet reverb
|
|
85
|
+
@equals kap 0.325
|
|
86
|
+
|
|
87
|
+
; Store dry signal
|
|
88
|
+
rdax ${input.input}, 1.0
|
|
89
|
+
wrax ${reg.dry}, 0.0
|
|
90
|
+
|
|
91
|
+
; Input with scaling to prevent clipping (wet path)
|
|
92
|
+
rdax ${reg.dry}, 0.25
|
|
93
|
+
|
|
94
|
+
; 4 series input allpass filters
|
|
95
|
+
rda ${mem.api1}#, ${kap}
|
|
96
|
+
wrap ${mem.api1}, -1.0
|
|
97
|
+
rda ${mem.api2}#, ${kap}
|
|
98
|
+
wrap ${mem.api2}, -1.0
|
|
99
|
+
rda ${mem.api3}#, ${kap}
|
|
100
|
+
wrap ${mem.api3}, -1.0
|
|
101
|
+
rda ${mem.api4}#, ${kap}
|
|
102
|
+
wrap ${mem.api4}, -1.0
|
|
103
|
+
|
|
104
|
+
; Save allpass output for second loop
|
|
105
|
+
wrax ${reg.apout}, 1.0
|
|
106
|
+
|
|
107
|
+
; First loop delay
|
|
108
|
+
rda ${mem.del2}#, 1.0
|
|
109
|
+
@mulcv reverb_time
|
|
110
|
+
|
|
111
|
+
; Loop allpass 1
|
|
112
|
+
rda ${mem.ap1}#, -${kap}
|
|
113
|
+
wrap ${mem.ap1}, ${kap}
|
|
114
|
+
|
|
115
|
+
; Write to delay 1
|
|
116
|
+
wra ${mem.del1}, 1.99
|
|
117
|
+
|
|
118
|
+
; Second loop delay
|
|
119
|
+
rdax ${reg.apout}, 1.0
|
|
120
|
+
|
|
121
|
+
rda ${mem.del1}#, 1.0
|
|
122
|
+
@mulcv reverb_time
|
|
123
|
+
|
|
124
|
+
; Loop allpass 2
|
|
125
|
+
rda ${mem.ap2}#, -${kap}
|
|
126
|
+
wrap ${mem.ap2}, ${kap}
|
|
127
|
+
|
|
128
|
+
; Write to delay 2 and output
|
|
129
|
+
wra ${mem.del2}, 1.99
|
|
130
|
+
|
|
131
|
+
; Export final wet signal (already at 0.25 scale)
|
|
132
|
+
wrax ${output.output}, 0.0
|