Initial project import
This commit is contained in:
commit
d189bb22f4
19 files changed
+361
No files matched your search
@@ -0,0 +1,18 @@
|
||||
// Standalone waveform helpers. Apache-2.0 licensed.
|
||||
module agila_open_audio
|
||||
|
||||
import math
|
||||
|
||||
pub fn sine_wave(sample_rate int, frequency f64, duration f64, amplitude f64) []i16 {
|
||||
if sample_rate <= 0 || frequency <= 0 || duration <= 0 {
|
||||
return []i16{}
|
||||
}
|
||||
count := int(f64(sample_rate) * duration)
|
||||
mut samples := []i16{cap: count}
|
||||
for i in 0 .. count {
|
||||
t := f64(i) / f64(sample_rate)
|
||||
value := math.sin(2.0 * math.pi * frequency * t) * amplitude
|
||||
samples << i16(value)
|
||||
}
|
||||
return samples
|
||||
}
|
||||
Reference in new issue
Block a user