Mercurial > games > semicongine
comparison semiconginev2/audio/generators.nim @ 1225:27cd1c21290e compiletime-tests
did: refactor resources
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 17 Jul 2024 22:20:59 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1224:a3fa15c25026 | 1225:27cd1c21290e |
|---|---|
| 1 proc sinewave(f: float): proc(x: float): float = | |
| 2 proc ret(x: float): float = | |
| 3 sin(x * 2 * Pi * f) | |
| 4 result = ret | |
| 5 | |
| 6 proc SineSoundData*(f: float, len: float, rate: int, amplitude = 0.5'f32): SoundData = | |
| 7 let dt = 1'f / float(rate) | |
| 8 var sine = sinewave(f) | |
| 9 for i in 0 ..< int(float(rate) * len): | |
| 10 let t = dt * float(i) | |
| 11 let value = int16(sine(t) * float(high(int16)) * amplitude) | |
| 12 result.add [value, value] |
