Commit Graph
29 Commits
Author SHA1 Message Date
Meisoftcoltd 4bfe6b3767 feat: Add Spanish tooltips to DemucsAudioSeparator node inputs
- Add ComfyUI "tooltip" property to all inputs in the `DemucsAudioSeparator` node
- Tooltips are provided in Spanish to explain functionality like `shifts`, `overlap`, `split`, etc.
- Did not add `bfloat16` to options as it's unsupported by cuFFT and would downgrade to `float32` anyways.
2026-03-10 16:14:50 +00:00
Meisoft 467343502a Merge pull request #18 from Meisoftcoltd/feat/add-instrumental-output-16819268978800064889
Add instrumental output to demucs separator
2026-03-10 16:28:41 +01:00
Meisoftcoltd d830020089 feat: add instrumental output to demucs separator
Added an "instrumental" boolean toggle and a corresponding output to the DemucsAudioSeparator node. The instrumental track is calculated by subtracting the isolated vocals from the original audio, producing a high-quality mix of all remaining instruments.
2026-03-10 14:10:24 +00:00
Meisoft 4e0535477a Merge pull request #17 from Meisoftcoltd/fix-torchaudio-linux-torchcodec-fallback-14439999902284925358
Fix: Audio loader fallback to bypass torchcodec on Linux
2026-03-03 20:31:52 +01:00
Meisoftcoltd a64a5dcf21 fix: fallback audio loader to soundfile and librosa to bypass torchcodec
Replaces default torchaudio.load() in LoadAudioDirectory.load_directory
with a fallback mechanism that strictly requests the 'soundfile' backend,
and falls back to librosa.load() if it fails. This prevents FFmpeg
linking errors related to torchcodec on Linux.

Also adds soundfile and librosa to requirements.txt.
2026-03-03 19:06:14 +00:00
Meisoft 50fa351e6e Merge pull request #16 from Meisoftcoltd/feature/load-audio-directory-7060279345027328408
Add LoadAudioDirectory node and consolidate category
2026-03-03 10:05:27 +01:00
Meisoftcoltd db898456bb Add LoadAudioDirectory node and consolidate category
- Added `LoadAudioDirectory` node to load multiple audio files from a local directory path, utilizing `torchaudio`.
- Set `OUTPUT_IS_LIST = (True,)` so that passing the list of audios to `DemucsAudioSeparator` processes them in a batch.
- Renamed the node category to `"🎵 Demucs-AudioSeparator ⚡"` for both nodes to make them easier to locate in the ComfyUI menu.
2026-03-03 09:03:30 +00:00
Meisoft 33f8dbe22b Merge pull request #12 from Meisoftcoltd/fix-multichannel-support-6461876103139872593
Fix Demucs crash on multi-channel audio input
2026-02-10 12:25:37 +01:00
Meisoftcoltd 0c52feada6 Fix Demucs crash on multi-channel audio by clipping to stereo 2026-02-10 10:57:14 +00:00
Meisoft 697a79cd13 Merge pull request #11 from Meisoftcoltd/fix-mono-precision-crashes-2457113261251558915
Fix Demucs crashes with Mono Audio and Float16 Precision
2026-02-09 18:05:49 +01:00
Meisoftcoltd 4e69507ff3 Fix mono input crash and float16 precision handling
- Automatically convert mono audio to stereo by duplicating the channel, as Demucs models require stereo input.
- Ensure audio is processed in `float32` during resampling to prevent `HalfTensor` vs `FloatTensor` mismatch errors in `torchaudio`.
- Convert waveform to the target precision (`dtype`) only after preprocessing is complete.
- Translating comments to English for consistency.
2026-02-09 17:05:30 +00:00
Meisoft 6997d18e6d Merge pull request #10 from Meisoftcoltd/fix-demucs-resampling-dtype-mismatch-12107738868486263628
Fix Demucs Audio Resampling Type Mismatch
2026-02-07 11:06:18 +01:00
Meisoftcoltd e742d85a80 Fix type mismatch in Demucs resampling
Force `float32` for audio waveform input during the resampling stage to match `torchaudio.transforms.Resample`'s default kernel weights (float32). This resolves a `RuntimeError` when using `float16` inputs ("Input type ... and weight type ... should be the same"). Resampling is now safely performed in single precision before inference.
2026-02-07 01:42:46 +00:00
Meisoft 392c67374f Merge pull request #9 from Meisoftcoltd/revert-8-feat/disk-processing-strategy-3132704803686557164
Revert "feat: implement disk-backed processing for large audio files"
2026-02-07 02:24:02 +01:00
Meisoft f261108959 Revert "feat: implement disk-backed processing for large audio files" 2026-02-07 02:09:01 +01:00
Meisoft 5d310a3fbe Merge pull request #8 from Meisoftcoltd/feat/disk-processing-strategy-3132704803686557164
feat: implement disk-backed processing for large audio files
2026-02-07 01:58:25 +01:00
Meisoftcoltd 2354505480 feat: implement disk-backed processing for large audio files
Adds a 'segment_strategy' option to DemucsAudioSeparator (Auto/Disk/RAM).
Implements `_process_segmented` which splits audio into chunks, processes them, and writes to memory-mapped files on disk.
This prevents Out-Of-Memory errors on system RAM when processing very large files (>1 hour).
2026-02-07 00:57:14 +00:00
Meisoft f097116518 Merge pull request #7 from Meisoftcoltd/fix-demucs-bfloat16-crash-9654348098237387628
Fix Demucs crash with bfloat16 and remove duplicate node
2026-02-03 03:37:20 +01:00
Meisoftcoltd cd0876b25e Fix Demucs crash with bfloat16 and remove duplicate node
- Removed `bfloat16` from `INPUT_TYPES` precision options.
- Added legacy handling for `bfloat16` inputs with a warning.
- Forced float32 for inference waveform to fix cuFFT error.
- Removed duplicate `DemucsProNode` legacy alias.
2026-02-03 02:36:46 +00:00
Meisoft 331b42b36b Merge pull request #6 from Meisoftcoltd/fix-demucs-indentation-11619987438678082600
Fix IndentationError in demucs_nodes.py
2026-02-03 02:49:03 +01:00
Meisoftcoltd a334dff56e Fix IndentationError in demucs_nodes.py and add .gitignore
- Wrapped the separation logic in `demucs_nodes.py` within a `separate` method.
- Added missing variable definitions (`dtype`, `model_name`).
- Added `.gitignore` to exclude `__pycache__`.
2026-02-03 01:47:51 +00:00
Meisoft 2f65a0ad66 Merge pull request #5 from Meisoftcoltd/fix/readme-and-renaming-7638010592883663595
Rename to ComfyUI-Demucs-AudioSeparator and update documentation
2026-01-27 02:13:49 +01:00
Meisoft dd8fc3c4a4 Merge branch 'main' into fix/readme-and-renaming-7638010592883663595 2026-01-27 02:13:34 +01:00
Meisoft bb6237c203 Merge pull request #4 from Meisoftcoltd/feature/improvements-and-optimizations-11378238060583550269
Improvements and Optimizations for Demucs Pro Node
2026-01-27 02:08:43 +01:00
google-labs-jules[bot]andMeisoftcoltd d7df79d0f5 chore: rename to ComfyUI-Demucs-AudioSeparator and update README
- 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>
2026-01-27 00:40:39 +00:00
google-labs-jules[bot]andMeisoftcoltd e2cd40e2bf feat: improve DemucsProNode with caching, precision, and optimizations
- Added global model caching with FIFO eviction policy.
- Added support for float16 and bfloat16 precision.
- Updated model list and names for Demucs v4 compatibility.
- Integrated ComfyUI native progress bar with robust callback.
- Updated README and node metadata with emojis (Bolt style).
- Fixed potential OOM and attribute errors.
- Updated requirements.txt with version constraints.

Co-authored-by: Meisoftcoltd <38667978+Meisoftcoltd@users.noreply.github.com>
2026-01-27 00:39:57 +00:00
Meisoft e6afc0891d Merge pull request #1 from Meisoftcoltd/feat/comfyui-demucs-pro-node-6159990026905988325
Create ComfyUI-Demucs-Pro Custom Node
2026-01-27 01:07:05 +01:00
google-labs-jules[bot]andMeisoftcoltd 83d304f4d4 Implement ComfyUI-Demucs-Pro custom node for audio separation
- Added demucs_nodes.py with DemucsProNode implementation.
- Added __init__.py for node registration.
- Added requirements.txt with necessary dependencies.
- Added README.md with comprehensive documentation and hardware recommendations.
- Integrated model management to download and load models from ComfyUI/models/demucs.
- Implemented resampling and support for shifts, overlap, and split parameters.

Co-authored-by: Meisoftcoltd <38667978+Meisoftcoltd@users.noreply.github.com>
2026-01-26 23:55:21 +00:00
Meisoft c20ac922b9 Initial commit 2026-01-27 00:39:35 +01:00