From d7df79d0f52533a4864882f9dbe7c1ec7d719315 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 27 Jan 2026 00:40:39 +0000 Subject: [PATCH] chore: rename to ComfyUI-Demucs-AudioSeparator and update README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Renamed repository references in README.md from 'ComfyUI-Demucs-Pro' to 'ComfyUI-Demucs-AudioSeparator'. - Removed specific mentions of RTX 3090 optimizations and recommendations from README.md. - Updated node class to 'DemucsAudioSeparator' and category to '🎵 Audio/Separation'. - Added 'DemucsProNode' as a legacy alias in NODE_CLASS_MAPPINGS to maintain backward compatibility. - Applied 'Bolt' persona guidelines with emojis in display names and console logs. - Cleaned up __pycache__ artifacts. Co-authored-by: Meisoftcoltd <38667978+Meisoftcoltd@users.noreply.github.com> --- README.md | 11 +++++------ __init__.py | 8 +++++--- demucs_nodes.py | 12 ++++++------ 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 0f1e38f..8f0ba02 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ComfyUI-Demucs-Pro +# ComfyUI-Demucs-AudioSeparator Nodo personalizado para ComfyUI que permite la separación de fuentes de audio utilizando la tecnología **Meta Demucs (v4)**. Ideal para extraer voces, baterías, bajos y otros instrumentos con alta fidelidad. @@ -6,14 +6,14 @@ Nodo personalizado para ComfyUI que permite la separación de fuentes de audio u - **Soporte Demucs v4**: Incluye modelos Hybrid Transformer (HTDemucs). - **Separación de hasta 6 pistas**: Voces, Batería, Bajo, Otros, y soporte para Guitarra y Piano (en modelos compatibles). -- **Optimizado para NVIDIA RTX 3090**: Aprovecha la aceleración CUDA para procesos ultrarrápidos. +- **Aceleración CUDA**: Aprovecha la potencia de la GPU para procesos ultrarrápidos. - **Descarga Automática**: Los modelos se descargan automáticamente a `ComfyUI/models/demucs`. - **Estabilidad Mejorada**: Opción `split` para evitar errores de memoria (OOM) en audios largos. ## Instalación ### Vía ComfyUI Manager (Recomendado) -1. Busca `ComfyUI-Demucs-Pro` en el Manager. +1. Busca `ComfyUI-Demucs-AudioSeparator` en el Manager. 2. Haz clic en Install. 3. Reinicia ComfyUI. @@ -21,7 +21,7 @@ Nodo personalizado para ComfyUI que permite la separación de fuentes de audio u 1. Clona este repositorio en tu carpeta `custom_nodes`: ```bash cd ComfyUI/custom_nodes - git clone https://github.com/usuario/ComfyUI-Demucs-Pro + git clone https://github.com/usuario/ComfyUI-Demucs-AudioSeparator ``` 2. Instala las dependencias: ```bash @@ -46,8 +46,7 @@ Nodo personalizado para ComfyUI que permite la separación de fuentes de audio u ## Recomendaciones de Hardware -Para un rendimiento óptimo, se recomienda el uso de GPUs de gama alta: -- **NVIDIA RTX 3090 / 4090**: Rendimiento excepcional, permitiendo procesar canciones completas en segundos con altos valores de `shifts`. +Para un rendimiento óptimo, se recomienda el uso de GPUs con aceleración CUDA: - **VRAM**: Se recomienda al menos 8GB para modelos `htdemucs`. Si encuentras errores de memoria, asegúrate de tener activada la opción `split`. ## Reporte de Errores diff --git a/__init__.py b/__init__.py index 563b0dc..ee7fbdd 100644 --- a/__init__.py +++ b/__init__.py @@ -1,11 +1,13 @@ -from .demucs_nodes import DemucsProNode +from .demucs_nodes import DemucsAudioSeparator NODE_CLASS_MAPPINGS = { - "DemucsProNode": DemucsProNode + "DemucsAudioSeparator": DemucsAudioSeparator, + "DemucsProNode": DemucsAudioSeparator # Legacy support } NODE_DISPLAY_NAME_MAPPINGS = { - "DemucsProNode": "Demucs Pro (Audio Separation)" + "DemucsAudioSeparator": "🎵 Demucs Audio Separator ⚡", + "DemucsProNode": "🎵 Demucs Audio Separator (Legacy) ⚡" } __all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"] diff --git a/demucs_nodes.py b/demucs_nodes.py index 4a7961c..257fb85 100644 --- a/demucs_nodes.py +++ b/demucs_nodes.py @@ -19,7 +19,7 @@ except ImportError: from demucs.pretrained import get_model from demucs.apply import apply_model -class DemucsProNode: +class DemucsAudioSeparator: @classmethod def INPUT_TYPES(cls): return { @@ -42,7 +42,7 @@ class DemucsProNode: RETURN_TYPES = ("AUDIO", "AUDIO", "AUDIO", "AUDIO", "AUDIO", "AUDIO", "JSON") RETURN_NAMES = ("vocals", "drums", "bass", "other", "guitar", "piano", "metadata") FUNCTION = "separate" - CATEGORY = "Audio/DemucsPro" + CATEGORY = "🎵 Audio/Separation" def separate(self, audio, model, device, shifts, overlap, split, vocals, drums, bass, other, guitar, piano): # Configure model path @@ -54,13 +54,13 @@ class DemucsProNode: # Determine device if device == "cuda" and not torch.cuda.is_available(): - print("CUDA not available, falling back to CPU") + print("⚡ CUDA not available, falling back to CPU") device = "cpu" device_obj = torch.device(device) # Load model - print(f"Loading Demucs model: {model}...") + print(f"⚡ Loading Demucs model: {model}...") try: model_inst = get_model(model) except Exception as e: @@ -81,12 +81,12 @@ class DemucsProNode: # Resample if necessary if sr != model_inst.samplerate: - print(f"Resampling audio from {sr} to {model_inst.samplerate}...") + print(f"⚡ Resampling audio from {sr} to {model_inst.samplerate}...") resampler = torchaudio.transforms.Resample(sr, model_inst.samplerate).to(device_obj) waveform = resampler(waveform) # Apply model - print(f"Separating audio with {model} (shifts={shifts}, overlap={overlap}, split={split})...") + print(f"⚡ Separating audio with {model} (shifts={shifts}, overlap={overlap}, split={split})...") try: with torch.no_grad(): # apply_model expects [batch, channels, samples] or [channels, samples]