import numpy as np def preprocess(frame, state): """48k PCM 帧(480, float32, 16-bit 域) -> (features(1,65), analysis)。 对应原版 rnnoise_process_frame 的 biquad + 特征分析部分。 state 为 dsp.RNNoiseState 实例(帧间状态,由 SDK 内部维护)。""" from .dsp import analyze_frame ana = analyze_frame(state, np.asarray(frame, dtype=np.float32).reshape(-1)) return ana["features"][None, :].astype(np.float32), ana