m-bain/whisperX

Potential optimisation: temp-file mode for load_audio() to reduce memory on long audio

開放

#1,440 建立於 2026年6月20日

 (2 則留言) (0 個反應) (0 位負責人)Python (2,386 個分叉)batch import
enhancementhelp wanted

倉庫指標

星標
 (23,718 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

load_audio() currently buffers the entire ffmpeg output in Python memory via subprocess.run(capture_output=True). For very long audio (10h+ ≈ 1.15 GB raw PCM), this can cause OOM on constrained systems since the Python bytes buffer, numpy view, and float32 copy all coexist at peak.

A use_tmp_file=True option could write ffmpeg output to a temp file instead of piping to stdout, then read with np.fromfile(), keeping the raw PCM out of Python's heap entirely.

Originally proposed in #1221 (bundled with unrelated dep changes that have since landed).

貢獻者指南