This commit is contained in:
Patrick
2026-06-25 15:16:43 +02:00
commit 432d8f2fe3
12 changed files with 676 additions and 0 deletions
@@ -0,0 +1,26 @@
package de.winniepat.voiceChatInteraction;
public class AudioUtils {
public static double calculateAudioLevel(short[] samples) {
double rms = 0D; // root mean square (RMS) amplitude
for (int i = 0; i < samples.length; i++) {
double sample = (double) samples[i] / (double) Short.MAX_VALUE;
rms += sample * sample;
}
int sampleCount = samples.length / 2;
rms = (sampleCount == 0) ? 0 : Math.sqrt(rms / sampleCount);
double db;
if (rms > 0D) {
db = Math.min(Math.max(20D * Math.log10(rms), -127D), 0D);
} else {
db = -127D;
}
return db;
}
}