能量几乎全在 5 kHz
以下,高频基本是空的,左右声道逐样本都不相等(L == R 占比
0.000),谱型却几乎一致,是典型的一段宽频噪声,听不出任何旋律或语句。题面那句
did I hear that correctly?
指向听觉域,但重放、反向、左右对调都得不到可懂内容。载荷不在时间轴上,而在频谱平面上。
#!/usr/bin/env python3 """HackThisSite Steganography 2 - render the spectrogram that carries the password. The WAV is 22050 Hz / stereo / 10 s of band-limited noise. Nothing in it is audible: the payload is *painted* into the spectrum, so the blocky characters show up only once the signal is drawn as a time/frequency image. Usage: uv run --with numpy --with pillow python render_spec.py 2.wav out.png """ import sys import wave
import numpy as np from PIL import Image
NFFT, HOP = 1024, 64# ~46 ms window, 2.9 ms hop FMAX = 2000# the text sits in the low band DYNAMIC_RANGE = 70.0# dB of the colour ramp
defload_mono(path): with wave.open(path, "rb") as w: sr = w.getframerate() frames = w.readframes(w.getnframes()) channels = w.getnchannels() pcm = np.frombuffer(frames, dtype=np.int16).astype(np.float64) pcm = pcm.reshape(-1, channels).mean(axis=1) return sr, pcm