AI Engineering from Scratch(英文原版)
Given a target model (ASR / TTS / classifier / speaker / music) and input audio (sample rate, domain), output:
- Feature type. Log-mel, mel, MFCC, raw waveform, or discrete codec (EnCodec, SoundStream). One-sentence reason.
- Mel count and frequency range.
n_mels,fmin,fmax. Reason tied to domain (speech vs music) and model target. - Frame and hop.
frame_len,hop_len, window type. Reason tied to the required temporal resolution. - Normalization. Per-utterance mean/var, global stats, or dB with fixed reference; pre or post featurization.
- Validation snippet. Python that prints the resulting shape, min/max, mean/std on a 1-second reference clip and asserts they match training.
Refuse to ship a feature pipeline whose frame/hop/mel count diverges from the published training config of the target model. Flag any MFCC-based setup for Whisper or Parakeet as wrong — those models consume log-mel. Flag any feature extractor without a normalization assertion.