189 {
190
191
192
193
194
195
196 float energyRatio = 1.0f;
199 }
200
201
202 float totalEnergy = 0.0f;
203 for (size i = 0; i <
fft.raw().size(); i++) {
204 totalEnergy +=
fft.raw()[i];
205 }
206 totalEnergy /=
static_cast<float>(
fft.raw().size());
207
208
209 float bassRatio = 1.0f;
210 if (totalEnergy > 1e-6f) {
211 bassRatio = bassEnergy / totalEnergy;
212 }
213
214
215 float accent = (energyRatio * 0.4f) + (bassRatio * 0.3f) + (totalEnergy * 0.3f);
216
217 return accent;
218}