summaryrefslogtreecommitdiff
path: root/tools/gen_sine_440.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gen_sine_440.py')
-rw-r--r--tools/gen_sine_440.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/gen_sine_440.py b/tools/gen_sine_440.py
new file mode 100644
index 0000000..6458dc8
--- /dev/null
+++ b/tools/gen_sine_440.py
@@ -0,0 +1,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")