diff --git a/vllm_omni/model_executor/models/common/ming/audio_dsp.py b/vllm_omni/model_executor/models/common/ming/audio_dsp.py index d32415352..d94370bb8 100644 --- a/vllm_omni/model_executor/models/common/ming/audio_dsp.py +++ b/vllm_omni/model_executor/models/common/ming/audio_dsp.py @@ -219,7 +219,8 @@ class ISTFTHead(FourierHead): # phase = torch.atan2(y, x) # S = mag * torch.exp(phase * 1j) # better directly produce the complex value - S = mag * (x + 1j * y) + # float32 operands: bf16 promotes to bcomplex32, which torch.fft cannot handle + S = mag.float() * (x.float() + 1j * y.float()) audio, audio_buffer, window_buffer = self.istft( S, audio_buffer=audio_buffer, window_buffer=window_buffer, streaming=streaming, last_chunk=last_chunk )