blob: 6458dc8cdda77abdb0a7edef4b7f1b847b826dc7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/usr/bin/env python3
import wave, struct, math
SAMPLE_RATE = 32000
FREQ = 440.0
DURATION = 1.0
AMPLITUDE = 32767
samples = [int(AMPLITUDE * math.sin(2 * math.pi * FREQ * i / SAMPLE_RATE))
for i in range(int(SAMPLE_RATE * DURATION))]
with wave.open("sine_440.wav", "w") as f:
f.setnchannels(1)
f.setsampwidth(2)
f.setframerate(SAMPLE_RATE)
f.writeframes(struct.pack(f"<{len(samples)}h", *samples))
print(f"Written sine_440.wav: {FREQ}Hz, {DURATION}s, {SAMPLE_RATE}Hz mono")
|