From ecd1c3949a4f5d1a19d8b73eec45002dbffe44fb Mon Sep 17 00:00:00 2001 From: SWivid Date: Thu, 22 May 2025 23:10:29 +0800 Subject: [PATCH] Add py312 check for tempfile delete_on_close keyword --- src/f5_tts/infer/infer_gradio.py | 5 +++-- src/f5_tts/infer/utils_infer.py | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/f5_tts/infer/infer_gradio.py b/src/f5_tts/infer/infer_gradio.py index dd97509..c6d1d9b 100644 --- a/src/f5_tts/infer/infer_gradio.py +++ b/src/f5_tts/infer/infer_gradio.py @@ -42,6 +42,7 @@ from f5_tts.infer.utils_infer import ( preprocess_ref_audio_text, remove_silence_for_generated_wav, save_spectrogram, + tempfile_kwargs, ) from f5_tts.model import DiT, UNetT @@ -190,7 +191,7 @@ def infer( # Remove silence if remove_silence: - with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as f: + with tempfile.NamedTemporaryFile(suffix=".wav", **tempfile_kwargs) as f: temp_path = f.name try: sf.write(temp_path, final_wave, final_sample_rate) @@ -201,7 +202,7 @@ def infer( final_wave = final_wave.squeeze().cpu().numpy() # Save the spectrogram - with tempfile.NamedTemporaryFile(suffix=".png", delete_on_close=False) as tmp_spectrogram: + with tempfile.NamedTemporaryFile(suffix=".png", **tempfile_kwargs) as tmp_spectrogram: spectrogram_path = tmp_spectrogram.name save_spectrogram(combined_spectrogram, spectrogram_path) diff --git a/src/f5_tts/infer/utils_infer.py b/src/f5_tts/infer/utils_infer.py index 1481628..a1f3111 100644 --- a/src/f5_tts/infer/utils_infer.py +++ b/src/f5_tts/infer/utils_infer.py @@ -45,6 +45,8 @@ device = ( else "cpu" ) +tempfile_kwargs = {"delete_on_close": False} if sys.version_info >= (3, 12) else {"delete": False} + # ----------------------------------------- target_sample_rate = 24000 @@ -306,7 +308,7 @@ def preprocess_ref_audio_text(ref_audio_orig, ref_text, show_info=print): ref_audio = _ref_audio_cache[audio_hash] else: # first pass, do preprocess - with tempfile.NamedTemporaryFile(delete_on_close=False, suffix=".wav") as f: + with tempfile.NamedTemporaryFile(suffix=".wav", **tempfile_kwargs) as f: temp_path = f.name aseg = AudioSegment.from_file(ref_audio_orig)