feat(US-03): generate 880 Hz sine wave with BeepGenerator

This commit is contained in:
Jeena 2026-03-09 07:46:08 +00:00
parent 5897d2b77b
commit 4d72536d78

View file

@ -0,0 +1,20 @@
package net.jeena.pacer
import kotlin.math.sin
import kotlin.math.PI
object BeepGenerator {
const val SAMPLE_RATE = 44100
const val FREQUENCY = 880.0
fun generateBeep(durationMs: Int): ShortArray {
val numSamples = SAMPLE_RATE * durationMs / 1000
val samples = ShortArray(numSamples)
for (i in 0 until numSamples) {
val angle = 2.0 * PI * FREQUENCY * i / SAMPLE_RATE
samples[i] = (sin(angle) * Short.MAX_VALUE).toInt().toShort()
}
return samples
}
}