Files
2026-08-03 16:37:20 +08:00

31 lines
607 B
Python
Executable File

#!/bin/env python
from __future__ import print_function
import math
samples = 1024
amplitudes = (32000, 0, 4000, 0, 4000)
max = 0
min = 0
for i in range(samples):
sample = 0.0
for harmonic, amplitude in enumerate(amplitudes):
sample += math.sin(math.pi * 2 * i * (harmonic + 1) / samples) * amplitude / 2
sample = int(sample)
if sample > max:
max = sample
elif sample < min:
min = sample
print("%d," % sample, end=' ')
if i % 10 == 9:
print()
print()
print('Range is:', min, max)
if max > 32767 or min < -32768:
print("Invalid range!")