Deluge Firmware
Loading...
Searching...
No Matches
lookuptables.h
Go to the documentation of this file.
1/*
2 * Copyright © 2014-2023 Synthstrom Audible Limited
3 *
4 * This file is part of The Synthstrom Audible Deluge Firmware.
5 *
6 * The Synthstrom Audible Deluge Firmware is free software: you can redistribute it and/or modify it under the
7 * terms of the GNU General Public License as published by the Free Software Foundation,
8 * either version 3 of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
11 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 * See the GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License along with this program.
15 * If not, see <https://www.gnu.org/licenses/>.
16*/
17
18#ifndef LOOKUPTABLES_H
19#define LOOKUPTABLES_H
20
21#include "r_typedefs.h"
22
23extern const uint16_t centAdjustTableSmall[];
24extern const uint16_t decayTableSmall4[];
25extern const uint16_t decayTableSmall8[];
26extern const uint16_t expTableSmall[];
27extern const int16_t tanHSmall[];
28extern const int16_t tanH2d[][129];
29extern const int16_t hanningWindow[];
30
31extern const int16_t sineWaveSmall[];
32extern const int16_t sineWaveDiff[];
33#define SINE_TABLE_SIZE_MAGNITUDE 8
34
35extern const int16_t triangleWaveAntiAliasing1[];
36extern const int16_t triangleWaveAntiAliasing3[];
37extern const int16_t triangleWaveAntiAliasing5[];
38extern const int16_t triangleWaveAntiAliasing7[];
39extern const int16_t triangleWaveAntiAliasing9[];
40extern const int16_t triangleWaveAntiAliasing15[];
41extern const int16_t triangleWaveAntiAliasing21[];
42extern const int16_t triangleWaveAntiAliasing31[];
43
44
45extern const int16_t sawWave1[];
46extern const int16_t sawWave3[];
47extern const int16_t sawWave5[];
48extern const int16_t sawWave7[];
49extern const int16_t sawWave9[];
50extern const int16_t sawWave13[];
51extern const int16_t sawWave19[];
52extern const int16_t sawWave27[];
53extern const int16_t sawWave39[];
54extern const int16_t sawWave53[];
55extern const int16_t sawWave76[];
56extern const int16_t sawWave109[];
57extern const int16_t sawWave153[];
58extern const int16_t sawWave215[];
59
60
61extern const int16_t squareWave1[];
62extern const int16_t squareWave3[];
63extern const int16_t squareWave5[];
64extern const int16_t squareWave7[];
65extern const int16_t squareWave9[];
66extern const int16_t squareWave13[];
67extern const int16_t squareWave19[];
68extern const int16_t squareWave27[];
69extern const int16_t squareWave39[];
70extern const int16_t squareWave53[];
71extern const int16_t squareWave76[];
72extern const int16_t squareWave109[];
73extern const int16_t squareWave153[];
74extern const int16_t squareWave215[];
75
76extern const int16_t mysterySynthASaw_153[];
77extern const int16_t mysterySynthASaw_215[];
78extern const int16_t mysterySynthASaw_305[];
79extern const int16_t mysterySynthASaw_431[];
80extern const int16_t mysterySynthASaw_609[];
81extern const int16_t mysterySynthASaw_861[];
82extern const int16_t mysterySynthASaw_1217[];
83extern const int16_t mysterySynthASaw_1722[];
84
85
86extern const int16_t mysterySynthBSaw_1[];
87extern const int16_t mysterySynthBSaw_3[];
88extern const int16_t mysterySynthBSaw_5[];
89extern const int16_t mysterySynthBSaw_7[];
90extern const int16_t mysterySynthBSaw_9[];
91extern const int16_t mysterySynthBSaw_13[];
92extern const int16_t mysterySynthBSaw_19[];
93extern const int16_t mysterySynthBSaw_27[];
94extern const int16_t mysterySynthBSaw_39[];
95extern const int16_t mysterySynthBSaw_53[];
96extern const int16_t mysterySynthBSaw_76[];
97extern const int16_t mysterySynthBSaw_109[];
98
99
100
101extern const int16_t analogSquare_1[];
102extern const int16_t analogSquare_3[];
103extern const int16_t analogSquare_5[];
104extern const int16_t analogSquare_7[];
105extern const int16_t analogSquare_9[];
106extern const int16_t analogSquare_13[];
107extern const int16_t analogSquare_19[];
108extern const int16_t analogSquare_27[];
109extern const int16_t analogSquare_39[];
110extern const int16_t analogSquare_53[];
111extern const int16_t analogSquare_76[];
112extern const int16_t analogSquare_109[];
113extern const int16_t analogSquare_153[];
114extern const int16_t analogSquare_215[];
115extern const int16_t analogSquare_305[];
116extern const int16_t analogSquare_431[];
117extern const int16_t analogSquare_609[];
118extern const int16_t analogSquare_861[];
119extern const int16_t analogSquare_1217[];
120extern const int16_t analogSquare_1722[];
121
122
123
124// Begins at E (4 semitones above C). So that this octave contains the largest values (phase increments) possible without going over 22.05kHz (2147483648),
125// even when shifted up a semitone (via osc-cents and unison combined)
126extern const int32_t noteFrequencyTable[12];
127extern const int32_t noteIntervalTable[12];
128extern const int32_t timeStretchAdjustTable[193];
129extern const int32_t attackRateTable[51];
130extern const int32_t releaseRateTable[51];
131extern const int32_t releaseRateTable64[65];
132extern const int32_t tanTable[65];
133extern const int16_t oldResonanceCompensation[];
134
135extern const int16_t windowedSincKernel[][17][16];
137
138#define NUM_PRESET_SCALES 7
139extern const uint8_t presetScaleNotes[NUM_PRESET_SCALES][7];
140extern const char* presetScaleNames[];
141#define PRESET_SCALE_RANDOM 7
142#define PRESET_SCALE_NONE 8
143
144#define NUM_PRESET_REVERBS 3
145const uint8_t presetReverbRoomSize[NUM_PRESET_REVERBS] = {16, 30, 44};
146const uint8_t presetReverbDampening[NUM_PRESET_REVERBS] = {29, 36, 45};
147extern const char* presetReverbNames[];
148
149extern const uint8_t defaultClipGroupColours[];
150
151extern const uint8_t noteCodeToNoteLetter[];
152extern const bool noteCodeIsSharp[];
153
154
155#endif // LOOKUPTABLES_H
const int16_t sawWave76[]
Definition: lookuptables_saw.cpp:926
const int16_t sawWave3[]
Definition: lookuptables_saw.cpp:63
const int32_t noteFrequencyTable[12]
Definition: lookuptables.cpp:283
const int16_t analogSquare_609[]
Definition: lookuptables_analog_square.cpp:1735
const int16_t analogSquare_27[]
Definition: lookuptables_analog_square.cpp:520
const int16_t squareWave1[]
Definition: lookuptables_square.cpp:22
const int16_t mysterySynthASaw_861[]
Definition: lookuptables_mystery_synth_a_saw.cpp:697
const int16_t mysterySynthASaw_215[]
Definition: lookuptables_mystery_synth_a_saw.cpp:157
const int16_t sawWave109[]
Definition: lookuptables_saw.cpp:1061
const uint8_t presetReverbDampening[NUM_PRESET_REVERBS]
Definition: lookuptables.h:146
const int16_t triangleWaveAntiAliasing7[]
const int16_t mysterySynthBSaw_3[]
Definition: lookuptables_mystery_synth_b_saw.cpp:61
const int16_t analogSquare_3[]
Definition: lookuptables_analog_square.cpp:62
const int16_t sawWave39[]
Definition: lookuptables_saw.cpp:656
const int16_t triangleWaveAntiAliasing31[]
Definition: lookuptables.cpp:140
const int16_t sineWaveSmall[]
Definition: lookuptables.cpp:92
const int16_t squareWave215[]
Definition: lookuptables_square.cpp:1329
const int16_t tanH2d[][129]
Definition: lookuptables.cpp:192
const int16_t analogSquare_153[]
Definition: lookuptables_analog_square.cpp:1195
const int16_t windowedSincKernel[][17][16]
const int16_t analogSquare_861[]
Definition: lookuptables_analog_square.cpp:1870
const int16_t squareWave53[]
Definition: lookuptables_square.cpp:789
#define NUM_PRESET_SCALES
Definition: lookuptables.h:138
const int16_t sawWave27[]
Definition: lookuptables_saw.cpp:521
const int16_t analogSquare_13[]
Definition: lookuptables_analog_square.cpp:314
const int16_t mysterySynthBSaw_1[]
Definition: lookuptables_mystery_synth_b_saw.cpp:22
const int16_t mysterySynthBSaw_5[]
Definition: lookuptables_mystery_synth_b_saw.cpp:100
const int16_t sawWave53[]
Definition: lookuptables_saw.cpp:791
const int16_t mysterySynthBSaw_76[]
Definition: lookuptables_mystery_synth_b_saw.cpp:924
const int16_t sawWave7[]
Definition: lookuptables_saw.cpp:173
const int16_t analogSquare_7[]
Definition: lookuptables_analog_square.cpp:172
const int16_t sawWave215[]
Definition: lookuptables_saw.cpp:1331
const int16_t squareWave153[]
Definition: lookuptables_square.cpp:1194
const uint16_t decayTableSmall4[]
Definition: lookuptables.cpp:67
const int16_t triangleWaveAntiAliasing15[]
Definition: lookuptables.cpp:138
const int16_t analogSquare_19[]
Definition: lookuptables_analog_square.cpp:385
const int16_t mysterySynthBSaw_109[]
Definition: lookuptables_mystery_synth_b_saw.cpp:1059
const int16_t mysterySynthASaw_431[]
Definition: lookuptables_mystery_synth_a_saw.cpp:427
const int16_t sawWave19[]
Definition: lookuptables_saw.cpp:386
const int32_t releaseRateTable64[65]
Definition: lookuptables.cpp:332
const int16_t mysterySynthASaw_609[]
Definition: lookuptables_mystery_synth_a_saw.cpp:562
const int16_t squareWave3[]
Definition: lookuptables_square.cpp:61
const int16_t squareWave76[]
Definition: lookuptables_square.cpp:924
const int16_t squareWave39[]
Definition: lookuptables_square.cpp:654
const int16_t analogSquare_109[]
Definition: lookuptables_analog_square.cpp:1060
const int16_t mysterySynthBSaw_9[]
Definition: lookuptables_mystery_synth_b_saw.cpp:242
const int16_t sawWave5[]
Definition: lookuptables_saw.cpp:102
const int16_t triangleWaveAntiAliasing1[]
Definition: lookuptables.cpp:132
const int16_t analogSquare_305[]
Definition: lookuptables_analog_square.cpp:1465
const int16_t oldResonanceCompensation[]
Definition: lookuptables.cpp:260
const int16_t mysterySynthBSaw_13[]
Definition: lookuptables_mystery_synth_b_saw.cpp:313
const int16_t windowedSincKernelBasicForWavetableBetweenCycles[]
Definition: lookuptables.cpp:662
const int16_t sineWaveDiff[]
const uint16_t centAdjustTableSmall[]
Definition: lookuptables.cpp:22
const uint8_t noteCodeToNoteLetter[]
Definition: lookuptables.cpp:682
const int16_t mysterySynthASaw_305[]
Definition: lookuptables_mystery_synth_a_saw.cpp:292
const int16_t analogSquare_76[]
Definition: lookuptables_analog_square.cpp:925
const int16_t sawWave153[]
Definition: lookuptables_saw.cpp:1196
const int16_t mysterySynthASaw_153[]
Definition: lookuptables_mystery_synth_a_saw.cpp:22
const int16_t analogSquare_5[]
Definition: lookuptables_analog_square.cpp:101
const int16_t squareWave13[]
Definition: lookuptables_square.cpp:313
const char * presetScaleNames[]
Definition: lookuptables.cpp:183
const uint8_t defaultClipGroupColours[]
Definition: lookuptables.cpp:686
const int32_t attackRateTable[51]
Definition: lookuptables.cpp:312
const uint8_t presetReverbRoomSize[NUM_PRESET_REVERBS]
Definition: lookuptables.h:145
const uint16_t decayTableSmall8[]
Definition: lookuptables.cpp:42
const int16_t sawWave13[]
Definition: lookuptables_saw.cpp:315
const int16_t analogSquare_53[]
Definition: lookuptables_analog_square.cpp:790
const int16_t squareWave5[]
Definition: lookuptables_square.cpp:100
const int16_t analogSquare_1722[]
Definition: lookuptables_analog_square.cpp:2397
const int16_t analogSquare_1217[]
Definition: lookuptables_analog_square.cpp:2133
const int16_t sawWave9[]
Definition: lookuptables_saw.cpp:244
const int16_t squareWave27[]
Definition: lookuptables_square.cpp:519
const int16_t mysterySynthBSaw_53[]
Definition: lookuptables_mystery_synth_b_saw.cpp:789
const int16_t hanningWindow[]
Definition: lookuptables.cpp:356
const int16_t analogSquare_9[]
Definition: lookuptables_analog_square.cpp:243
const int16_t tanHSmall[]
Definition: lookuptables.cpp:163
const int16_t mysterySynthBSaw_27[]
Definition: lookuptables_mystery_synth_b_saw.cpp:519
const int32_t tanTable[65]
Definition: lookuptables.cpp:344
const int16_t triangleWaveAntiAliasing3[]
Definition: lookuptables.cpp:133
const int16_t analogSquare_215[]
Definition: lookuptables_analog_square.cpp:1330
const int16_t triangleWaveAntiAliasing21[]
Definition: lookuptables.cpp:139
const int16_t triangleWaveAntiAliasing5[]
Definition: lookuptables.cpp:136
const int16_t mysterySynthBSaw_7[]
Definition: lookuptables_mystery_synth_b_saw.cpp:171
const int16_t mysterySynthBSaw_39[]
Definition: lookuptables_mystery_synth_b_saw.cpp:654
const int32_t noteIntervalTable[12]
Definition: lookuptables.cpp:288
const int16_t sawWave1[]
Definition: lookuptables_saw.cpp:24
const uint16_t expTableSmall[]
Definition: lookuptables.cpp:143
const int16_t squareWave109[]
Definition: lookuptables_square.cpp:1059
const int16_t squareWave19[]
Definition: lookuptables_square.cpp:384
const int16_t triangleWaveAntiAliasing9[]
Definition: lookuptables.cpp:137
const int16_t analogSquare_1[]
Definition: lookuptables_analog_square.cpp:23
const int16_t mysterySynthBSaw_19[]
Definition: lookuptables_mystery_synth_b_saw.cpp:384
const int16_t mysterySynthASaw_1722[]
Definition: lookuptables_mystery_synth_a_saw.cpp:1223
const int32_t timeStretchAdjustTable[193]
Definition: lookuptables.cpp:293
const int32_t releaseRateTable[51]
Definition: lookuptables.cpp:322
const int16_t mysterySynthASaw_1217[]
Definition: lookuptables_mystery_synth_a_saw.cpp:960
const int16_t squareWave7[]
Definition: lookuptables_square.cpp:171
const char * presetReverbNames[]
Definition: lookuptables.cpp:188
#define NUM_PRESET_REVERBS
Definition: lookuptables.h:144
const int16_t analogSquare_431[]
Definition: lookuptables_analog_square.cpp:1600
const bool noteCodeIsSharp[]
Definition: lookuptables.cpp:683
const int16_t squareWave9[]
Definition: lookuptables_square.cpp:242
const uint8_t presetScaleNotes[NUM_PRESET_SCALES][7]
Definition: lookuptables.cpp:269
const int16_t analogSquare_39[]
Definition: lookuptables_analog_square.cpp:655