[Download Audio][Added] audio_bypass input.

This commit is contained in:
Salvador E. Tropea
2025-07-19 18:48:34 -03:00
parent 164515b9f5
commit 5bf9603aae
2 changed files with 9 additions and 2 deletions
+2 -1
View File
@@ -291,6 +291,7 @@ workflows, especially when dealing with multiple audio inputs or outputs.
- **Category:** `audio/io`
- **Description:** Downloads an audio file from a URL into the `ComfyUI/input/` directory if it's not already there, and then loads it as an audio signal. This is perfect for creating self-contained, shareable workflows with example audio.
- **Inputs:**
- `audio_bypass` (AUDIO, Optional): If an audio is provided here it will be used for the output. You can connect a `Load Audio` node here, if the connected node is muted (bypassed) we download the file, otherwise we use the audio from the `Load Audio` node.
- `base_url` (STRING): The URL of the directory containing the audio file.
- `filename` (STRING): The name of the file to download and load (e.g., `music.mp3`).
- `target_sample_rate` (INT): The sample rate to load the audio at. Set to `0` to use the file's original sample rate.
@@ -298,7 +299,7 @@ workflows, especially when dealing with multiple audio inputs or outputs.
- `audio` (AUDIO): The loaded audio signal.
- **Behavior Details:**
- **Caching:** The node checks the `ComfyUI/input/` folder first. If the file with the specified `filename` already exists, the download is skipped.
- **Resampling:** `librosa` is used to load the audio, and it will resample to `target_sample_rate` during loading if a non-zero value is provided.
- **Resampling:** `torchaudio` is used to load the audio, and it will resample to `target_sample_rate` during loading if a non-zero value is provided.
## 🚀 Installation
+7 -1
View File
@@ -1063,6 +1063,9 @@ class AudioDownload:
}),
# This is a magic input that will be converted to the audio player by ComfyUI frontend
"audioUI": ("AUDIO_UI", {}),
},
"optional": {
"audio_bypass": ("AUDIO", {"tooltip": "If this audio is present will be used instead of the downloaded one"}),
}
}
@@ -1075,7 +1078,10 @@ class AudioDownload:
DISPLAY_NAME = "Audio Download and Load"
OUTPUT_NODE = True
def load_or_download_audio(self, base_url: str, filename: str, target_sample_rate: int, audioUI: str):
def load_or_download_audio(self, base_url: str, filename: str, target_sample_rate: int, audioUI: str,
audio_bypass: Optional[Dict[str, Any]] = None):
if audio_bypass:
return (audio_bypass,)
# Determine the save directory: ComfyUI's input directory
save_dir = get_input_directory()
local_filepath = os.path.join(save_dir, filename)