File: parabolic-env3.dsp

package info (click to toggle)
faust 2.79.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 397,496 kB
  • sloc: cpp: 278,433; ansic: 116,164; javascript: 18,529; vhdl: 14,052; sh: 13,884; java: 5,900; objc: 3,852; python: 3,222; makefile: 2,655; cs: 1,672; lisp: 1,146; ruby: 954; yacc: 586; xml: 471; lex: 247; awk: 110; tcl: 26
file content (23 lines) | stat: -rw-r--r-- 662 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//-----------------------------------------------
//
// Parabolic Grain Envelop : from Ross Bencina
//
//-----------------------------------------------

// integrate values of x starting : 0, x(0), x(0)+x(1),...
//integrate = +~_ : mem;
rintegrate(zero) = (+:*(zero))~_ : mem;
integrate = rintegrate(1);

durationSamples = 10;
grainAmplitude = 2.8;

rdur 		= 1.0/durationSamples;
rdur2 		= rdur*rdur;
curve 		= -8.0 * grainAmplitude * rdur2;

slope(zero) 		= 4* grainAmplitude * (rdur - rdur2) + rintegrate(zero,curve);
amplitude(zero) 	= rintegrate(zero, slope(zero));

trig = integrate(1) == 15;
process 	= integrate(1), slope(trig), max(0.0,amplitude(trig));