Speaking indicator

This commit is contained in:
2026-01-07 18:41:34 +01:00
parent 1577ce38e1
commit f5769716e9
6 changed files with 69 additions and 16 deletions
+10 -1
View File
@@ -42,7 +42,7 @@ export async function startMic(onAudio: (data: Int16Array) => void) {
chunk.set(buffer.splice(0, buffer.length));
}
onAudio(chunk);
}, 1000);
}, 500);
// Return cleanup function
return () => {
@@ -101,3 +101,12 @@ export function playPCM16(u8: Uint8Array) {
src.connect(audioCtx.destination);
src.start();
}
export function rms(samples: Int16Array): number {
let sum = 0;
for (let i = 0; i < samples.length; i++) {
const s = samples[i] / 32768; // normalize to [-1, 1]
sum += s * s;
}
return Math.sqrt(sum / samples.length);
}