- Renamed '🎵 Audio Analyzer' to '🌊 Audio Wave Analyzer' throughout project
- Updated all node display names, tooltips, documentation, and web interface
- Preserved class names and internal identifiers for ComfyUI compatibility
- Fixed nfe_step bug in F5-TTS nodes: limited max value to 71 to prevent ODE solver issues
- Added validation clamping and warning messages in F5-TTS Node and F5-TTS Edit Node
- Updated tooltips to warn about ODE solver issues above 71
- Prevent double display of manual regions after analysis
- Separate manual regions (green interface) from auto-detected (analysis results)
- Clear All button now only clears manual regions, preserves auto-detected
- Manual regions properly persist and accumulate across analyses
- Fixes visual duplication and incorrect clearing behavior
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Comment out routine operational logs while preserving important error messages:
- Removed setup, positioning, and data loading debug logs
- Kept error handling and user-facing warnings
- Added debug labels for easy re-enabling during development
- Console output now clean with only essential information
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
✅ All Scenarios Working:
- Scenario 1 (connected audio only): Perfect waveform + audio playback
- Scenario 2 (file path only): Perfect waveform + audio playback
- Scenario 3 (both inputs): Uses connected audio correctly (proper priority)
🔧 Key Fixes Applied:
1. **Method Context Fix**: Changed `this.setupAudioPlayback()` to `this.core.node.setupAudioPlayback()`
- Fixed the core issue where filename was being transformed incorrectly
- Method was being called on wrong object context
2. **Priority Logic**: Connected audio properly takes priority over file paths
- Python backend respects priority: connected audio → file audio
- JavaScript respects same priority in playback setup
3. **File Path Handling**: Fixed filename vs full path issues
- Python provides correct filenames for web access
- JavaScript receives and uses correct paths for ComfyUI API
4. **Duplicate Prevention**: Added audio setup deduplication
- Prevents multiple audio loading causing playback issues
- Clears setup state when new analysis starts
🎵 Final Working State:
- Real waveform analysis data (no more fake test data)
- Proper audio playback for all input types
- Connected audio saved as temporary WAV files for web access
- Priority handling matches tooltip description
- No more "unstoppable audio" or duplicate loading bugs
The connected audio functionality is now fully implemented and working\!
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements:
✅ Connected audio input now works with both waveform display and audio playback
✅ Python backend saves connected audio tensor as WAV file for web access
✅ JavaScript detects and uses saved audio file for playback
✅ Real analysis data is now properly displayed instead of fake test data
Changes:
- Python: Save connected audio as `connected_audio_{node_id}.wav` in input directory
- Python: Add `web_audio_filename` to visualization data for JavaScript
- JavaScript: Use `web_audio_filename` for playback when available
- JavaScript: Fix multiple temp file URL attempts for better compatibility
- JavaScript: Add safety checks to prevent undefined function errors
Known issues to fix next:
- Priority handling: When both audio_file and audio input exist, should play connected audio
- Duplicate audio loading causing multiple playback instances
- Audio loading happens multiple times instead of once
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add console logs to onExecuted to see if real data is received
- Add console logs to tryWebFileData to trace temp file fetch attempts
- Add console logs when generating fake test data to identify when/why it happens
- This will help identify where in the execution flow real data gets lost
Next: Test with connected audio and check console logs to see execution flow
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add proper ended event listener to actual audio element in interface
- Fix infinite animation loops after audio ends naturally
- Add multiple safeguards in updatePlayhead() for race conditions
- Stop both playhead and visualization animation loops on audio end
- Ensure play button resets to "Play" when audio finishes
- Copy audio files to ComfyUI input directory for web access
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix waveform data display with real audio (30s duration vs fake 10.79s)
- Implement working cache system using web directory for JS-Python data transfer
- Add green region overlays showing detected silence/speech segments
- Fix RMS line zoom/pan compatibility with different data structures
- Consolidate UI layout with single-row button arrangement
- Reduce container height to fit properly within ComfyUI nodes
- Clean up debug logging for better console output
- Implement robust error handling for visualization rendering
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>