summaryrefslogtreecommitdiff
path: root/src/audio/wave_samples.c
blob: 60406673ee3f4047ab41c266842602fa04b7d1b3 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
#include "sys.h"

// clang-format off
ALIGNED(16) s16 gSawtoothWaveSample[] = {
    // Frequency of 1
    0,      1023,   2047,   3071,   4095,   5119,   6143,   7167,
    8191,   9215,   10239,  11263,  12287,  13311,  14335,  15359,
    16383,  17407,  18431,  19455,  20479,  21503,  22527,  23551,
    24575,  25599,  26623,  27647,  28671,  29695,  30719,  31743,
    -32767, -31743, -30719, -29695, -28671, -27647, -26623, -25599,
    -24575, -23551, -22527, -21503, -20479, -19455, -18431, -17407,
    -16383, -15359, -14335, -13311, -12287, -11263, -10239, -9215,
    -8191,  -7167,  -6143,  -5119,  -4095,  -3071,  -2047,  -1023,

    // Frequency of 2
    0,      2047,   4095,   6143,   8191,   10239,  12287,  14335,
    16383,  18431,  20479,  22527,  24575,  26623,  28671,  30719,
    -32767, -30719, -28671, -26623, -24575, -22527, -20479, -18431,
    -16383, -14335, -12287, -10239, -8191,  -6143,  -4095,  -2047,
    0,      2047,   4095,   6143,   8191,   10239,  12287,  14335,
    16383,  18431,  20479,  22527,  24575,  26623,  28671,  30719,
    -32767, -30719, -28671, -26623, -24575, -22527, -20479, -18431,
    -16383, -14335, -12287, -10239, -8191,  -6143,  -4095,  -2047,

    // Frequency of 4
    0,      4095,   8191,   12287,  16383,  20479,  24575,  28671,
    -32767, -28671, -24575, -20479, -16383, -12287, -8191,  -4095,
    0,      4095,   8191,   12287,  16383,  20479,  24575,  28671,
    -32767, -28671, -24575, -20479, -16383, -12287, -8191,  -4095,
    0,      4095,   8191,   12287,  16383,  20479,  24575,  28671,
    -32767, -28671, -24575, -20479, -16383, -12287, -8191,  -4095,
    0,      4095,   8191,   12287,  16383,  20479,  24575,  28671,
    -32767, -28671, -24575, -20479, -16383, -12287, -8191,  -4095,

    // Frequency of 8
    0,      8191,   16383,  24575,  -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  -32767, -24575, -16383, -8191,
};

ALIGNED(16) s16 gTriangleWaveSample[] = {
    // Frequency of 1
    0,      2047,   4095,   6143,   8191,   10239,  12287,  14335,
    16383,  18431,  20479,  22527,  24575,  26623,  28671,  30719,
    32767,  30719,  28671,  26623,  24575,  22527,  20479,  18431,
    16383,  14335,  12287,  10239,  8191,   6143,   4095,   2047,
    0,      -2047,  -4095,  -6143,  -8191,  -10239, -12287, -14335,
    -16383, -18431, -20479, -22527, -24575, -26623, -28671, -30719,
    -32767, -30719, -28671, -26623, -24575, -22527, -20479, -18431,
    -16383, -14335, -12287, -10239, -8191,  -6143,  -4095,  -2047,

    // Frequency of 2
    0,      4095,   8191,   12287,  16383,  20479,  24575,  28671,
    32767,  28671,  24575,  20479,  16383,  12287,  8191,   4095,
    0,      -4095,  -8191,  -12287, -16383, -20479, -24575, -28671,
    -32767, -28671, -24575, -20479, -16383, -12287, -8191,  -4095,
    0,      4095,   8191,   12287,  16383,  20479,  24575,  28671,
    32767,  28671,  24575,  20479,  16383,  12287,  8191,   4095,
    0,      -4095,  -8191,  -12287, -16383, -20479, -24575, -28671,
    -32767, -28671, -24575, -20479, -16383, -12287, -8191,  -4095,

    // Frequency of 4
    0,      8191,   16383,  24575,  32767,  24575,  16383,  8191,
    0,      -8191,  -16383, -24575, -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  32767,  24575,  16383,  8191,
    0,      -8191,  -16383, -24575, -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  32767,  24575,  16383,  8191,
    0,      -8191,  -16383, -24575, -32767, -24575, -16383, -8191,
    0,      8191,   16383,  24575,  32767,  24575,  16383,  8191,
    0,      -8191,  -16383, -24575, -32767, -24575, -16383, -8191,

    // Frequency of 8
    0,      16383,  32767,  16383,  0,      -16383, -32767, -16383,
    0,      16383,  32767,  16383,  0,      -16383, -32767, -16383,
    0,      16383,  32767,  16383,  0,      -16383, -32767, -16383,
    0,      16383,  32767,  16383,  0,      -16383, -32767, -16383,
    0,      16383,  32767,  16383,  0,      -16383, -32767, -16383,
    0,      16383,  32767,  16383,  0,      -16383, -32767, -16383,
    0,      16383,  32767,  16383,  0,      -16383, -32767, -16383,
    0,      16383,  32767,  16383,  0,      -16383, -32767, -16383,
};

ALIGNED(16) s16 gSineWaveSample[] = {
    // Frequency of 1
    0,      3211,   6392,   9511,   12539,  15446,  18204,  20787,
    23169,  25329,  27244,  28897,  30272,  31356,  32137,  32609,
    32767,  32609,  32137,  31356,  30272,  28897,  27244,  25329,
    23169,  20787,  18204,  15446,  12539,  9511,   6392,   3211,
    0,      -3211,  -6392,  -9511,  -12539, -15446, -18204, -20787,
    -23169, -25329, -27244, -28897, -30272, -31356, -32137, -32609,
    -32767, -32609, -32137, -31356, -30272, -28897, -27244, -25329,
    -23169, -20787, -18204, -15446, -12539, -9511,  -6392,  -3211,

    // Frequency of 2
    0,      6392,   12539,  18204,  23169,  27244,  30272,  32137,
    32767,  32137,  30272,  27244,  23169,  18204,  12539,  6392,
    0,      -6392,  -12539, -18204, -23169, -27244, -30272, -32137,
    -32767, -32137, -30272, -27244, -23169, -18204, -12539, -6392,
    0,      6392,   12539,  18204,  23169,  27244,  30272,  32137,
    32767,  32137,  30272,  27244,  23169,  18204,  12539,  6392,
    0,      -6392,  -12539, -18204, -23169, -27244, -30272, -32137,
    -32767, -32137, -30272, -27244, -23169, -18204, -12539, -6392,

    // Frequency of 4
    0,      12539,  23169,  30272,  32767,  30272,  23169,  12539,
    0,      -12539, -23169, -30272, -32767, -30272, -23169, -12539,
    0,      12539,  23169,  30272,  32767,  30272,  23169,  12539,
    0,      -12539, -23169, -30272, -32767, -30272, -23169, -12539,
    0,      12539,  23169,  30272,  32767,  30272,  23169,  12539,
    0,      -12539, -23169, -30272, -32767, -30272, -23169, -12539,
    0,      12539,  23169,  30272,  32767,  30272,  23169,  12539,
    0,      -12539, -23169, -30272, -32767, -30272, -23169, -12539,

    // Frequency of 8
    0,      23169,  32767,  23169,  0,      -23169, -32767, -23169,
    0,      23169,  32767,  23169,  0,      -23169, -32767, -23169,
    0,      23169,  32767,  23169,  0,      -23169, -32767, -23169,
    0,      23169,  32767,  23169,  0,      -23169, -32767, -23169,
    0,      23169,  32767,  23169,  0,      -23169, -32767, -23169,
    0,      23169,  32767,  23169,  0,      -23169, -32767, -23169,
    0,      23169,  32767,  23169,  0,      -23169, -32767, -23169,
    0,      23169,  32767,  23169,  0,      -23169, -32767, -23169,
};

ALIGNED(16) s16 gSquareWaveSample[] = {
    // Frequency of 1
    0,      0,      0,      0,      0,      0,      0,      0,
    0,      0,      0,      0,      0,      0,      0,      0,
    32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
    32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
    0,      0,      0,      0,      0,      0,      0,      0,
    0,      0,      0,      0,      0,      0,      0,      0,
    -32767, -32767, -32767, -32767, -32767, -32767, -32767, -32767,
    -32767, -32767, -32767, -32767, -32767, -32767, -32767, -32767,

    // Frequency of 2
    0,      0,      0,      0,      0,      0,      0,      0,
    32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
    0,      0,      0,      0,      0,      0,      0,      0,
    -32767, -32767, -32767, -32767, -32767, -32767, -32767, -32767,
    0,      0,      0,      0,      0,      0,      0,      0,
    32767,  32767,  32767,  32767,  32767,  32767,  32767,  32767,
    0,      0,      0,      0,      0,      0,      0,      0,

    // Frequency of 4
    -32767, -32767, -32767, -32767, -32767, -32767, -32767, -32767,
    0,      0,      0,      0,      32767,  32767,  32767,  32767,
    0,      0,      0,      0,      -32767, -32767, -32767, -32767,
    0,      0,      0,      0,      32767,  32767,  32767,  32767,
    0,      0,      0,      0,      -32767, -32767, -32767, -32767,
    0,      0,      0,      0,      32767,  32767,  32767,  32767,
    0,      0,      0,      0,      -32767, -32767, -32767, -32767,
    0,      0,      0,      0,      32767,  32767,  32767,  32767,
    0,      0,      0,      0,      -32767, -32767, -32767, -32767,

    // Frequency of 8
    0,      0,      32767,  32767,  0,      0,      -32767, -32767,
    0,      0,      32767,  32767,  0,      0,      -32767, -32767,
    0,      0,      32767,  32767,  0,      0,      -32767, -32767,
    0,      0,      32767,  32767,  0,      0,      -32767, -32767,
    0,      0,      32767,  32767,  0,      0,      -32767, -32767,
    0,      0,      32767,  32767,  0,      0,      -32767, -32767,
    0,      0,      32767,  32767,  0,      0,      -32767, -32767,
    0,      0,      32767,  32767,  0,      0,      -32767, -32767,
};

ALIGNED(16) s16 gWhiteNoiseSample[] = {
    // Frequency of 1
    0,      -25689, -25791, 27803,  -27568, -21030, 22174,  6298,
    27071,  -18531, 28649,  2284,   3380,   6890,   -12682, -21114,
    10000,  -24520, 32296,  12248,  15096,  15354,  -12021, -31545,
    -12929, 6388,   -11064, 30456,  -30316, -21999, 29691,  27649,
    0,      -27649, -29691, 21999,  30316,  -30457, 11064,  -6387,
    12929,  31544,  12021,  -15353, -15096, -12249, -32296, 24521,
    -10000, 21113,  12682,  -6889,  -3380,  -2285,  -28649, 18532,
    -27071, -6299,  -22174, 21031,  27568,  -27804, 25791,  25690,

    // Frequency of 2
    0,      -25791, -27568, 22174,  27071,  28649,  3380,   -12682,
    10000,  32296,  15096,  -12021, -12929, -11064, -30316, 29691,
    0,      -29691, 30316,  11064,  12929,  12021,  -15096, -32296,
    -10000, 12682,  -3380,  -28649, -27071, -22174, 27568,  25791,
    0,      -25791, -27568, 22174,  27071,  28649,  3380,   -12682,
    10000,  32296,  15096,  -12021, -12929, -11064, -30316, 29691,
    0,      -29691, 30316,  11064,  12929,  12021,  -15096, -32296,
    -10000, 12682,  -3380,  -28649, -27071, -22174, 27568,  25791,

    // Frequency of 4
    0,      -27568, 27071,  3380,   10000,  15096,  -12929, -30316,
    0,      30316,  12929,  -15096, -10000, -3380,  -27071, 27568,
    0,      -27568, 27071,  3380,   10000,  15096,  -12929, -30316,
    0,      30316,  12929,  -15096, -10000, -3380,  -27071, 27568,
    0,      -27568, 27071,  3380,   10000,  15096,  -12929, -30316,
    0,      30316,  12929,  -15096, -10000, -3380,  -27071, 27568,
    0,      -27568, 27071,  3380,   10000,  15096,  -12929, -30316,
    0,      30316,  12929,  -15096, -10000, -3380,  -27071, 27568,

    // Frequency of 8
    0,      27071,  10000,  -12929, 0,      12929,  -10000, -27071,
    0,      27071,  10000,  -12929, 0,      12929,  -10000, -27071,
    0,      27071,  10000,  -12929, 0,      12929,  -10000, -27071,
    0,      27071,  10000,  -12929, 0,      12929,  -10000, -27071,
    0,      27071,  10000,  -12929, 0,      12929,  -10000, -27071,
    0,      27071,  10000,  -12929, 0,      12929,  -10000, -27071,
    0,      27071,  10000,  -12929, 0,      12929,  -10000, -27071,
    0,      27071,  10000,  -12929, 0,      12929,  -10000, -27071,
};

// Sine White Noise?
ALIGNED(16) s16 gUnkSample[] = {
    // Frequency of 1
    0,      16316,  20148,  20257,  27209,  -32657, 29264,  27259,
    -29394, -21494, -26410, 30770,  30033,  29130,  20206,  14129,
    20000,  25677,  19024,  9146,   6921,   4506,   -5868,  -13122,
    -7858,  -1885,  -7042,  -14025, -11903, -8647,  -12346, -12396,
    0,      12396,  12346,  8647,   11903,  14024,  7042,   1886,
    7858,   13121,  5868,   -4505,  -6921,  -9147,  -19024, -25676,
    -20000, -14130, -20206, -29129, -30033, -30771, 26410,  21495,
    29394,  -27260, -29264, 32658,  -27209, -20258, -20148, -16315,

    // Frequency of 2
    0,      20148,  27209,  29264,  -29394, -26410, 30033,  20206,
    20000,  19024,  6921,   -5868,  -7858,  -7042,  -11903, -12346,
    0,      12346,  11903,  7042,   7858,   5868,   -6921,  -19024,
    -20000, -20206, -30033, 26410,  29394,  -29264, -27209, -20148,
    0,      20148,  27209,  29264,  -29394, -26410, 30033,  20206,
    20000,  19024,  6921,   -5868,  -7858,  -7042,  -11903, -12346,
    0,      12346,  11903,  7042,   7858,   5868,   -6921,  -19024,
    -20000, -20206, -30033, 26410,  29394,  -29264, -27209, -20148,

    // Frequency of 4
    0,      27209,  -29394, 30033,  20000,  6921,   -7858,  -11903,
    0,      11903,  7858,   -6921,  -20000, -30033, 29394,  -27209,
    0,      27209,  -29394, 30033,  20000,  6921,   -7858,  -11903,
    0,      11903,  7858,   -6921,  -20000, -30033, 29394,  -27209,
    0,      27209,  -29394, 30033,  20000,  6921,   -7858,  -11903,
    0,      11903,  7858,   -6921,  -20000, -30033, 29394,  -27209,
    0,      27209,  -29394, 30033,  20000,  6921,   -7858,  -11903,
    0,      11903,  7858,   -6921,  -20000, -30033, 29394,  -27209,

    // Frequency of 8
    0,      -29394, 20000,  -7858,  0,      7858,   -20000, 29394,
    0,      -29394, 20000,  -7858,  0,      7858,   -20000, 29394,
    0,      -29394, 20000,  -7858,  0,      7858,   -20000, 29394,
    0,      -29394, 20000,  -7858,  0,      7858,   -20000, 29394,
    0,      -29394, 20000,  -7858,  0,      7858,   -20000, 29394,
    0,      -29394, 20000,  -7858,  0,      7858,   -20000, 29394,
    0,      -29394, 20000,  -7858,  0,      7858,   -20000, 29394,
    0,      -29394, 20000,  -7858,  0,      7858,   -20000, 29394,
};
// clang-format on

ALIGNED(16)
s16* gWaveSamples[] = {
    gSawtoothWaveSample, gTriangleWaveSample, gSineWaveSample, gSquareWaveSample, gWhiteNoiseSample, gUnkSample,
};