aboutsummaryrefslogtreecommitdiff
path: root/site/udo/wavetables.udo
blob: 564836e0ff03326261e4d60d713274df39d8a099 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef UDO_WAVETABLES
#define UDO_WAVETABLES ##
/*
	Standard regular wave function tables

	This file is part of the SONICS UDO collection by Richard Knight 2021, 2023
		License: GPL-2.0-or-later
		http://1bpm.net
*/

ipoints = 8192
gifnSine ftgen 0, 0, ipoints, 10, 1
gifnSquare ftgen 0, 0, ipoints, 10, 1, 0 , .33, 0, .2 , 0, .14, 0 , .11, 0, .09 
gifnSaw ftgen 0, 0, ipoints, 10, 0, .2, 0, .4, 0, .6, 0, .8, 0, 1, 0, .8, 0, .6, 0, .4, 0, .2
gifnPulse ftgen 0, 0, ipoints, 10, 1, 1, 1, 1, 0.7, 0.5, 0.3, 0.1
gifnTriangle ftgen 0, 0, ipoints, 9, 1, 1, 0, 3, 0.333, 180, 5, 0.2, 0, 7, 0.143, 180, 9, 0.111, 0
gifnCosine ftgen 0, 0, ipoints, 9, 1, 1, 90
gifnHalfSine ftgen 0, 0, 2048, 9, 0.5, 1, 0
gifnSigmoid ftgen 0, 0, 257, 9, .5, 1, 270
gifnHanning ftgen 0, 0, 2048, 20, 2
gifnHamming ftgen 0, 0, 2048, 20, 1, 1

giwavetables[] fillarray gifnSine, gifnSquare, gifnSaw, gifnPulse, gifnCosine, gifnTriangle ;, gifnHalfSine, gifnSigmoid
gSwavetables[] fillarray "Sine", "Square", "Saw", "Pulse", "Cosine", "Triangle" ;, "Half sine", "Sigmoid"

opcode wavetable_random, i, 0
	xout giwavetables[int(random(0, lenarray(giwavetables)-1))]
endop

#end