mirror of
https://github.com/cjfranko/NTP-Timeturner.git
synced 2025-11-08 18:32:02 +00:00
36 lines
902 B
Python
36 lines
902 B
Python
#!/usr/bin/env python3
|
|
|
|
"""
|
|
test_audioinput.py
|
|
Records 2 seconds of audio from the default input device
|
|
and saves the waveform as 'waveform.png' — works headless.
|
|
"""
|
|
|
|
import numpy as np
|
|
import matplotlib
|
|
matplotlib.use('Agg') # Headless backend
|
|
import matplotlib.pyplot as plt
|
|
import sounddevice as sd
|
|
|
|
DURATION = 2 # seconds
|
|
SAMPLERATE = 48000
|
|
CHANNELS = 1
|
|
|
|
print("🔊 Recording 2 seconds from default input device...")
|
|
recording = sd.rec(int(DURATION * SAMPLERATE), samplerate=SAMPLERATE, channels=CHANNELS, dtype='float32')
|
|
sd.wait()
|
|
|
|
# Generate time axis
|
|
time_axis = np.linspace(0, DURATION, len(recording))
|
|
|
|
# Plot and save
|
|
plt.figure(figsize=(10, 4))
|
|
plt.plot(time_axis, recording, linewidth=0.5)
|
|
plt.title("Audio Input Waveform")
|
|
plt.xlabel("Time [s]")
|
|
plt.ylabel("Amplitude")
|
|
plt.grid(True)
|
|
plt.tight_layout()
|
|
plt.savefig("waveform.png")
|
|
|
|
print("✅ Waveform saved as 'waveform.png'")
|